Anda di halaman 1dari 21

Proses-Proses

Sistem Operasi
IV. Proses-proses
• 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

2
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 seperti pada
gambar berikut. Tanpa virtual memory.
Dispatcher adalah program
kecil yang memindahkan
processor dari suatu proses ke
proses lain dengan
mengubah-ubah nilai
Program Counter

3
Sekarang marilah kita trace proses-proses ini
• Proses B setelah
berakhir memanggil
operasi I/O
• Prosesor maksimal
mengeksekusi 6 siklus
instruksi
• Setelah itu prosesor di
interrupt diikuti dengan
time out dan eksekusi
kode dispatcher
4
5
Model proses dua keadaan
• Dari contoh di atas
terdapat dua keadaan
proses yaitu di eksekusi
oleh prosesor atau tidak.
Jadi dapat dikatakan
terdapat dua keadaan
(state) yaitu Running dan
Not-running
• Proses yang diinterrupt
akan masuk ke antrian
(queueing)

6
• Alasan penciptaan proses (Process Creation)

7
• Alasan penghentian proses (Process Termination)

8
9
Model proses lima keadaan

• New : Proses baru saja dibuat


• Ready : Proses yang siap dieksekusi menunggu kesempatan
• Blocked : Proses tidak dapat dieksekusi karena menunggu
suatu kejadian terjadi misal menunggu I/O selesai
• Running : Proses sedang dieksekusi
• Exit : Proses sudah selesai
10
Multiple Blocked Queues

11
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

12
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 13
14
Process Control Block (PCB) berisi :
- Process identification
- Processor state information
- Process control information

15
16
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 sistem operasi.
• 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

17
• 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.
18
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
19
Context Switching
• Pada saat tidak terjadi interrupt (ingat kembali
siklus interrupt) processor akan mengerjakan siklus
fetch instruksi di dalam proses yang lagi running
dengan melakukan context switching :
- Processor menyimpan konteks program yang
sedang diekseskusi ke stack
- Processor menset register PC ke alamat awal dari
program interrupt handler

20
21

Anda mungkin juga menyukai