Sistem kerja Linux
Linux merupakan salah satu sistem operasi yang digunakan pada
komputer atau PC yang bertipe UNIX. Linux merupakan salah satu contoh
hasil pengembangan perangkat lunak bebas dan sumber terbuka utama.
Karena sifatnya yang open source dan menjadi sumber terbuka, maka kode
sumber Linux dapat dimodifikasi, digunakan dan didistribusikan kembali
secara bebas oleh siapa saja. Sehingga sampai sekarang ini, terdapat
banyak distro-distro yang berbasis Linux yang dikembangkan oleh
masyarakat seperti Ubuntu, SuSE, Fedora BackTrack, Mandriva, Slackware,
Debian Linux mint, Red Hat, dan sebagainya. Meskipun dibuat dan
dikembangkan sedemikian rupa oleh pihak-pihak yang berbeda namun inti di
setiap distribusi Linux sama. Berikut penjelasan mengenai arsitektur
dan mekanisme kerja sistem operasi Linux yang mencakup inti utama
seluruh distro Linux yang ada.
Arsitektur sistem operasi Linux
Arsitektur sistem operasi UNIX/ Linux terdiri dari 4 komponen penting
yaitu kernel, shell, utilitas, dan aplikasi (user program). Berikut
penjelasan dari masing-masing komponen:
1. Kernel
Kernel merupakan inti dari sistem Linux, yang digunakan untuk
mengontrol hardware dan membentuk berbagai fungsi peretas rendah.
Fungsi-fungsi yang dilaksanakan oleh kernel, antara lain system call dan
jam system, manajemen dan penjadwalan proses, manajemen memori,
melakukan kegiatan akuntasi sistem, melakukan penanganan kesalahan dan
interupsi (interrupt). Selain itu hal-hal lain yang terkait dengan
fungsi kernel adalah digunakan untuk mendukung protokol standar jaringan
TCP/IP dan beberapa protokol jaringan lain serta digunakan dalam sistem
berkas. Hal lain yang menjadi tanggung jawab kernel yaitu digunakan
untuk mendukung sejumlah perangkat keras ekstra. Contoh dukungannya
adalah floopy-disk, CD-ROM, sound card, berbagai mouse, dan keyboar
international. Selain itu juga mendukung modul kernel yang dynamically
loadable dan unloadable.
Bagian-bagian lain dari Linux, seperti aplikasi dan shell, memanggil
kernel untuk membentuk layanan kepadanya. Linux menyediakan antarmuka
antara bagian luar kernel dan kernel sendiri, berupa system call.
Setiap pemanggilan sistem menginstruksikan kernel untuk membentuk
layanan tertentu sesuai dengan permintaan program yang memanggilnya.
Sebagai contoh jika suatu program yang 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.
2. Shell
Shell adalah penerjemah (command line interpreter) pada Linux. Atau
yang sering dikenal dengan terminal. Perangkat lunak inilah yamg menjadi
jembatan antara user dan sistem Linux. User cukup memberikan perintah
dan shell yang akan mengeksekusi perintah yang diberikan.
Perintah-perintah shell Linux dapat berupa:
Perintah built-in. perintah yang merupakan bagian internal dari shell.
Perintah eksternal. Perintah yang bukan bagian internal dari shell (dapat berupa utilitas atau program aplikasi).
Shell baik pada Linux maupun UNIX digunakan untuk interaksi antara
user dengan komputernya termasuk juga dalam mengontrol session UNIX dan
pemrograman (scripting). Unix shell menyediakan sekumpulan instruksi
khusus yang dapat digunakan untuk membuat program shell scripts. Ada
beberapa jenis shell yang umum digunakan dalam distro Linux, yakni Bash
dan tcsh.
3. Utilitas
Utilitas atau utility merupakan program yang disediakan sistem Linux
untuk melaksanakan tugas tertentu. Pada Linux terdapat berbagai macam
utilitas, berikut adalah pengelompokkan dari utilitas-utilitas tersebut:
a. Utilitas manajemen file dan direktori
Merupakan kelompok utilitas yang digunakan dalam melakukan tugas yang
berhubungan dengan file dan direktori, misalnya untuk membuat direktori
dan menghapus file. Utilitas penyunting file. Utilitas ini sering
disebut sebagai editor yang berfungsi untuk membuat program atau
menyimpan informasi tertentu ke dalam file.
b. Utilitas penunjang komunikasi dan jaringan
Utilitas ini digunakan untuk melakukan komunikasi antar user. Bahkan user dapat mentransfer data antar sistem.
c. Utilitas administrasi sistem
Digunakan sebagai administrator sistem untuk mengelola sistem.
Misalnya untuk menciptakan nama user baru dan mendaftarkan printer atau
hardware lain pada sistem.
d. Utilitas pemrograman C
Merupakan utilitas yang disediakan untuk membantu user dalam membuat program menggunakan bahasa C.
e. Utilitas penganalisis unjuk kerja sistem
Utilitas yang digunakan oleh administrator sistem untuk menganalisis
unjuk kerja sistem, sehingga dapat melakukan setting guna meningkatkan
unjuk kerja.
f. Utilitas untuk keperluan backup dan restore
Digunakan untuk menyalin atau memindahkan data atau program ke media eksternal seperti harddisk, magnetic tape, atau sebaliknya.
4. Aplikasi (user program)
Program aplikasi (application software) yaitu program-program yang
dibuat oleh user, untuk memenuhi kebutuhan sendiri. Program-program
tersebut dapat dibuat menggunakan utilitas, perintah built-in pada
shell, atau dibuat mengguanakan bahasa pemrograman seperti java, C, C++,
python dan berbagai development tool seperti Oracle dan Informix.
Selain itu juga dapat berupa program paket yang dibeli dari developer
software. Beberapa contoh program aplikasi pada Linux antara lain open
office, Mozilla, Skylab, Thunderbird, Chrome, dan lain sebagainya.
Mekanisme kerja sistem operasi Linux
Berikut adalah penjabaran mekanisme kerja sistem operasi linux terutama pada operasi input output:
1. Proses Input Output
Sebuah proses sistem operasi memerlukan Input dan Output termasuk pada sistem operasi Linux. Instruksi (command)
yang diberikan pada Linux melalui Shell disebut sebagai eksekusi
program yang selanjutnya disebut proses. Setiap kali instruksi
diberikan, maka Linux kernel akan menciptakan sebuah proses dengan
memberikan nomor PID (Process Identity). Proses dalam Linux selalu membutuhkan Input dan menghasilkan suatu Output.
Dalam konteks Linux input/output adalah :
Keyboard (input)
Layar (output)
Files
Struktur data kernel
Peralatan I/O lainnya (misalnya Network)
2. File Descriptor
Linux berkomunikasi dengan file melalui file descriptor yang
direpresentasikan melalui angka yang dimulai dari 0, 1, 2 dan
seterusnya. Tiga buah file descriptor standar yang lalu diciptakan oleh
proses adalah :
0 = keyboard (standar input)
1 = layar (standar output)
2 = layar (standar error)
Linux tidak membedakan antara peralatan hardware dan file, Linux memanipulasi peralatan hardware sama dengan file.
3. Pembelokan (Redirection)
Pembelokan dilakukan untuk standard input, output dan error, yaitu
untuk mengalihkan file descriptor dari 0, 1 dan 2. Simbol untuk
pembelokan adalah :
0< atau < pengganti standard input
1> atau > pengganti standard output
2> pengganti standard error
4. Pipa (Pipeline)
Mekanisme pipa digunakan sebagai alat komunikasi antar proses. Input Þ
Proses1 Þ Output = Input Þ Proses2 Þ Output Proses 1 menghasilkan
output yang selanjutnya digunakan sebagai input oleh Proses 2. Hubungan
output input ini dinamakan pipa, yang menghubungkan Proses 1 dengan
Proses 2 dan dinyatakan dengan symbol “|”. Proses1 | Proses2.
5. Filter
Filter adalah utilitas Linux yang dapat memproses standard input
(dari keyboard) dan menampilkan hasilnya pada standard output (layar).
Contoh filter adalah cat, sort, grep, pr, head, tail, paste dan lainnya.
Pada sebuah rangkaian pipa : P1 | P2 | P3 ……. | Pn-1 | Pn. Maka
P2 sampai dengan Pn-1 mutlak harus utilitas Linux yang berfungsi
sebagai filter. P1 (awal) dan Pn (terakhir) boleh tidak filter. Utilitas
yang bukan filter misalnya who, ls, ps, lp, lpr, mail dan lainnya.
Beberapa perintah Linux yang digunakan untuk proses penyaringan antara
lain :
Digunakan untuk menyaring masukannya da n menampilkan baris-baris
yang hanya mengandung pola yang ditentukan. Pola ini disebut regular
expression.
Digunakan untuk menghitung jumlah baris, kata dan karakter dari
baris-baris masukan yang diberikan kepadanya. Untuk mengetahui berapa
baris gunakan option –l, untuk mengetahui berapa kata, gunakan option –w
dan untuk mengetahui berapa karakter, gunakan option –c. Jika salah
satu option tidak digunakan, maka tampilannya adalah jumlah baris,
jumlah kata dan jumlah karakter.
Tidak ada komentar:
Posting Komentar