Pages

Minggu, 08 Januari 2012

Shell dan Kernel

Shell dan kernel adalah sebuah sistem yang sangat penting yang ada pada sistem operasi UNIX dan Linux, tanpa shell dan kernel sistem operasi tersebut tidak akan dapat berjalan. 
Shell adalah penterjemah pada sistem unix yang merupakan jembatan antara pemakai dan sistem unix, shell sendiri memiliki beberapa jenis antara lain :
a.       BourneShell(sh)
sh adalah shell standar Unix yang dibuat tahun 1979 oleh Stephen Bourne dari AT&T dengan memakai bahasa pemrograman Algol. sh terkenal karena sederhana, compact, and cepat. Kelemahannya adalah kurang interkatif seperti tidak ada history, aliasing, dan job control. Default prompt shell sh adalah $ (dolar).
b.       C-Shell(csh)
csh memiliki feature yang lebih lengkap dibandingkan sh. Shel ini dibuat tahun 1970an oleh Bill Joy dari University of California at Berkeley dengan menggunakan bahasa C.
Fitur yang terdapat dalam csh antara lain command-line history, aliasing, built-in arithmetic, filename completion, dan job control. Kelemahnnya adalah karena didesain untuk mesin skala besar dan memiliki banyak fitur maka shel ini cenderung lambat bila digunakan pada mesin kecil. Default prompt shell csh adalah % (persen).
c.       KornShell(ksh)
Korn shell merupakan pengembangan dari bourne shell yang ditulis oleh David Korn dari AT&T pada pertengahan 1980an. Feature Korn shell antara lain editable history, aliases, functions, regular expression wildcards, built-in arithmetic, job control, coprocessing, dan special debugging. Default prompt shell ksh adalah $ (dolar).
d.      BourneAgainShell(bash)
Bash merupakan default shell Linux yang merupakan pengembangan dari bourne shell sehingga kompatibel juga di Unix. Shell ini dibuat pada tahun 1988 oleh Brian Fox dari FSF GNU. Fitur yang dimiliki bash antara lain interaktif, dapat membuat shortcut, bisa berwarna, dll. Default Bash prompt adalah $ (dolar).
sedangkan kernel adalah suatu perangkat lunak yang menjadi bagian utama dari sebuah sistem operasi. Tugasnya melayani bermacam program aplikasi untuk mengakses perangkat keras komputer secara aman, kernel juga terdiri dari beberapa bagian  yaitu :
a.       Kernel monolitik.
Kernel monolitik mengintegrasikan banyak fungsi didalam kernel dan menyediakan lapisan abstraksi perangkat keras secara penuh terhadap perangkat keras yang berada dibawah sistem operasi.
b.       Mikrokernel.
Mikrokernel menyediakan sedikit saja dari abstraksi perangkat keras dan menggunakan aplikasi yang berjalan di atasnya, yang disebut dengan server dan untuk melakukan beberapa fungsionalitas lainnya.
c.       Kernel hibrida.
Kernel hibrida adalah pendekatan desain microkernel yang dimodifikasi. Pada hybrid kernel, terdapat beberapa tambahan kode di dalam ruangan kernel untuk meningkatkan performanya.
d.      Exokernel.
Exokernel menyediakan hardware abstraction secara minimal, sehingga program dapat mengakses hardware secara langsung. Dalam pendekatan desain exokernel, library yang dimiliki oleh sistem operasi dapat melakukan abstraksi yang mirip dengan abstraksi yang dilakukan dalam desain monolithic kernel.

Kernel Linux yang pertama kali dipublikasikan adalah versi 0.01, pada tanggal 14 Maret 1991. Sistem berkas yang didukung hanya sistem berkas Minix. Kernel pertama dibuat berdasarkan kerangka Minix (sistem UNIX kecil yang dikembangkan oleh Andy Tanenbaum). Tetapi, kernel tersebut sudah mengimplementasi proses UNIX secara tepat.

Pada tanggal 14 Maret 1994 dirilis versi 1.0, yang merupakan tonggak sejarah Linux. Versi ini adalah kulminasi dari tiga tahun perkembangan yang cepat dari kernel Linux. Fitur baru terbesar yang disediakan adalah jaringan. Versi 1.0 mampu mendukung protokol standar jaringan TCP/IP. Kernel 1.0 juga memiliki sistem berkas yang lebih baik tanpa batasan-batasan sistem berkas Minix. Sejumlah dukungan perangkat keras ekstra juga dimasukkan ke dalam rilis ini. Dukungan perangkat keras telah berkembang termasuk diantaranya floppy-disk, CD-ROM, sound card, berbagai mouse, dan keyboard internasional. Dukungan juga diberikan terhadap modul kernel yang loadable dan unloadable secara dinamis.

Satu tahun kemudian dirilis kernel versi 1.2. Kernel ini mendukung variasi perangkat keras yang lebih luas. Pengembang telah memperbaharui networking stack untuk menyediakan support bagi protokol IPX, dan membuat implementasi IP lebih lengkap dengan memberikan fungsi accounting dan firewalling. Kernel 1.2 ini merupakan kernel Linux terakhir yang PC-only. Konsentrasi lebih diberikan pada dukungan perangkat keras dan memperbanyak implementasi lengkap pada fungsi-fungsi yang ada.

Pada bulan Juni 1996, kernel Linux 2.0 dirilis. Versi ini memiliki dua kemampuan baru yang penting, yaitu dukungan terhadap multiple architecture dan multiprocessor architectures. Kode untuk manajemen memori telah diperbaiki sehingga kinerja sistem berkas dan memori virtual meningkat. Untuk pertama kalinya, file system caching dikembangkan ke networked file systems, juga sudah didukung writable memory mapped regions. Kernel 2.0 sudah memberikan kinerja TCP/IP yang lebih baik, ditambah dengan sejumlah protokol jaringan baru. Kemampuan untuk memakai remote netware dan SMB (Microsoft LanManager) network volumes juga telah ditambahkan pada versi terbaru ini. Tambahan lain adalah dukungan internal kernel threads, penanganan dependencies antara modul-modul loadable, dan loading otomatis modul berdasarkan permintaan (on demand). Konfigurasi dinamis dari kernel pada run time telah diperbaiki melalui konfigurasi interface yang baru dan standar.

Semenjak Desember 2003, telah diluncurkan Kernel versi 2.6, dan yang paling terbaru (2007) telah mencapai patch versi 2.6.21.1Hal-hal yang berubah dari versi 2.6 ini ialah:
•     Subitem M/K yang dipercanggih.
•     Kernel yang pre-emptif.
•     Penjadwalan Proses yang dipercanggih.
•     Threading yang dipercanggih.
•     Implementasi ALSA (Advanced Linux Sound Architecture) dalam kernel
Versi dari kernel sendiri terdiri dari :
·         Versi 0.01 yang dirilis pada tanggal 14 Maret 1991
·         Versi 1.0 yang dikeluarkan pada tanggal 14 Maret 1994
·         Versi 1.2
·         Versi 2.0 yang dirilis pada bulan Juni 1996, dan
·         versi 2.6 yang dirilis bulan Desember 2003, serta
·         versi 2.6.21 yang dirilis pada tahun 2007

0 komentar:

Posting Komentar