Sistem operasi Linux memiliki
konsep yang hampir sama dalam hal arsitektur dengan sistem operasi
lainnya. Perbedaanya adalah bentuk dari disetiap komponen pada arsitektur
tersebut, antara lain seperti berikut ini.
gambar Arsitektur Sistem Operasi Linux
1. Kernel
Kernel adalah bagian
terpenting dari sebuah sistem operasi. Pada sistem operasi kernel berfungsi
untuk mengendalikan semua perangkat keras yang ada di PC seperti CPU (Central
Processing Unit), Graphic Cards, Sound Card, Perangkat
USB, Harddisk, dll. Selain itu juga kernel berfungsi untuk
menjembatani antara applikasi yang berjalan dengan perangkat keras yang diakses
oleh aplikasi tersebut. Sebagai contoh aplikasi text editor (vi, notepad,
emacs) membutuhkan resources layar monitor sebagai tampilan
bagi penggunanya, dalam kasus ini maka aplikasi tersebut akan dihubungkan oleh
kernel melalui device driver VGA Card untuk
mengeluarkan data menuju layar monitor.
Selain dari aplikasi, kernel juga menjembatani perintah
yang ditulis oleh pengguna melalui shell atau GUI. Kernel Linux merupakan
turunan dari Unix BSD dan SYSV, dan model dari kernel Linux
mengacu pada spesifikasi POSIX (Portable Operating System IX). Sistem
kerja dari kernel adalah ketika PC melakukan booting pertama kali maka file
biner dari kernel akan dipindah menuju memory dan akan mejalankan semua fungsi
manajemen resources pada PC tersebut. Setiap PC memiliki jenis perangkat keras
yang berbeda-beda, sehingga kernel akan menginisialisasi perangkat tersebut
dengan module device driver yang berbeda. File biner kernel
linux dapat dilihat pada direktori “/boot/vmlinuz” sedangkan source kode dapat
dilihat di “/usr/src/linux”. Sampai saat ini (Agustus 2007) kernel linux stable sudah
keluar dengan versi 2.6.22.3. Untuk lebih detail mengenai perkembangan generasi
kernel dapat dilihat pada situs http://www.kernel.org/
2. Shell
Shell merupakan antarmuka
linux kernel dengan penggunanya. Di dalam shell pengguna dapat menuliskan
perintah yang kemudian akan dieksekusi langsung oleh kernel. Perintah-perintah
yang dapat dituliskan merupakan perintah yang berhunbungan dengan pengelolaan
sistem operasi, misalnya melihat isi file yang tersimpan dalam sebuah
direktori,membuat file baru, atau melihat isi dari sebuah file.
Selain operasi file shell juga dapat digunakan untuk
operasi I/O atau operasi penanganan pengguna. Pada sistem operasi linux ada dua
jenis shell atau penghubung antara pengguna dengan sistem operasi yang pertama
adalah text-based shell dan yang kedua adalah GUI (Graphic User
Interface). Beda dari keduanya adalah cara penyajiannya kepada pengguna,
jenis text-based adalah antarmuka paling sederhana dimana pengguna hanya dapat
berinteraksi melalui keyboard saja, sedangkan GUI memungkinkan pengguna
berinteraksi dengan sistem operasi melalui keyboard saja, mouse dan perangkat
lainnya dapat digunakan. Selain itu tampilan pada GUI sudah lebih modern yaitu
berbasiskan tampilan grafis.
3. Utilitas Sistem
Setiap sistem operasi pada dasarnya mengacu pada sebuah
spesifikasi tertentu seperti halnya Unix pada POSIX.2 dimana pada spesifikasi
ini dijelaskan konsep implementasi utilitas sistem untuk membantu pengguna
berinteraksi dengan sistem operasi.
Utilitas sistem dalam sebuah sistem operasi berfungsi
sebagai pengaturan sumber daya yang
sudah diinisialisasi oleh sistem operasi pada saat proses booting awal
dilakukan. Fungsi monitoring, fungsi pengaktifan dan penon-aktifan sebuah
service dalam sistem operasi merupakan pekerjaan yang dapat dilakukan dengan
menggunakan utilitas sistem yang ada dalam sebuah sistem operasi seperti Linux.
Beberapa contoh utilitas sistem dalam Linux adalah ls, man, fdisk, grep, awk,
sed, cp, mv, more, dan lain sebagainya.
Seperti halnya dalam sistem \operasi Windows beberapa
utilitas misalnya control panel, dir, cd, dan lain-lain. Selain itu juga
utilitas sistem juga termasuk program yang bersifat server, dimana program ini
akan berjalan secara background (tidak tampak), seperti misalnya utilitas untuk
menangani koneksi dari jarak jauh dengan telnet atau ssh, kedua layanan ini
merupakan utilitas sistem yang bersifat server dan dijalankan secara
background. contoh lain dari server program dalam Linux adalah lpd untuk
mengangani proses printer, httpd sebagai web server, crond untuk menjalankan
tugas administratif sistem operasi secara reguler. Utilitas sistem yang
bersifat server dan dijalankan secara backgroung dalam Linux disebut
DAEMON(Disk And Execution MONitor). daemon diaktifkan pada saat proses booting
sistem operasi, dan akan berjalan secara terus menerus. Program ini akan
memantau event yang terjadi dan apabila sesusai dengan yang
dikehendaki maka daemon akan menjalankan sesuatu. Sebagai contoh program daemon
telnet server. Daemon ini akan melakukan pemantauan pada semua koneksi
yang datang dari luar PC melalui jaringan pada nomer port 23. jika ada koneksi
dari luar yang menghubungi nomer tersebut maka telnet server akan menerima
koneksi tersebut dan melayani proses yang akan dilakukan.
4. Aplikasi
Aplikasi merupakan level tertinggi pada sistem operasi.
Dimana pada aplikasi ini pengguna sistem operasi dapat menggunakan aplikasi
berdasarkan kebutuhannya. Misalnya aplikasi untuk menulis, pada sistem operasi
Linux dapat dilakukan dengan menggunakan bantuan aplikasi Open Office,
sedangkan untuk melakukan editing gambar dapat menggunakan GIMP. Karena
aplikasi merupakan level tertinggi dari sebuah sistem operasi maka setiap
aplikasi dibentuk dengan cara berbeda untuk masing-masing sistem operasi dan
hanya bisa berjalan pada sistem operasi tempat dimana aplikasi tersebut
dibangun. Misalnya MS Office tidak dapat berjalan pada sistem operasi Linux,
kecuali pembangun MS Office mengeluarkan distribusi paket MS Office for Linux.
Distribusi Linux yang beredar saat ini, selain kernel juga
menyertakan paket-paket applikasi yang dapat dimanfaatkan oleh pengguna, namun
tidak semua aplikasi disertakan, tergantung sifat dari aplikasi tersebut
komersial atau open source. Sementara ini yang bersifat open source saja yang
disertakan. Contoh aplikasi open source GCC, G++, Xfix, Latex, dll.
pak apakah ada soal untuk ini
ReplyDelete