Kamis, 12 September 2013

Sistem kerja Linux

Arsitektur dan Mekanisme Kerja Sistem Operasi 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 :

  • Perintah grep

Digunakan untuk menyaring masukannya da n menampilkan baris-baris yang hanya mengandung pola yang ditentukan. Pola ini disebut regular expression.

  • Perintah wc

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