- Terdapat beberapa definisi proses, diantaranya proses sebagai program yang sedang dalam keadaan eksekusi.
- Proses membutuhkan sumber daya seperti CPU time, memori, file dan I/O.
- Proses yang khusus berhubungan dengan kegiatan penjadwalan sering disebut thread. Dalam perkembangannya proses dan thread dibedakan.
- Relasi Thread terhadap proses (1:1, M:1, 1:M, M:M) jika ditinjau dari sudut pandang proses, sistem operasi harus mampu:
- Melanjutkan tanpa henti (interleave) beberapa proses.
- Mengalokasikan sumber daya untuk proses.
- Mendukung komunikasi antar proses dan penciptaan proses.
Keadaan Proses (Process State)
Ditinjau dari sudut pandang processor, proses-proses dieksekusi dengan mengubah-ubah nilai pada register PC. Misal pada main memory terdapat program yang terload. Dispatcher adalah program kecil yang memindahkan processor dari suatu proses ke proses lain dengan mengubah-ubah nilai Program Counter.
Proses Swapping
- Jika main memory sudah penuh dan banyak proses yang berada pada keadaan block atau ready. Maka proses tersebut dapat disimpan ke dalam virtual memory yaitu disk atau hard disk
- Keadaan ini dinamai suspend. Terdapat block suspend dan ready suspend.
Struktur pengontrolan proses
- Untuk mengontrol proses dan sumber daya, sistem operasi menyusun suatu tabel pengontrolan yang berisi status/keadaan dari proses dan sumber daya.
- Tabel untuk proses disebut process image yang berisi : - User data - User program - System stack - Process Control Block: berisi attribut dari proses.
Peranan Process Control Block
- PCB berperan penting di sistem operasi. Tiap PCB berisi informasi mengenai proses yang diperlukan sistem operasi.
- PCB dibaca dan/atau dimodifikasi oleh hampir semua modul sistem operasi, seperti modul-modul yang terlibat pada penjadwalan, alokasi sumber daya, pemrosesan interrupt, monitoring dan analisis kinerja.
- Kumpulan PCB mendefinisikan status / keadaan dari proses.
- Sejumlah rutin di Sistem operasi perlu mengakses informasi di PCB. Ijin mengakses tabel informasi tidak sulit, karena tiap proses dilengkapi dengan ID unik yang digunakan sebagai index table pointer untuk PCB.
- Tapi masalahnya bukan pengaksesan tapi proteksinya.
- Dua masalah utama proteksi terhadap PCB
-> Bug (kesalahan pemrograman) pada rutin tunggal, misalnya interrupt handler dapat merusak PCB sehingga dapat mengakibatkan hancurnya kemampuan sistem mengelola proses
-> Perubahan rancangan struktur dan semantik dari PCB dapat berdampak ke sejumlah modul sistem operasi yang memakai PCB
- Cara mengatasinya dengan membuat semua routine yang berhubungan dengan proses harus melewati routine handler khusus untuk PCB
- Routine Handler PCB ini melindungi PCB dari pembacaaan dan penulisan.
Process Switching
- Pengalihan dari suatu proses ke proses lain dengan membuat proses yang running menjadi state ready atau block.
- Kejadian yang menyebabkan Process Switching :
-> Interrupt
* Clock interrupt: Proses yang running akan dibuat menjadi ready bila telah melampaui waktu tertentu .
* I/O Interrupt : alat I/O meminta layanan .
* Memory fault: Prosesor menemui alamat virtual memory yang dibutuhkan tidak ada di main memory.
- Trap : interrupt akibat kesalahan atau kondisi pengecualian jika kesalahan fatal, proses akan dikeluarkan.
- Supervisor call.
Materi lengkap [PPT]Proses - Proses
Sumber : Selvia Lorena Br. Ginting, S.Si., MT, Unikom
0 komentar:
Posting Komentar