Process Switching atau Pengalihan Proses

process switching

 

I. Pengertian Process Switching

Process Switching atau Pengalihan Proses terjadi jika proses yang running beralih menjadi state lain (ready, blocked, dan sebagainya) kemudian sistem operasi membuat perubahan-perubahan berarti  terhadap lingkungan.

 

II. Proses dan Langkah-langkah Process Switching
Kejadian yang berperan 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.

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.

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 blockedkarena diaktifkan proses kernel (sistem operasi).

 

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.