Linux adalah sistem operasi open source. Kalimat tadi sudah sering kita
dengar dan sering kita baca, namun apa artinya kalo hanya sebuah
kalimat tanpa di ketahui makna dan manfaatnya? dalam artikel ini, saya
akan menjelaskan tentang Arsitektur Linux sebagai sedikit pencerahan
tentang bagaimana Linux dirancang dan berkembang sampai saat ini.
Linux
dan sistem operasi lain adalah “kepanjangan tangan” dari mesin, maka
OS sering juga disebut Extended Machine. Struktur OS linux bisa dilihat
seperti gambar diatas, Linux terdiri dari Kernel, library, CLI/Shell
XWindows System, Windows Manager dan Desktop, baru diatas deskop
bertengger aplikasi seperti Open office, Firefox dan kawan kawannya.
Kernel
Kernel
adalah jantung dari sistem operasi , jika dilihat secara fisiknya,
kernel adalah file yang ada di folder /boot dengan nama
vmlinuz-2.6.xx.x, file ini adalah file utama Linux, jika anda menghapus
file ini, maka secara otomatis Linux tidak akan bisa di boot, didalam
kernel sendiri terdapat library dan driver, namun peletakannya tidak di
folder /boot, namun di /lib/. Tugas utama kernel adalah mengatur
sumber daya memori dan prosesor serta mengatur Akses fisik ke hardware,
misal ke printer, keyboard dan jaringan.
Library
Sebelum
membahas CLI, sebenarnya diatas kernel masih ada komponen yang tidak
diperlihatkan di gambar, yang disebut dengan Library,Librari adalah
file atau sekumpulanfile yang didalamnya terdapat fungsi 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, sebagai
contoh, tanpa library getty, maka kita tidak bisa membuka shell atau
CLI, tanpa libpng maka kita tidak bisa membuka gambar, tanpa libmpg
maka kita tidak bisa memutar mp3. sekali lagi librari adalah pondasi
untuk aplikasi atau program tertentu, terkadang libari juga salih
berkaitan (depedensi) misalkan libraeri A adalah pondasi dari Librari B
dan Program C butuh librari B, ini yang disebut dengan depedency di
linux.
Shell
Shell adalah aplikasi yang bertugas
menerima Input perintah dari user, di Windows bisa 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.
X Windows
X
Windows adalah Library khusus untuk tampilan GUI di UNIX/Linux, tanpa
adanya librari ini, maka KDE, GNome atau openoffice tidak akan bisa
berjalan,
Window Manager
Window Manager adalah pengelola
jendela dari aplikasi yangberjalan di GUI, apa perbedaan Window
Manager dengan Desktop seperti Gnome atau KDE? 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.
Desktop
lapisan
diatas 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.
Aplikasi
lapisan teratas dari sistem operasi Linux adalah aplikasi, misal Gedit,Open Office dan firefox.
Dengan
memahami bagaimana Linux dibangun, diharapkan kita bisa lebih memahami
Linux dan bisa mengatasi permasalahan yang terjadi OS tersebut, dan
kedepannya kita bisa membuat Distro Linux yang sesuai dengan kebutuhan
kita.
note (*)
sebenarnya hanya dengan Xwindows, anda bisa
menjalankan Firefox atau openoffice, namun anda tidak akan mendapatkan
tampilan yang indah, tidak ada fitur drag n drop dan tidak ada yang
namanya taskbar atau starmenu. Hanya sekedar jendela dari aplikasi.
Lapisan
diatas tidak bersifat mutlak, misal ada beberapa aplikasi yang
berjalan tanpa interfensi user, misal Web server, webserver bisa
berjalan seiring dengan shell, beberapa aplikasi text juga bisa berjalan
tanpa GUI, misal vim editor, mpg123 player (yang keduanya jalan di
konsole), sekali lagi, pembagian diatas hanya digunakan untuk
mempermudah pemahaman.
0 comments:
Post a Comment