Selasa, 17 April 2012

UNIX dan LINUX


Pengenalan UNIX dan LINUX Secara Umum

Unix adalah nama sebuah system operasi yang asal mulanya dikembangkan pada Laboratorium Bell. Sistem operasi adalah perangkat lunak komputer yang mengatur dan mengendalikan operasi dasar system komputer.Unix terdiri atas sejumlah program (daftar instruksi untuk memperoleh hasil tertentu) yang dirancang untuk mengontrol interaksi antara fungsi-fungsi pada mesin yang beraras rendah dengan program aplikasi. Tugas dari system opersi diantaranya :
·         Melakukan fungsi manajemen system berkas
·         Mengendalikan berbagai sesumber pada system,seperti disk dan  printer
·         Mengatur sejumlah pemakai yang menggunakan system bersamaan
·         Membentuk penjadualan proses-proses didalam system.

Sejarah UNIX
Ken Thompson dari Laboratorium Bell membuat versi awal dari UNIX dengan nama UNICS (UNIplexed Information and Computing Service), suatu nama yang dipengaruhi oleh system operasi pendahulunya, MULTICS (MULtiplexed Information and Computing Services). MULTICS sendiri juga di ciptakan oleh Ken Thompson dan rekan-rekannya. Versi pertama UNIX diselesaikan pada tahun 1969, ditulis dengan bahasa rakitan (assembly) pada computer PDP-7 (sebuah komputer keluaran Digital Equpment Corporation).
Pada tahun 1973, Ken Thompson dan Dennis Ritchie menulis ulang Kernel- bagian inti dari system UNIX- dengan bahasa C. Perkembangan inilah yang membuat UNIX kini dapat diterapkan pada berbagai mesi, menginagat C adalah bahasa yang bersifat portable ( mudah di pindahkan).
Pemakaian UNIX pada mesin lain dimulai pada tahun 1976/1977. Saat itu, Dennis Ritchie dan Stephen  Johnson berhasil memindahhkan system UNIX ke mesin Interdata 8/32. Hal inilah yang menjadi tonggak sejarah yang menunjukkan keportabilitas UNIX
Sekitar tahun 1975 Laboratorium Bell mulai memberikan UNIX  ke universitas-universitas dengan imbalan yang sangat murah. Salah satu universitas yang akhirnya melahirkan UNIX yang sangat popular adalah Universitas California, Barkeley. Versi UNIX-nya terkenal dengan sebutan BSD (Barkeley Software Distribution).
Lisensi UNIX yang bersifat komersial diberikan pertama kali oleh AT&T ke System Onyx, sebuah perusahaan yang didirikan oleh Bob Marsh dan Kip Myers pada tahun 1978. Saat itu UNIX dianggap sebagai system operasi yang ampuh untuk menangani system dengan 16 bit.
Pada dekade 80-an, UNIX berkembang dengan pesat, termasuk pada PC. Salah satu system UNIX pada PC yang terkenal adalah XENIX (Santa Cruz Operation), yang merupakan mitra Microsoft. Pada dekade ini pula lahir system V  (1984, dikembangkan di Computing Science Research Group, Bell Laboratories, New Jersey) yang menjadi kiblat dari kebanyakan versi UNIX. Selain itu, pada tahun 1984 juga terdapat proyek yang disebut GNU (GNU’s not Unix) yang dikembangkan oleh the Free Software Foundation (FSF). Tujuan dari proyek ini adalah membangun system semacam UNIX yang bersifat bebas-royalti bagi pemrogram dan pengembang. Proyek inilah yang dikemudian hari mendasari system operasi Linux.
Mulai pertengahan 90-an, Linux (cloning dari system operasi UNIX yang diciptakan oleh Linus Torvalds dan dipublikasikan pertama kali sekitar November 1991) mulai naik daun di lingkungan PC dan menjadi pesaing Microsoft Windows. Memasuki tahun 2000, Linux terus berkibar. Dengan konsep “open source” (kode program bisa di lihat dan dikembangkan oleh siapa saja) dan gratis, banyak pemakai, terutama dilingkungan kampus, yang tertarik menggelutinya. Dukungan aplikasi yang kian meluas, dari aplikasi perkantoran, multimedia, hingga database, yang kebanyakan bersifat gratis, membuat kalangan pemakai Linux tumbuh dengan cepat. Kini muncul banyak distribusi Linux, antara lain :
·         Red Hat
·         Mandrake
·         Slackware
·         Debian,dan
·         SuSe

