Arsitektur Sistem Operasi Linux

Assalamu'alaikum Wr. Wb.

    Bersama ini marilah kita bersama memanjatkan rasa puji syukur kita pada Alloh SWT. yang telah memberikan beribu kenikmatan kepada kita semua hingga dihari ini bisa kembali sharing berkaitan dengan linux tentunya serta materi lain dijurusan Teknik Komputer dan Jaringan. Kemudian tak lupa salam beserta shalawat kita haturkan kepada Nabi Muhammad SAW. yang akan memberikan syafa'at kepada kita InsyaAlloh di hari akhir nanti.

    Materi kali ini akan lebih khusus lagi mengenai Arsitektur Sistem Operasi Linux serta beberapa istilah penting berkaitan dengan arsitektur SO Linux.
Sebelum kita membahas mengenai bagaimana struktur arsitektur linux, terlebih dahulu kita harus paham apa itu arsitektur. Arsitektur adalah seni yang dilakukan oleh setiap individual untuk mengimajinasikan diri mereka dan ilmu dalam merancang suatu sistem. Strukturnya adalah :


1. Kernel
Arsitektur Linux

Arsitektur Linux

    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. Karena akses terhadap perangkat keras terbatas, sedangkan ada lebih dari satu program yang harus dilayani dalam waktu yang bersamaan, maka kernel juga bertugas untuk mengatur kapan dan berapa lama suatu program dapat menggunakan satu bagian perangkat keras tersebut. Hal tersebut dinamakan sebagai multiplexing.

     Akses kepada perangkat keras secara langsung merupakan masalah yang kompleks, oleh karena itu kernel biasanya mengimplementasikan sekumpulan abstraksi hardware. Abstraksi-abstraksi tersebut merupakan sebuah cara untuk menyembunyikan kompleksitas, dan memungkinkan akses kepada perangkat keras menjadi mudah dan seragam. Sehingga abstraksi pada akhirnya memudahkan pekerjaan programer.

     Untuk menjalankan sebuah komputer kita tidak harus menggunakan kernel sistem operasi. Sebuah program dapat saja langsung di- load dan dijalankan diatas mesin 'telanjang' komputer, yaitu bilamana pembuat program ingin melakukan pekerjaannya tanpa bantuan abstraksi perangkat keras atau bantuan sistem operasi. Teknik ini digunakan oleh komputer generasi awal, sehingga bila kita ingin berpindah dari satu program ke program lain, kita harus mereset dan meload kembali program-program tersebut.

Ada 4 kategori kernel:

1. Monolithic kernel. Kernel yang menyediakan abstraksi perangkat keras yang kaya dan tangguh.

2. Microkernel. Kernel yang menyediakan hanya sekumpulan kecil abstraksi perangkat keras sederhana, dan menggunakan aplikasi-aplikasi yang disebut sebagai server untuk menyediakan fungsi-fungsi lainnya.

3. Hybrid (modifikasi dari microkernel). Kernel yang mirip microkernel, tetapi ia juga memasukkan beberapa kode tambahan di kernel agar ia menjadi lebih cepat.

4. Exokernel. Kernel yang tidak menyediakan sama sekali abstraksi hardware, tapi ia menyediakan sekumpulan pustaka yang menyediakan fungsi-fungsi akses ke perangkat keras secara langsung atau hampir-hampir langsung.

     Dari keempat kategori kernel yang disebutkan diatas, kernel Linux termasuk kategori monolithic kernel. Kernel Linux berbeda dengan sistem Linux. Kernel Linux merupakan sebuah perangkat lunak orisinil yang dibuat oleh komunitas Linux, sedangkan sistem Linux, yang dikenal saat ini, mengandung banyak komponen yang dibuat sendiri atau dipinjam dari proyek pengembangan lain.

     Kernel Linux pertama yang 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, yang dewasa ini (2008) telah mencapai patch versi 2.6.26.1 ( http://kambing.ui.edu/kernel-linux/v2.6/). Hal-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.

* Dukungan sistem berkas seperti: ext2, ext3, reiserfs, adfs, amiga ffs, apple macintosh hfs, cramfs, jfs, iso9660, minix, msdos, bfs, free vxfs, os/2 hpfs, qnx4fs, romfs, sysvfs, udf, ufs, vfat, xfs, BeOS befs (ro), ntfs (ro), efs (ro).

2. Library
     Library adalah file atau sekumpulan file yang di dalamnya terdapat fungsi atau kelas yang dibutuhkan oleh program aplikasi. Sebagai contoh library adalah Glibc, libcurl, libpng serta library yang lain yang fungsinya menjadi pondasi untuk program yang akan berjalan diatasnya. Misalnya tanpa library getty, maka kita tidak dapat membuka shell atau CLI, tanpa libpng maka kita tidak bisa membuka gambar, tanpa libmpg maka kita tidak bisa memutar mp3. Dengan demikian library adalah pondasi untuk aplikasi atau program tertentu. Kadang-kadang libary juga saling berkaitan (depedensi) misalkan libraeri A adalah pondasi dari Librari B dan Program C butuh librari B. Hal semacam ini disebut dengan depedency di linux.

3. Shell
      Shell adalah aplikasi yang bertugas menerima Input perintah dari user. Pada sistem operasi Windows, dapat disamakan dengan Command Prompt. Bedanya Shell di Linux tidak terikat dengan GUI nya. Linux mempunyai banyak shell, diantaranya adalah csh, tcsh, sh, ash dan yang paling populer Bash. Kebanyakan server, tiga lapis ini saja sudah lebih dari cukup, tinggal ditambahkan service (apliksi yang berjalan dibelakang layar) misal webserver apache.

4. X Windows
       X Windows adalah Library khusus untuk tampilan GUI di UNIX/Linux, tanpa
adanya librari ini, maka KDE, GNome atau openoffice tidak akan dapat berjalan.

5. Window Manager
    
Window Manager adalah pengelola jendela dari aplikasi yang berjalan di GUI. Window Manager hanya bertugas menangani posisi aplikasi di Layar, Window manager tidak mempunyai fitur misal Drag and Drop atau fitur canggih lainnya. Contoh window Manager adalah iceWM dan GNUStep.
 
6. Desktop
   
Lapisan di atas windows Manager adalah Desktop, ini adalah tampilan antarmuka yang langsung berhubungan dengan user dimana user tinggal klik,drag, melakukan segala kemudahan hanya dengan mouse. Contoh desktop di Linux adalah KDE,LXDE, Gnome, XFace atau EDE.
 
7. Aplikasi
   Lapisan yang paling atas dari sistem operasi Linux adalah aplikasi, misal Gedit, Open Office dan firefox. Sebenarnya masih banyak lagi aplikasi-aplikasi yang disediakan sendiri oleh vendor-vendor linux. misalnya untuk kategori jaringan, keamanan, editing photo dan lain sebagainya.


Sekian Sharing singkat dari Saya semoga dapat bermanfaat

Wassalamu'alaikum Wr. Wb.

 Sumber :

Share this

Related Posts

Previous
Next Post »