Anda di halaman 1dari 4

Riffa Rufaida 135070

07

STRUKTUR SISTEM OPERASI PADA LINUX


Sistem operasi Linux terdiri atas kernel(inti), program sistem, dan beberapa
program aplikasi. Kernel merupakan inti dari sistem operasi. Program sistem dan
semua program-program lainnya yang berjalan di atas kernel disebut user mode.
Perbedaan antara program sistem dan program aplikasi adalah program sistem
butuhkan agar suatu sistem operasi dapat berjalan sedangkan program aplikasi
adaah program yang dibutuhkan untuk menjalankan suatu aplikasi tertentu.

Sistem Linux terdiri atas tiga badan kode utama, dengan isi pada barisnya
merupakan implementasi UNIX paling tradisional :

1. Kernel

Kernel Linux adalah potongan orisinil dari perangkat lunak yang dibuat dari
serpihan oleh komunitas Linux. Sedangkan sistem Linux merupakan
gabungan dari komponen-komponen. Sistem Linux basic adalah lingkungan
standar untuk aplikasi dan program user.

Kernel Linux terdiri atas kode tertulis dari nol yang dibuat spesifik untuk
proyek Linux, sedangkan perangkat lunak yang mendukung sistem Linux
tidak terikat secara ekslusif pada Linux, tapi umumnya dapat bekerja pada
sistem operasi seperti UNIX .

Kernel bertanggung jawab untuk mengatur dan menjaga seluruh abstraksi


penting dari sistem operasi, termasuk hal-hal seperti virtual memori dan
proses. Kernel Linux membentuk inti dari keseluruhan sistem operasi Linux.
Kernel menyediakan semua fungsionalitas yang diperlukan untuk
menjalankan proses, dan menyediakan servis sistem untuk melindungi akses
terhadap sumber daya perangkat keras. Kernel mengimplementasikan
seluruh fitur yang dibutuhkan untuk terkualifikasi sebagai sistem operasi.

2. System libraries

System libraries mendefinisikan set standar dari fungsi untuk melewatkan


aplikasi agar dapat berinteraksi dengan kernel. Implementasi dari fungsi-
fungsi ini sedikit banyak ada pada fungsionalitas sistem operasi yang tidak
membutuhkan hak keseluruhan atas kode kernel.

System libraries menyediakan banyak tipe dari fungsionalitas. Pada level


paling sederhana, system libraries mengijinkan aplikasi untuk membuat
permintaan kernel-system-service. System libraries juga menjaga dan
mengoleksi argumen system call dan jika diperlukan mengatur argumen-
Riffa Rufaida 135070
07
argumen tersebut ke dalam suatu bentuk khusus untuk melakukan system
call.

3. System utilities

System utilities adalah program yang menunjukkan tugas manajemen yang


individual dan terspesialisasi. Beberapa system utilities dapat dilibatkan
hanya sekali saja untuk menginisialisasi dan mengatur beberapa aspek dari
sistem; dan yang lainnya – biasa disebut daemon pada terminologi UNIX-
berlangsung secara permanen, memegang tugas seperti merespon pada
koneksi jaringan yang masuk, menerima permintaan logon dari terminal, dan
memperbaharui file log.

Sistem Linux termasuk di dalamnya bermacam-macam user-mode program,


baik system utilities maupun user utilities. Pada system utilities terdapat
seluruh program yang dibutuhkan untuk menginisialisasi sistem.

system user user utility compilers


management programs
programs

system shared libraries

Linux kernel

loadable kernel modules

Gambar 1 Komponen dari sistem Linux

Gambar 1 mengilustrasikan berbagai komponen yang membuat lengkap