Keistimewaan UNIX
Portabilitas
Sistem UNIX mudah diadaptasikan ke system komputer yang lain. Sifat portabilitas ini membawa UNIX dapat dipakai pada berbagai jenis komputer. Kini UNIX telah menyebar pada berbagai jenis system, dari notebook , mikrokomputer (PC), hingga mainframe. Perusahaan-perusahaan komputer yang besar seperti IBM Sun  Microsystems juga mengeluarkan komputer yang berbasis UNIX.
Bagi pemakai, hal seperti ini sangatlah menguntungkan. Mengapa menguntungkan? Sebab portabilitas berarti ketidak bergantungan pada satu perangkat keras. Ini berarti pemakai tidak perlu terpaku pada satu vendor. Untuk beralih dari suatu system UNIX ke system UNIX lainnya dapat dilakukan dengan mudah. Hal ini tidak hanya terbatas pada systemnya saja, melainkan juga pada aplikasinya. Program aplikasi yang berjalan pada suatu system UNIX dapat dipindahkan ke system UNIX lainnya, dengan jalan mentransfer program sumber dan kemudian melakukan kompilasi lagi pada system UNIX yang baru. Bahkan beberapa aplikasi bersifat kompatibel dalam bentuk obyek, sehingga tidak diperlukan proses kompilasi. 
Multiuser
Multiuser berarti sejumlah orang (pemakai) dapat menggunakan system secara bersamaan dan berbagi sesumber (disk, printer dan sebagainya ). UNIX mendukung keperluan seperti ini.
Keuntungan dengan adanya sifat multiuser:
·         Penghematan perangkat keras
Sebab perangkat keras (misalnya printer, disk) dapat dipakai oleh orang banyak
·         Data dapat diakses oleh orang banyak secara serentak
Ini berarti tidak ada penduplikasian data. Selain itu konsistensi data lebih terjamin.
Mutitasking
Seseorang pemakai dapat melakukan beberapa pekerjaan dalam waktu yang bersamaan dari sebuah terminal. Pekerjaan-pekerjaan yang tidak memerlukan interaksi dari pemakai (seperti melakukan pengurutan data dan pengecekan kosa kata) bisa dilaksanakan di latar belakang. Pemrosesan ini memungkinkan saat suatu pekerjaan sedang dilaksanakan oleh system, pemakai dapat melakukan tugas-tugas lain.
Kemampuan system operasi yang memungkinkan seseorang dapat melaksanakan beberapa tugas pada saat bersamaan bisa dinamakan Multitasking.
Sistem berkas yang hierarkis
Sistem berkas yang hierarkis memungkinkan pemakai mengorganisasikan informasi atau data dalam bentuk yang mudah untuk diingat dan mudah untuk mengaksesnya. Informasi-informasi yang ada dapat diatur misalnya dikelompokkan per pemakai atau berdasarkan suatu departemen.
Shell UNIX
Shell UNIX menjadi jembatan antara pemakai dan system. Ia bertindak sebagai penerjemah perintah yang sangat bermanfaat bagi pemakai. Kemampuan shell mencakup dua hal :
·         Modus interaktif dan
·         Modus pemrograman
Pada mode interaktif, pemakai dapat memberikan perintah dan kemudian shell akan mengerjakan perintah yang diberikan. Hal ini dapat diulang-ulang sebab begitu shell telah selesai menjalankan perintah, shell akan menunggu pemakai memberikan perintah kembali.
Pada modus pemrograman, pemakai dapat menyusun suatu program yang berupa sejumlah perintah yang biasa disebut skrip shell. Selanjutnya, shell akan mengerjakan perintah-perintah tersebut secara berurutan. Hal seperti ini sangat bermanfaat untuk menangani pekerjaan yang bersifat ritin. Pada modus ini pemakai dapat membuat suatu prototype suatu kegiatan tanpa harus menggunakan bahasa pemograman seperti C.
Baik pada mode interaktif maupun pemograman, pemakai dapat dengan mudah mengarahkan keluaran-keluaran perintah yang normalnya ke layar menjadi ke satu berkas. Bahkan pemakai dapat juga mengaatur agar hasil suatu perintah menjadi masukan bagi perintah yang lain.
Utilitas
Sistem operasi UNIX tersusun atas sejumlah program, yang antara lain berupa utilitas. Utilitas-utilitas yang tersedia pada UNIX mempunyai tugas yang bermacam-macam, antara lain berhubungan dengan :
·         Manajemen berkas
·         Penyunting berkas
·         Pendukung komunikasi
·         Pendukung pengembangan perangkat lunak.
Dengan mengombinasikan utilitas-utilitas yang ada, pemakai dapat membuat program baru untuk melaksanakan tugas seperti yang diharapkan. Hal ini dapat dilakukan dengan cepat dan mudah.
Struktur system operasi Unix (Hardware & Software)
Struktur Perangkat Keras
Sistem komputer yang berbasis UNIX tidak lepas dari aspek perangkat lunak (software), tetapi juga melibatkan perangkat keras (hardware). Perangkat keras menyatakan berbagai fisik dari komputer. Perangkat keras tersebut adalah :
·         Unit system
·         Konsol
·         Terminal
·         Printer
·         Jalur komunikasi
Unit system mencakup unit pemroses pusat (CPU, Central Processing Unit), memory (penyimpan informasi) dan media penyimpan hard disk serta peranti untuk  keperluan backup (membuat cadangan data) seperti floppy disk dan magnetic tape.
Konsol adalah peranti yang terdiri dari layar dan keyboard yang dipakai oleh manajer system (administrator system) untuk mengontrol operasi system. Pesan-pesan kesalahan system ditampilkan pada peranti ini. Peranti ini juga dapat diopersikan sebagai terminal bagi pemakai.
Terminal adalah peranti yang terdiri dari layar dan keyboard yang bisa digunakan oleh pemakai untuk berinteraksi dengan system. Suatu terminal dapat terhubung ke system secara langsung ataupun terhubung lewat jalur komunikasi (misalnya telpon) dan modem (alat pengubah dari sinyal digital pada komputer menjadi sinyal analog pada telpon dan sebaliknya). Sebuah terminal juga bisa berupa PC yang telah dilengkapi dengan program emulasi terminal (seperti TERN, PROCOM+). Program telnet pada lingkungan Windows juga bisa digunakan untuk melakukan koneksi ke system UNIX.
Jalur komunikasi adalah peranti yang biasa digunakan untuk menghubungkan terminal jarak jauh ke system UNIX ataupun menghubungkan system dengan system UNIX yang lain atau mainframe.
Printer adalah peranti yang digunakan untuk memperoleh informasi dalam kertas.
Struktur perangkat Lunak
Komponen-komponen penting dalam perangkat lunak UNIX berupa :
·         Kernel
·         Shell
·         Utilitas
·         Aplikasi
Kernel
Kernel adalah inti dari system UNIX, yang mengontrol perangkat keras dan membentuk berbagai fungsi beraras rendah. Fungsi-fungsi yang dilaksanakan oleh kernel :
·         Pelayanan tanggal dan jam system
·         Manajemen berkas dan penanganan sekuriti
·         Pelayanan operasi masukan dan keluaran
·         Manajemen dan penjadualan proses
·         Manajemen memory
·         Melakukan kegiatan akuntansi system
·         Melakukan penanganan kesalahan dan interupsi
Bagian-bagian lain dari UNIX, seperti aplikasi dan shell, memanggil kernel untuk membentuk layanan kepadanya. UNIX menyediakan antar muka antara bagian luar kernel dan kernel sendiri, berupa system call (pemanggilan system). Setiap pemanggilan system mengintruksikan kernel untuk membantuk layanan tertentu sesuai dengan permintaan program yang memanggilnya. Sebagai contoh kalau suatu program hendak membaca data dari terminal, program perlu menyampaikan permintaan ke kernel. Kernel akan melakukan tindakan yang sesuai dengan permintaan program, kemudian menyampaikan hasilnya ke program.
Shell
Shell adalah penerjemah pada system UNIX perangkat lunak inilah yang mejadi jembatan antara pemakai dan system UNIX. Pemakai cukup memberikan perintah dan shell yang akan menanganinya. Perintah sendiri dapat berupa :
·         Perintah built-in
Perintah yang merupakan bagian internal dari shell
·         Perintah eksternal
Perintah yang bukan berupa bagian internal dari shell (dapat berupa utilitas atau program aplikasi).
Ada beberapa jenis shell yang beredar saat ini. Empat di antaranya yang sangat menonjol adalah
·         Bourne shell,
·         C shell,
·         Korn shell,dan
·         Bourne Again shell.
Bourne shell adalah jenis shell yang tertua pada system UNIX. Nama shell ini berdasarkan nama penciptanya Stephen R. Bourne, dari Laboratorium Bell, AT&T. Shell ini diperkenalkan pertama kali pada akhir 70-an dan dipakai sebagai shell utama pada UNIX yang berkiblat AT&T.
C shell diciptakan oleh Bill Joy. Shell ini menjadi standar pada system UNIX versi Barkeley. Format perintah menyerupai bahasa C. Kini muncul versi pengembangannya yang disebut tesh.
Korn shell adalah shell yang diciptakan oleh David Korn di Laboratorium Bell, AT&T pada tahun 1983. Namun, shell ini baru dipublikasikan pada tahun 1986. Shell ini bersifat kompatibel dengan Bourne shell, artinya perintah-perintah yang didukung Bourne shell juga dapat dijalankan pada korn shell.
Bourne Again Shell (bash) populer di lingkungan Unix. Shell ini dibuat dengan menyertakan fitur yang terdapat pada Korn Shell dan C Shell dan tentu saja bersifat kompatibel dengan Bourne Shell.
Utilitas
Utilitas adalah program yang disediakan system UNIX untuk melaksanakan tugas tertentu. Jumlahnya banyak sekali dengan fungsi yang beraneka ragam.
Beberapa kelompok utilitas dilihat dari fungsinya :
·         Utilitas manajemen berkas dan direktori
Utilitas kelompok ini sangat bermanfaat untuk melakukan tugas yang berhubungan dengan berkas dan direktori, misalnya untuk membuat direktori dan menghapus berkas.
·         Utilitas penyunting berkas
Utilitas ini sering disebut editor, sangat bermanfaat untuk membuat program atau menyimpan informasi tertentu ke dalam berkas.
·         Utilitas penunjang komunikasi dan jaringan
Utilitas ini bermanfaat untuk melakukan komunikasi antar pemakai.
Bahkan pemakai dapat mentransfer data antarsistem.
·         Utilitas administrasi system
Utilitas ini berguna bagi administrator system untuk mengelola  system. Misalnya untuk menciptakan nama pemakai baru dan mendaftarkan printer pada system.
·         Utilitas pemrograman C
Utilitas ini berguna untuk membuat program aplikasi dengan bahasa C.
·         Utilitas penganalisis unjuk kerja system
Utilitas ini dapat digunakan oleh administrator system untuk menganalisis unjuk kerja system, sehingga dapat melakukan penyetelan guna meningkatkan unjuk kerja.
·         Utilitas untuk keperluan backup dan restore
Utilitas ini bermanfaat untuk menyalin atau memindahkan data atau program ke media eksternal seperti magnetic tape, atau sebaliknya.
Program aplikasi
Aplikasi adalah program-program yang dibuat oleh pemakai, untuk memenuhi kebutuhannya sendiri. Program-program ini dapat dibuat dengan menggunakan sejumlah utilitas, perintah built-in milik shell, ataupun dibangun dengan bahasa pemograman seperti C,COBOL, atau Python dan berbagai development tool seperti Oracle dan Informix. Bisa juga berupa program paket yang dibeli dari pemasok perangkat lunak.
Struktur direktori dan file Unix
Berkas pada UNIX dikelompokkan menjadi 3 golongan utama, berupa :
·         Berkas biasa
·         Direktori
·         Berkas special
Sturktur berkas system UNIX bersifat hierarkis, manyerupai pohon yang terbalik. Puncaknya berupa root (/). Kemudian, di bawahnya terdapat beberapa cabang yang disebut direktori yang lain atau berupa berkas(bukan directori).
Setiap pemakai mempunyai home directory, yaitu directory yang dituju pertama kali saat login. Nama home directory dapat diketahui dengan memberikan perintah :
·         Echo $HOME (pada Bourne shell,Bourne Again shell, dan Korn shell)
·         Echo~(pada C shell, Bourene Again shell, dan Kor Shell)
Direktory tempat pemakai sedang bekerja disebut directory kerja. Nama directory kerja dapat diperoleh dengan memberikan perintah pwd.
Nama path  berkas digunakan untuk mengacu suatu nama berkas. Nama path dapat berupa absolut  maupun relative. Nama path absolute selalu dimulai dari root (dimulai dengan /). Nama path relative bertolak dari direktori kerja.
Perintah dalam UNIX
Suatu perintah UNIX dapat berupa nama perintah kemudian diikuti dengan pilihan dan argument. Formatnya :
Nama_perintah[pilihan][argument…]
Suatu pilihan pada perintah UNIX umumnya diawali dengan tanda minus.
Kalau ada beberapa pilihan dalam suatu perintah, pilihan dapat digabungkan dengan hanya menggunakan sebuah tanda minus. Dalam hal ini , urutan pilihan dapat dibolak-balik.
·         Who = untuk mengetahui para pemakai system
·         Who am I = untuk menampilkan nama pemakai system yang memberikan perintah ini
·         Logname = Untuk menampilkan nama pemakai system yang memberikan perintah ini
·         Cal = untuk menampilkan kalender
·         Man = Untuk menampilkan dokumentasi online dari suatu perintah
Masuk dan keluar ke/dari unix
Untuk masuk ke system UNIX (login) diperlukan nama pemakai dan password. Untuk mengubah password gunakan perintah passwd. Dalam mengetikkan suatu perintah, huruf kecil dan capital mempunyai makna yang berbeda
Perintah untuk keluar dari system UNIX :
·         Exit atau <Ctrl-D> untuk Bourne shell, Bourne Again Shell, dan Korn Shell
·         Logout atau <Ctrl-D> untuk C shell dan Bourne Again Shell
Pengolahan Directory
Suatu nama directory pada dasarnya sama dengan penamaan berkas. Operasi-operasi yang bisa dilakukan pada directory :
·         Mengetahui direktori kerja dengan pwd
·         Membuat direktori baru dengan mkdir
·         Menghapus directori yang kosong dengan rmdir
·         Menghapus direktori yang berisi berkas dengan rm-r
·         Memindah directori kerja dengan cd
·         Memindahkan berkas-berkas ke suatu direktori dengan mv
Permisi akses berkas
Permisi untuk mengakses berkas atau direktori diterapkan pada tiga jenis pemakai, yaitu :
·         Owner (pemilik)
·         Group
·         Other
Adapun jenis pengaksesan yang ada berupa :
·         Read
·         Write
·         Execute
Pada unix terdapat jenis pemakai yang mempuyai wewenang tertinggi dalam mengakses berkas-berkas yang ada pada system, yaitu disebut superuser.
Perintah-perintah yang berhubungan dengan permisi akses :
·         Is-l untuk mengetahui permisi akses suatu berkas
·         Chmod untuk mengubah permisi akses suatu berkas atau direktori
·         Chown untuk mengubah kepemilikan berkas
·         Chgrp untuk mengubah group yang tercatat pada berkas
·         Umask untuk menentukan permisi akses terhadap penciptaan berkas atau direktori
Editor vi
Vi adalah editor teks yang berorientasi pada layar. Ada tiga jenis modus pada vi, yaitu :
·         Modus penyisipan
·         Modus perintah
·         Modus baris akhir
Untuk menyimpan teks dan keluar dari vi pemakai dapat memberikan perintah :
·         ZZ
·         :wq
·         :x
Untuk keluar dari vi tanpa perlu melakukan penyimpanan perintahnya berupa :
:q!
Perintah a,i,A,I,o,O berguna untuk melakukan penyisipan teks
Perintah-perintah yang berhubungan dengan penyuntingan teks :
·         Menghapus teks (umumnya diawali dengan d)
·         Mengubah teks (umumnya diawali dengan c)
·         Membatalkan penghapusan atau penyuntingan (u dan U)
Kebanyakan perintah vi dapat diberi factor pengulang. Misalnya untuk menghapus 5 buah karakter, perintahnya bisa berupa 5x. untuk perintah yang terdiri dua karakter (seperti dd dan dW), factor pengulangan dapat diletakkan di depan perintah (contoh 5dd) atau diantara dua karakter perintah (contoh d5d)



1 komentar: