Proses Switching atau Pengalihan proses akan terjadi jika proses yang di running beralih menajadi state lain (ready,blocked) kemudian system operasi membuat perubahan-perubahan berarti terhadap lingkungan.
Apa itu Ready dan blocked..?
- Ready, Proses siap dieksekusi, tetapi proses tidak tersedia untuk eksekusi proses ini.
- Blocked, Proses menunggu kejadian untuk melengkapi tugasnya
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 ?
- 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.
- Trap, Adalah interupsi karena terjadinya kesalahan atau kondisi kekecualian (exception conditions) yang dihasilkan proses yang running, seperti usaha illegal dalam mengakses file.
- Apakah 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 blockedkarena diaktifkan proses kernel (sistem operasi).
Notice: Pengalihan konteks dapat terjadi tanpa pengalihan state process yang sedang running, sedang pengalihan proses pasti melibatkan juga pengalihan konteks.
Langkah – Langkah pada Proses Switching
Langkah-langkah yang terlibat dalam pengalihan proses(Proses Switching) 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.
sumber : http://blog.ub.ac.id/rusliawan/
1 comments:
Thank you
Post a Comment