Bagaimana sisitem operasi mengendalikan proses sistem aplikasi sehingga mudah digunakan user ?
Proses dalam sistem operasi
Proses dalam sistem operasi berisi instruksi, data, program counter, register pemroses, stack data, alamat pengiriman dan variabel pendukung lainnya.
Sistem Operasi – Proses
Terdapat beberapa definisi mengenai proses, antara lain :
- Merupakan konsep pokok dalam sistem operasi, sehingga masalah manajemen proses adalah masalah utama dalam perancangan sistem operasi.
- Proses adalah program yang sedang dieksekusi.
- Proses adalah unit kerja terkecil yang secara individu memiliki sumber daya dan dijadwalkan oleh sistem operasi.
- Independent, artinya program-program tersebut berdiri sendiri, terpisah dan saling tidak bergantung.
- One program at any instant, artinya hanya terdapat satu proses yang dilayani pemroses pada satu saat.
Dalam multiprogramming, teknik penanganan
proses adalah dengan mengeksekusi satu proses dan secara cepat beralih
ke proses lainnya (bergiliran), sehingga menimbulkan efek paralel semu (pseudoparallelism).
Pengendalian proses
Dalam pengendalian antar proses, sistem operasi menggunakan metode :
- Saling melanjutkan (interleave), Sistem operasi harus dapat kembali melanjutkan proses setelah melayani proses lain.
- Kebijaksaan tertentu, Sistem operasi harus mengalokasikan sumber daya ke proses berdasar prioritasnya.
- Komunikasi antar proses dan penciptaan proses, Sistem operasi harus mendukung komunikasi dan penciptaan antar proses (menstrukturkan aplikasi).
Pada sistem
dengan banyak proses aktif, proses-proses pada satu saat berada dalam
beragam tahap eksekusinya. Proses mengalami beragam state (ready,
running, blocked) selama siklus hidupnya sebelum berakhir dan keluar
dari sistem. Sistem operasi harus dapat mengetahui state masing-masing
proses dan merekam semua perubahan yang terjadi secara dinamis.
Informasi tersebut digunakan untuk kegiatan penjadwalan dan memutuskan
alokasi sumber daya.
Status (state) proses
Sebuah proses akan mengalami serangkaian
state diskrit. Beragam kejadian dapat menyebabkan perubahan state
proses. Tiga state tersebut adalah sebagai berikut :
- Running, Proses sedang mengeksekusi instruksi proses
- Ready, Proses siap dieksekusi, tetapi proses tidak tersedia untuk eksekusi proses ini.
- Blocked, Proses menunggu kejadian untuk melengkapi tugasnya
Proses yang baru diciptakan akan mempunyai state ready.
- Proses berstate running menjadi blocked, karena sumbar daya yang diminta belum tersedia atau meminta layanan perangkat masukan/keluaran, sehingga menunggu kejadian muncul. Proses menunggu kejadian alokasi sumber daya atau selesainya layanan perangkat masukan/keluaran (event wait).
- Proses berstate running menjadi ready, karena penjadwal memutuskan eksekusi proses lain karena jatah waktu untuk proses tersebut telah habis (time out).
- Proses berstate blocked menjadi ready saat sumber daya yang diminta/ diperlukan telah tersedia atau layanan perangkat masukan/keluaran selesai (event occurs).
- Proses berstate ready menjadi running, karena penjadwal memutuskan penggunaan pemroses utnuk proses itu karena proses yang saat itu running berubah statenya (menjadi ready atau blocked) atau telah menyelesaikan sehingga disingkirkan dari sistem. Proses menjadi mendapatkan jatah pemroses.
Diagram state lanjut
Penundaan (suspend) adalah
operasi penting dan telah diterapkan dengan beragam cara. Penundaan
biasanya berlangsung singkat. Penundaan sering dilakukan sistem untuk
memindahkan proses-proses tertentu guna mereduksi beban sistem selama
beban puncak.
Proses yang ditunda (suspended blocked)
tidak berlanjut sampai proses lain meresume. Untuk jangka panjang,
sumber daya-sumber daya proses dibebaskan (dilucuti). Keputusan
membebaskan sumber daya-sumber daya bergantung sifat masing-masing
sumber daya. Memori utama seharusnya segera dibebaskan begitu proses
tertunda agar dapat dimanfaatkan proses lain. Resuming (pengaktifan
kembali) proses, yaitu menjalankan proses dari titik (instruksi) dimana
proses ditunda.
Operasi suspend dan resume penting, sebab :
- Jika sistem berfungsi secara buruk dan mungkin gagal maka proses-proses
dapat disuspend agar diresume setelah masalah diselesaikan. Contoh ada proses pencetakan, bila tiba-tiba kerta habis maka proses disuspend. Setelah kertas dimasukkan kembali, proses pun dapat diresume. - Pemakai yang ragu/khawatir mengenai hasil prose dapat mensuspend proses (bukan membuang (abort) proses). Saat pemakai yakin proses akan berfungsi secara benar maka dapat me-resume (melanjutkan kembali di instruksi saat disuspend) proses yang disuspend.
- Sebagai tanggapan terhadap fluktuasi jangka pendek beban sistem, beberapa proses dapat disuspend dan diresume saat beban kembali ke tingkat normal.
Dua state baru dimasukkan sehingga membentuk diagram 5 state, yaitu :
- Suspended ready
- Suspended blocked
Penundaan dapat diinisialisasi oleh proses itu sendiri atau proses lain.
- Pada sistem monoprocessor, proses running dapat mensuspend dirinya sendiri karena tak ada proses lain yang juga running yang dapat memerintahkan suspend.
- Pada sistem multiprocessor, proses running dapat disuspend proses running lain pada pemroses berbeda. Proses ready hanya dapat di suspend oleh proses lain.
Pada proses blocked terdapat transisi menjadi suspended blocked.
Pilihan ini dirasa aneh. Apakah tidak cukup menunggu selesainya operasi
masukan/keluaran atau kejadian yang membuat proses ready atau suspended
ready?. Bukankah state blocked, ready blocked, suspended blocked
sama-sama tidak mendapat jatah waktu pemroses ?. Kenapa dibedakan ?.
Alasannya, karena penyelesaian operasi
masukan/keluaran bagi proses blocked mungkin tak pernah terjadi atau
dalam waktu tak terdefinisikan sehingga lebih baik disuspend agar sumber
daya-sumber daya yang dialokasikan untuk proses tersebut dapat
digunakan proses-proses lain. Untuk kondisi ini, lebih baik sumber
daya-sumber daya yang dipegang proses yang berkondisi seperti ini
dipakai proses-proses lain. Proses blocked disuspend sistem atau secara
manual menjadi suspended blocked.
Bila akhirnya operasi masukan/keluaran berakhir maka segera proses suspended blocked mengalami transisi. Karena resume dan suspend mempunyai prioritas tinggi maka transisi segera dilakukan. Suspend dan resume dapat digunakan untuk menyeimbangkan beban sistem saat mengalami lonjakan di atas normal.
Program Control Block (PCB)
Struktur data PCB menyimpan informasi
lengkap mengenai proses sehingga dapat terjadi siklus hidup proses.
Sistem operasi memerlukan banyak informasi mengenai proses guna
pengelolaan proses. Informasi ini berada di PCB. Sistem berbeda akan
mengorganisasikan secara berbeda.
Informasi dalam PCB :
Informasi identifikasi proses
Informasi ini berkaitan dengan identitas proses yang berkaitan dengan tabel lainnya. Informasi tersebut meliputi :
- Identifier proses
- Identifier proses yang menciptakan
- Identifier pemakai
Informasi status pemroses
Informasi tentang isi register-register
pemroses. Saat proses berstatus running, informasi tersebut berada
diregister-register. Ketika proses diinterupsi, semua informasi
register harus disimpan agar dapat dikembalikan saat
proses
dieksekusi kembali. Jumlah dan jenis register yang terlibat tergantung arsitektur komputer. Informasi status terdiri dari :
- Register-register yang terlihat pemakai, adalah register-register yang dapat ditunjuk instruksi bahasa assembly untuk diproses pemroses.
- Register-register kendali dan status, Adalah register-register yang digunakan untuk mengendalikan operasi pemroses.
- Pointer stack, tiap proses mempunyai satu atau lebih stack, yang digunakan untuk parameter atau alamat prosedur pemanggil dan system call. Pointer stack menunjukkan posisi paling atas dari stack.
Informasi kendali proses
Informasi kendali proses adalah informasi
lain yang diperlukan sistem operasi untuk mengendalikan dan koordinasi
beragam proses aktif. Informasi kendali terdiri dari :
- Informasi penjadwalan dan status, Informasi-informasi yang digunakan untuk menjalankan fungsi penjadwalan, antara lain :
- Status proses, Mendefinisikan keadaan/status proses (running, ready, blocked)
- Prioritas, Menjelaskan prioritas proses.
- Informasi berkaitan dengan penjadwalan, Berkaitan dengan informasi penjadwalan, seperti lama menunggu, lama proses terakhir dieksekusi.
- Kejadian, Identitas kejadian yang ditunggu proses.
- Penstrukturan data, satu proses dapat dikaitkan dengan proses lain dalam satu antrian atau ring, atau struktur lainnya. PCB harus memiliki pointer untuk mendukung struktur ini.
- Komuikasi antar proses, beragam flag, sinyal dan pesan dapat diasosiasikan dengan komunikasi antara dua proses yang terpisah.
- Manajemen memori Bagian yang berisi pointer ke tabel segmen atau page yang menyatakan memori maya (virtual memory) proses.
- Kepemilikan dan utilisasi sumber daya, sumber daya yang dikendalikan proses harus diberi tanda, misalnya :
Informasi ini diperlukan oleh penjadwal.
Struktur citra proses digambarkan
berurutan di satu ruang alamat. Implementasi penempatan citra proses
yang sesungguhnya bergantung skema manajemen memori yang digunakan dan
organisasi struktur kendali sistem operasi.
Operasi-operasi pada proses
Sistem operasi dalam mengelola proses dapat melakukan operasi-operasi terhadap proses. Operasi tersebut adalah :
- Penciptaan proses
- Penghancuran/terminasi proses
- Penundaan proses
- Pelanjutan kembali proses
- Pengubahan prioritas proses
- Memblok proses
- Membangunkan proses
- Menjadwalkan proses
- Memungkinkan proses berkomunikasi dengan proses lain
Penciptaan proses
Melibatkan banyak aktivitas, yaitu :
- Memberi identitas proses
- Menyisipkan proses pada senarai atau tabel proses
- Menentukan prioritas awal proses
- Menciptakan PCB
- Mengalokasikan sumber daya awal bagi proses
Ketika proses baru ditambahkan, sistem operasi membangun struktur data untuk mengelola dan mengalokasikan ruang alamat proses.
Kejadian yang dapat menyebabkan penciptaan proses :
Tahap-tahap penciptaan proses
Penciptaan proses dapat disebabkan beragam sebab. Penciptaan proses meliputi beberapa tahap :
- Beri satu identifier unik ke proses baru. Isian baru ditambahkan ke tabel proses utama yang berisi satu isian perproses.
- Alokasikan ruang untuk proses.
- PCB harus diinisialisasi.
- Kaitan-kaitan antar tabel dan senarai yang cocok dibuat.
- Bila diperlukan struktur data lain maka segera dibuat struktur data itu.
Penghancuran proses
Penghancuran proses melibatkan pembebasan proses dari sistem, yaitu :
- Sumber daya-sumber daya yang dipakai dikembalikan.
- Proses dihancurkan dari senarai atau tabel sistem.
- PCB dihapus (ruang memori PCB dikembalikan ke pool memori bebas).
Penghancuran lebih rumit bila proses telah menciptakan proses-proses lain. Terdapat dua pendekatan, yaitu :
- Pada beberapa sistem, proses-proses turunan dihancurkan saat proses induk dihancurkan secara otomatis.
- Beberapa sistem lain menganggap proses anak independen terhadap proses induk, sehingga proses anak tidak secara otomatis dihancurkan saat proses induk dihancurkan.
Alasan-alasan penghancuran proses, sebagai berikut.
Pengalihan proses
Kelihatannya pengalihan proses (process switching) adalah sepele. Pada suatu saat, proses running diinterupsi dan sistem operasi memberi proses lain state running dan menggilir kendali ke proses itu.
Dalam hal ini muncul beberapa masalah, yaitu :
- Kejadian-kejadian apa yang memicu alih proses ?
- Masalah lain adalah terdapatnya perbedaan antara alih proses (process switching) dan alih konteks (context switching).
- Apa yang harus dilakukan sistem operasi terhadap beragam struktur data yang dibawah kendalinya dalam alih proses ?
Kejadian-kejadian penyebab pengalihan proses
Kejadian-kejadian yang menyebabkan terjadinya alih proses adalah :
- Interupsi sistem, disebabkan kejadian eksternal dan tak bergantung proses yang saat itu sedang running. Contoh : selesainya operasi masukan/keluaran. Pada kejadian interupsi, kendali lebih dulu ditransfer ke interrupt handler yang melakukan penyimpanan data-data dan kemudian beralih ke rutin sistem operasi yang berkaitan dengan tipe interupsi itu. Tipe-tipeinterupsi antara lain :
- Trap, Adalah interupsi karena terjadinya kesalahan atau kondisi kekecualian (exception conditions) yang dihasilkan proses yang running, seperti usaha illegal dalam mengakses file. Dengan trap, sistem operasi menentukan apakah kesalahan yang dibuat merupakan kesalahan fatal ?
Kemungkinan yang dilakukan adalah
menjalankan prosedur pemulihan atau memperingkatkan ke pemakai. Saat
terjadi trap, mungkin terjadi pengalihan proses mungkin pula resume
proses.
- Supervisor call, yaitu panggilan meminta atau mengaktifkan bagian sistem operasi. Contoh: Proses pemakai running meminta layanan masukan/keluaran seperti membuka file. Panggilan ini menghasilkan transfer ke rutin bagian sistem operasi. Biasanya, penggunaan system call membuat proses pemakai blocked karena diaktifkan proses kernel (sistem operasi).
Pengalihan konteks
Pengalihan konteks dapat terjadi tanpa
pengalihan state process yang sedang running, sedang pengalihan proses
pasti melibatkan juga pengalihan konteks.
Siklus penanganan interupsi adalah :
- Pemroses menyimpan konteks program saat itu yang sedang dieksekusi ke stack.
- Pemroses menset register PC dengan alamat awal program untuk interuppet handler.
- Setelah kedua aktivitas itu, pemroses melanjutkan menjalankan instruksi-instruksi berikutnya di interuppt handler yang melayani interrupt.
- Pelaksanaan interupsi ini belum tentu mengakibatkan pengalihan ke proses lain (yaitu pengalihan PCB proses dari senarai running ke senarai lain (blocked, ready), dan sebaliknya. Kita menyebut pengalihan konteks adalah untuk pengalihan sementara yang singkat, misalnya untuk mengeksekusi program interrupt handler.
- Setelah penanganan interupsi selesa maka konteks yang terdapat pada stack dikembalikan sehingga kembali ke konteks proses semula tanpa terjadi pengalihan ke proses lain. Pengalihan proses terjadi jika proses yang running beralih menjadi state lain (ready, blocked), kemudian sistem operasi harus membuat perubahan-perubahan berarti terhadap lingkungannya. Rincian-rincian dalam pelaksanaan pengalihan proses dibahas setelah ini.
Pengalihan proses
Pengalihan proses terjadi jika proses yang running beralih menjadi state lain (ready, blocked) kemudian sistem operasi membuat perubahan-perubahan berarti terhadap lingkungan.
Langkah-langkah yang terlibat dalam pengalihan proses sebagai berikut :
- Simpan konteks pemroses, termasuk register PC dan register-register lain.
- Perbarui PCB proses yang running. Pelaksanaan termasuk mengubah state proses menjadi salah satu state (ready, blocked, suspendedready).
- Field-field yang relevan juga diperbarui misalnya alasan meninggalkan state running dan informasi akunting.
- Pindahkan PCB proses ke senarai yang cocok (ready, blocked).
- Pilih satu proses lain untuk dieksekusi sesuai dengan teknik penjadwalan.
- Perbarui PCB proses yang dipilih termasuk perubahan state menjadi running.
- Perbarui struktur-struktur data manajemen memori. Pekerjaan ini sesuai dengan pengelolaan translasi alamat.
- Kembalikan konteks pemroses dengan konteks simpanan yang memberitahu konteks proses terakhir saat dialihkan dari state running. Pengembalian konteks ini dilakukan dengan memuatkan nilai-nilai register PC dan register-register lain dengan nilai konteks yang tersimpan.
- Pengalihan proses melibatkan pengalihan konteks dan perubahan state, memerlukan usaha lebih besar daripada pengalihan konteks.
Tabel-tabel proses
Tiap proses mempunyai state yang perlu
diperhatikan sistem operasi yang dicatat dalam beragam tabel atau
senarai yang saling berhubungan, yaitu :
- Tabel informasi manajemen memori, Untuk menjaga keutuhan memori utama dan memori sekunder yang menyimpan informasi tentang :
- Tabel informasi manajemen masukan/keluaran, Untuk mengelola perangkat masukan/keluaran, dimana perangkat tersebut digunakan proses tertenty, sehingga perlu dijaga agar proses lain tidak memakainya. Sistem operasi perlu mengetahui status operasi masukan/keluaran dan lokasi memori utama yang digunakan untuk transfer data.
- Tabel informasi sistem file, Berisi informasi mengenai ekstensi file, lokasi pada memori sekunder, status saat itu dan menyimpan atribut-atribut file lainnya.
- Tabel proses, Untuk mengelola informasi proses di sistem operasi, lokasinya di memori, status dan atribut proses lainnya.
Proses ditempatkan di memori utama di
lokasi tertentu, proses mempunyai satu ruang alamat tersendiri. Ruang
alamat yang digunakan proses disebut citra proses (process image),
karena selain seluruh kode biner program, proses ditambahi
atribut-atribut lain yang berkaitan penempatannya pada suatu lokasi
memori dan status eksekusi pada saat itu.
Elemen-elemen citra proses, sebagai berikut
ELEMEN CITRAPROSES | KETERANGAN | |
Data pemakai | Bagian yang dapat memodifikasi berupa data program, daerah stack pemakai. | |
Program pemakai | Program biner yang dieksekusi. | |
Stack sistem | Digunakan untuk menyimpan parameter dan alamat pemanggilan untuk prosedur dan system calls | |
PCB (Program Control Block) | Berisi informasi yang diperlukan olehsistem operasi dalam mengendalikan proses | |
Struktur umum tabel-tabel kendali ditunjukkan pada gambar berikut :
Gambar 5 : Struktur tabel-tabel kendali pada sistem operasi
PCB dan senarai proses
PCB berisi informasi mengenai proses yang
diperlukan sistem operasi. PCB dibaca dan /atau dimodifikasi rutin
sistem operasi seperti penjadwalan, alokasi sumber daya, pemrosesan
interupsi, monitoring dan analisis kinerja. Kumpulan PCB
mendefinisikan state sistem operasi. Untuk menyatakan senarai proses di
sistem operasi dibuat senarai PCB.
Diagram memperlihatkan hanya satu PCB berada di senarai running.
PCB ini menyatakan proses yang saat itu sedang dieksekusi pemroses
sehingga hanya satu proses yang running. Tentu saja ini tidak berlaku
untuk multiprocessing yang dapat mengeksekusi lebih dari satu proses sekaligus.
Prose-proses ready digambarkan
dengan PCB proses-proses di senarai ready. Proses-proses menunggu
dijadwalkan untuk dieksekusi pemroses. Proses yang dijadwalkan
dieksekusi (yaitu mengalami transisi dari state ready menjadi running) maka PCBnya dipindah dari senarai ready ke senarai running.
Proses running (PCB-nya berada di senarai running) dipindah sesuai state yang dialami proses itu, sebagai berikut :
- Bila proses berakhir (selesai) maka dijalankan operasi terminasi sehingga PCB-nya tak ada lagi.
- Bila proses diblocked karena menunggu alokasi sumber daya maka PCBnyadipindah ke senarai blocked.
- Bila proses dijadwalkan habis jatah waktu eksekusinya maka PCBnya dipindahkan ke senarai ready.
- Proses yang sedang blocked berpindah menjadi ready bila sumber daya yang ditunggu telah teralokasi untuknya. Untuk itu PCBnya dipindahkan ke senarai ready.
Pengaksesan informasi di PCB
Rutin-rutin sistem operasi perlu
mengakses informasi di PCB. Tiap proses dilengkapi ID unik yang
digunakan sebagai indeks (penunjuk) ke tabel untuk mengambil PCB.
Kesulitan bukan pada mekanisme
pengaksesan, tetapi masalah proteksi terhadap PCB. Dua masalah utama
proteksi terhadap PCB, yaitu :
Bug (kesalahan pemrograman) pada rutin
tunggal, misalnya interrupt handler dapat merusak PCB sehingga dapat
berakibat menghancurkan kemampuan sistem mengelola proses-proses yang
diasosiasikan dengan PCB.
Perubahan rancangan struktur dan semantiks PCB dapat berdampak ke sejumlah modul sistem operasi yang memakai PCB.
Kedua masalah tersebut memberi gagasan
agar semua rutin sistem operasi melewati satu rutin khusus, yaitu rutin
penanganan PCB dalam mengakses PCB. Tugas rutin adalah memproteksi PCB
dan menjadi perantara pembacaan dan penulisan PCB. Masalah pertama dapat
dicegah karena rutin penanganan PCB akan selalumenjaga agar PCB tidak
rusak. Masalah kedua jelas langusng teratasi karena antarmuka terhadap
rutin-rutin lain masih tetap dipertahankan walau rincian-rincian PCB
diubah.
Rutin-rutin sistem operasi yang memakai
antarmuka tidak perlu diubah. Teknik ini menghendaki didefinisikan
antarmuka rutin penanganan PCB dan rutin-rutin lain dengan baik.
Kelemahan teknik ini adalah adanya overhead kinerja karena harus
memanggil rutin penanganan PCB. Pengaksesan langsung terhadap PCB tentu
lebih cepat daripada harus memanggil rutin penanganan PCB.
Kedudukan sistem operasi
Sistem operasi pada dasarnya adalah sepert perangkat lunak lain, yaitu program yang perlu dieksekusi pemroses.
Kedudukan sistem operasi dibanding proses-proses lain, adalah :
- Sistem operasi sebagai kernel tersendiri yang berbeda dengan proses-proses lain (kernel sebagai non-proses).
- Fungsi-fungsi sistem operasi dieksekusi dalam proses pemakai.
- Sistem operasi juga sebagai kumpulan proses (process based operating systems).
Kernel sebagai non proses
Ketika proses running diinterupsi atau memanggil system call,
maka konteks pemroses proses ini disimpan dan kendali dilewatkan ke
kernel. Sistem operasi mempunyai daerah memori dan stack sendiri untuk
pemanggilan prosedur.
Sistem operasi melakukan fungsi yang
diinginkan dan mengembalikan konteks proses yang diinterupsi. Eksekusi
proses pemakai yang diinterupsi dilanjutkan. Alternatif lain, sistem
operasi menyimpan lingkungan proses, melakukan penjadwalan dan
menjadwalkan proses lain.
Konsep proses hanya diterapkan untuk
program-program pemakai. Kode sistem operasi dieksekusi sebagai satu
entitas terpisah, beroperasi pada mode kernel. Proses adalah non-kernel,
sedang sistem operasi adala kernel yang bukan proses.
Dieksekusi dalam proses pemakai
Alternatif lain dieksekusi sistem operasi
adalah mengeksekusi sistem operasi di konteks proses pemakai.
Pendekatan ini didasarkan terutama pada pandangan bahwa sistem operasi
sebagai kumpulan rutin yang dipanggil pemakai untuk melakukan beragam
fungsi dan dieksekusi dalam lingkungan proses pemakai.
Pada seluruh waktu, sistem operasi
mengelola N citra proses. Tiap citra tidak hanya mempunyai daerah untuk
proses tapi juga daerah program, data dan stack untuk kernel. Terdapat
juga ruang alamat yang dipakai bersama semua proses. Ketika diinterupsi,
trap atau supervisor call terjadi,pemroses ditempatkan ke mode kernel
dan kendali dilewatkan ke sistem operasi. Konteks pemroses disimpan dan
alih konteks ke rutin sistem operasi.
Eksekusi dilanjutkan dalam proses pemakai
saat itu, tidak dilakukan alih proses, hanya alih konteks di proses
yang sama. Jika sistem operasi telah menyelesaikan tugas, menentukan
apakah proses berlanjut, maka alih konteks meresume program yang
diinterupsi dalam proses itu juga. Keunggulan pendekatan ini adalah
program pemakai yang diinterupsi untuk memperoleh rutin sistem operasi
dan diresume tidak mengalami overhead peralihan dua proses.
Jika sistem operasi menentukan bahwa
alih proses terjadi bukan kembali ke proses semula yang dieksekusi, maka
kendali dilewatkan ke rutin alih proses. Rutin ini boleh dijalankan
pada proses boleh juga tidak, bergantung rancangan sistem. Pada keadaan
ini, proses saat itu menjadi state non-running dan proses lain menjadi
running.
Sistem operasi sebagai kumpulan proses
Pendekatan ini mengimplementasikan sistem operasi sebagai kumpulan proses.
Pendekatan ini digambarkan pada gambar berikut :
Variannya adalah perangkat lunak bagian
kernel dieksekusi dalam mode kernel. Fungsi-fungsi kernel utama
diorganisasi sebagai proses-proses terpisah. Terdapat kode kecil
pengalihan proses yang dieksekusi di luar proses.
Pendekatan ini mempunyai beberapa keunggulan, yaitu :
Mikrokernel
Saat ini, mikrokernel mendapat banyak
perhatian. Mikrokernel adalah inti sistem operasi yang menyebabkan
landasan perluasan sistem operasi. Pendekatan mikrokernel dipopularkan
sistem operasi MACH. Secara teoritis, pendekatan mikrokernel menyediakan
derajat fleksibilitas dan modularitas tinggi. Sistem operasi yang
memakai pendekatan mikrokernel adalah MS Windows NT. Landasan
pendekatan mikrokernel adalah hanya fungsi-fungsi sistem operasi inti
yang secara mutlak esensi yang harus berada di kernel. Layanan-layanan
dan aplikasi-aplikasi yang kurang esensi dibangin diatas mikrokernel
itu. Meskipun pembagian antara yang perlu dan tidak perlu ada di
mikrokernel beragam. Terdapat ciri yang sama yaitu banyak lauanan yang
secara tradisional merupakan bagian sistem operasi menjadi subsistem
eksternal. Subsistem in berinteraksi dengan kernel dan
subsistem-subsistem lain.
Layanan-layanan itu antara lain sistem
file, sistem windowing dan layanan-layanan keamanan.
Komponen-komponen sistem operasi di luar mikrokernel saling
berinteraksi melalui pesan yang dilewatkan melalui mikrokernel. Fungsi
mikrokernel adalh sebagai mediator pertukaran pesan.
Mikrokernel memvalidasi pesan, melewatkan
pesan antara komponen-komponen dan memberi hak pengaksesan perangkat
keras. Struktur ini ideal untuk lingkungan pemrosesan terdistribusi
karena mikrokernel dapat melewatkan pesan baik secara lokal atau jarak
jauh tanpa perubahan komponen-komponen sistem operasi yang lain.
0 komentar:
Posting Komentar