sebuah sistem Linux. Perbedaan paling penting disini ada pada kernel dengan
seluruh hal lainnya. Semua kode kernel dieksekusi pada processor privileged
mode dengan akses penuh ke seluruh sumber fisik dari komputer. Linux
menyebut mode ini sebagai kernel mode. Di bawah Linux, tidak ada kode
user mode yang dibangun ke dalam kernel. Kode apapun yang berupa
dukungan terhadap sistem operasi yang tidak perlu dijalankan pada kernel
mode disimpan ke dalam system libraries.

Kernel Linux merupakan monolithic kernel, dimana driver dan tambahan


kernel berjalan di kernel space, sehingga kernel dapat mengakses hardware
secara penuh meskipun ada beberapa bagian yang berjalan di user space.
Ini bertujuan untuk meningkatkan performansi karena seluruh kode kernel
dan struktur data disimpan pada single address space. Tidak ada context
switch yang diperlukan ketika sebuah proses memanggil fungsi sistem
operasi atau saat perangkat lunak melakukan interrupt.
Riffa Rufaida 135070
07
Sumber : Silberschatz, Abraham. 2005. Operating System Concepts 7th
Edition. John Wiley & Sons, Inc.

ALGORITMA PENJADWALAN PADA LINUX

Penjadwalan merupakan pekerjaan untuk mengalokasi waktu CPU ke proses yang


berbeda-beda dalam sebuah sistem operasi. Selain aspek menjalankan dan
interrupt proses, ada aspek lain yang penting pada Linux, yaitu running dari
beberapa tugas kernel. Tugas kernel meliputi tugas yang diminta oleh running
proses dan tugas yang dieksekusi secara internal karena kepentingan device driver.

Linux memiliki dua algoritma penjadwalan proses yang terpisah. Yang pertama
adalah time-sharing algoritma untuk penjadwalan yang adil dan preemptive
diantara beberapa proses, sedangkan yang lain di desain untuk tugas-tugas real-
time, dimana absolut prioritas adalah hal yang paling penting.

Algortima penjadwalan Linux adalah preemptive, priority based dengan dua range
prioritas yang terpisah; range real-time dari 0-99 dan yang lainnya dengan range
dari 100-140. Dua range ini memetakan skema prioritas global dimana semakin
kecil angka prioritasnya memiliki arti prioritas lebih tinggi.

Linux memberikan quantum waktu yang lebih panjang pada proses dengan prioritas
tinggi dan sebaliknya. Sebuah proses dapat running pada CPU jika proses tersebut
memiliki waktu sisa pada slot waktunya. Saat slot waktunya habis, proses tersebut
dianggap kadaluarsa dan tidak akan dieksekusi sampai seluruh proses slot
waktunya habis juga. Saat ini terjadi, list proses aktif akan menjadi kosong, maka
list proses kadaluarsa akan menjadi aktif dan eksekusi akan dimulai kembali.

Penjadwalan real-time Linux mengimplementasikan dua penjadwalan real-time,


yaitu first-come, first-served(FCFS) dan round-robin. Pada kedua kasus, setiap
proses memiliki prioritas. Penjadwal akan memilih proses dengan prioritas paling
Riffa Rufaida 135070
07
besar pada penjadwalan real-time. Di antara dua proses dengan prioritas yang
sama, penjadwal akan menjalankan proses yang telah menunggu paling lama.

Penjadwalan real-time Linux adalah soft real-time. Pada algoritma soft real-time fitur
yang paling penting dari adalah merespon dengan segera sebuah proses waktu
nyata secepat proses yang membutuhkan CPU. Algoritma penjadwalan
berdasarkan prioritas memberikan prioritas kepada masing-masing proses
berdasarkan tingkat kepentingannya; proses yang lebih penting di berikan
prioritas lebih tinggi daripada proses lain yang dianggap kurang penting. Apabila
penjadwalan yang digunakan juga mendukung preemption dan tersedia sebuah
proses berprioritas tinggi, maka sebuah proses yang berjalan sekarang ini di CPU
akan didahulukan.

Sumber : Silberschatz, Abraham. 2005. Operating System Concepts 7th Edition. John
Wiley & Sons, Inc.