KumpulanMateriKuliah
Proses-Proses
Sistem Operasi
3
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
4
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
5
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
6
7
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)
8
• Alasan penciptaan proses (Process Creation)
9
• Alasan penghentian proses (Process Termination)
10
11
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
12
Multiple Blocked Queues
13
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
14
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
15
16
Process Control Block (PCB) berisi :
- Process identification
- Processor state information
- Process control information
17
18
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
19
• 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.
20
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
21
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
22

4.proses proses

  • 1.
  • 2.
  • 3.
    3 IV. Proses-proses • Terdapatbeberapa 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
  • 4.
    4 Keadaan Proses (ProcessState) • 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
  • 5.
    5 Sekarang marilah kitatrace 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
  • 6.
  • 7.
    7 Model proses duakeadaan • 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)
  • 8.
    8 • Alasan penciptaanproses (Process Creation)
  • 9.
    9 • Alasan penghentianproses (Process Termination)
  • 10.
  • 11.
    11 Model proses limakeadaan • 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
  • 12.
  • 13.
    13 Proses Swapping • Jikamain 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
  • 14.
    14 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
  • 15.
  • 16.
    16 Process Control Block(PCB) berisi : - Process identification - Processor state information - Process control information
  • 17.
  • 18.
    18 Peranan Process ControlBlock • 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
  • 19.
    19 • Dua masalahutama 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.
  • 20.
    20 Process Switching • Pengalihandari 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
  • 21.
    21 Context Switching • Padasaat 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
  • 22.