Sistem Komputer - 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 :
1. Kejadian-kejadian apa yang memicu alih proses ?
2. Masalah lain adalah terdapatnya perbedaan antara alih proses (process
switching) dan alih konteks (context switching).
3. 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 :
1. 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 :
- Interupsi clock (clock interrupt)
Sistem operasi (penjadwal) menentukan apakah proses yang sedang running
telah mengeksekusi selama jatah waktunya. Jika telah mencapai jatahnya maka
proses dialihkan ke state ready dan proses lain dijadwalkan
running.
- Interupsi masukan/keluaran
Kejadian dimana peralatan masukan/keluaran melakukan interupsi meminta
layanan sistem operasi. Sistem operasi segera menentukan aksi-aksi
masukan/keluaran yang harus dilakukan.
- Page/memory fault
Pemroses menemui pengacuan alamat memori maya yang tidak terdapat di
memori utama (fisik). Sistem operasi segera memerintahkan untuk mengambil
page yang terdapat alamat yang dimaksud untuk dipindah ke memori utama.
2. 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 ?
a. Jika fatal, proses yang saat itu running disingkirkan dan terjadi alih proses.
b. Jika kesalahan tidak fatal maka bergantung sifat kesalahan dan rancangan
sistem operasi.
Kemungkinan yang dilakukan adalah menjalankan prosedur pemulihan atau
memperingkatkan ke pemakai. Saat terjadi trap, mungkin terjadi pengalihan
proses mungkin pula resume proses.
3. 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 :
1. Pemroses menyimpan konteks program saat itu yang sedang dieksekusi ke
stack.
2. 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.
Sistem Komputer - Pengalihan proses, langsung klik sistem komputer untuk melanjutkan.
0 comments:
Posting Komentar
Silahkan jika ada pertanyaan dan beri tanggapan anda dengan berkomentar disini ...