Sistem Komputer - Pengalihan

Sistem Komputer


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 ...