Pert-03 |Deskripsi dan Kontrol Proses

Download Report

Transcript Pert-03 |Deskripsi dan Kontrol Proses

Deskripsi
dan
Kontrol Proses
(Pertemuan ke-3)
Agustus 2010
Pokok Bahasan
 Pokok Bahasan:
 Deskripsi dan Kontrol Proses
 Sub Pokok Bahasan:
 Konsep proses
 Elemen-elemen proses
 Model proses 2 status, 5 status, dan 6 status
 TIU:
 Mahasiswa dapat memahami konsep dasar deskripsi dan kontrol
pada proses
 TIK:
 Mahasiswa dapat menjelaskan konsep proses
 Mahasiswa dapat menjelaskan elemen-elemen proses
 Mahasiswa dapat menjelaskan setiap status pada model proses 2
status, 5 status, dan 6 status
Sistem Operasi/201108912 #1
Sub Pokok Bahasan:
Konsep proses:
 Definisi proses
 Status proses
Sistem Operasi/201108912 #2
Tugas OS Terhadap Proses
 Mengeksekusi banyak proses secara
interleave (selang-seling) agar utilisasi
prosesor maksimal dan response time setiap
proses masih bisa diterima
 Menyediakan resource bagi setiap proses
 Mendukung komunikasi antar proses dan
penciptaan proses baru oleh user
Sistem Operasi/201108912 #3
Konsep-Konsep Sebelumnya
 Platform komputer terdiri dari sekumpulan resource
hardware
 Program aplikasi komputer dibuat untuk melakukan beberapa
task (pekerjaan)
 Sangatlah tidak efisien jika program aplikasi dibuat hanya
khusus bagi platform hardware tertentu
 Sistem operasi harus nyaman dan aman digunakan serta
mempunyai banyak fitur dan interface yang konsisten
 Sistem operasi dapat memberikan gambaran resource secara
uniform (seragam) sehingga dapat diminta dan diakses oleh
program aplikasi
Sistem Operasi/201108912 #4
Mengapa Eksekusi Proses Harus Diatur ?
 Agar resource selalu tersedia bagi banyak
aplikasi
 Agar prosesor dapat digunakan oleh banyak
aplikasi secara bergantian
 Agar prosesor dan I/O device dapat
digunakan secara efisien
Sistem Operasi/201108912 #5
Apakah Proses itu ?
 Program yang dieksekusi
 Program yang sedang berjalan di komputer
 Entitas yang dapat diberikan kepada prosesor
untuk dieksekusi
 Sebuah aktifitas yang sangat dipengaruhi
oleh hasil eksekusi sebelumnya, status saat
ini, dan sejumlah resource sistem yang
tersedia
Sistem Operasi/201108912 #6
Apa Saja Elemen Proses yang Sedang Running ?
(1)
 Identifier
 Identitas unik untuk membedakan suatu proses dengan proses
lainnya
 State
 Status (kondisi) suatu proses (sedang dieksekusi, sedang diblok, dll)
 Priority
 Prioritas suatu proses terhadap proses yang lain
 Program counter
 Alamat instruksi berikutnya yang akan dieksekusi
 Memory pointers
 Pointer yang menunjuk pada alamat memori kode program dan data
yang berhubungan dengan proses dan blok memori yang di-shared
dengan proses lain (jika ada)
Sistem Operasi/201108912 #7
Apa Saja Elemen Proses yang Sedang Running ?
(2)
 Context data
 Data yang terdapat pada register prosesor ketika suatu
proses sedang dieksekusi
 I/O status information
 Informasi tentang permintaan terhadap I/O device yang
belum terpenuhi (misal akses ke harddisk), daftar file
yang sedang digunakan oleh proses, dll
 Accounting information
 Informasi tentang jumlah waktu prosesor yang telah
digunakan, jumlah waktu proses, batas waktu proses,
nomor account, dsb.
Sistem Operasi/201108912 #8
Process Control Block (PCB) (1)
 Struktur data yang menyimpan elemenelemen proses
 Dibuat dan diatur oleh sistem operasi
 Mendukung adanya multi proses
 Bersama-sama dengan kode program dan
data yang diperlukan membentuk sebuah
proses
 Proses = PCB + kode program + data yang
diperlukan
Sistem Operasi/201108912 #9
Process Control Block (PCB) (2)
 Sebagian isi PCB:
Sistem Operasi/201108912 #10
Agenda:
Konsep proses:
 Definisi proses
 Status proses
Sistem Operasi/201108912 #11
Status Proses
 Status proses merupakan kondisi suatu proses
(setiap saat setiap proses mempunyai sebuah
kondisi)
 Sebuah kondisi bisa dimiliki oleh banyak proses
 Trace proses:
 Adalah daftar urut-urutan alamat memori suatu proses
yang telah dieksekusi
 Program dispatcher:
 Bagian dari sistem operasi yang mengatur giliran
pemanfaatan prosesor kepada suatu proses ke proses
yang lain
Sistem Operasi/201108912 #12
Contoh Trace Proses
Sedang
mengakses
I/O  wait
Sistem Operasi/201108912 #13
Contoh Eksekusi Proses
(1)
 Asumsi:
tidak ada
memori virtual
 semua
proses ditaruh
di memori
Sistem Operasi/201108912 #14
Contoh Eksekusi
Proses (2)
 Gabungan
trace 3 buah
proses:
 Dilihat dari
sisi prosesor
Proses A
Dispatcher
Dispatcher
Proses A
Proses B
Dispatcher
Dispatcher
Proses C
Sistem Operasi/201108912 #15
Contoh Eksekusi 3 buah Proses
Sistem Operasi/201108912 #16
Pembentukan Proses
 Siapa yang membentuk proses ?
 Sistem operasi
 Setiap proses dilengkapi dengan PCB
 Apa yang dapat menyebabkan terbentuknya proses baru ?
 Masuknya job baru (program aplikasi)
 Pada model batch system: proses terbentuk akibat job baru (berupa baris-baris
program) yang ditulis pada tape magnetic atau harddisk yang sedang dieksekusi
 Log on dari user
 Pada sistem interaktif: proses terbentuk ketika user melakukan log on pada sistem
 Sebagai bentuk layanan OS kepada program aplikasi
 Misal: Ada program aplikasi yang perlu mencetak ke printer  OS membentuk
proses yang mengatur printer
 Dibentuk oleh proses lain (process spawning)
 Parent process = proses induk = proses yang membentuk proses lain
 Child process = proses anak = proses yang dibentuk oleh proses induk
 Misal: Print server atau file server akan selalu membentuk proses baru setiap ada
permintaan dari client
Sistem Operasi/201108912 #17
Apa Penyebab Terminasi Proses ?
(1)
 Proses telah selesai secara normal:
 Model batch job: terdapat instruksi halt yang menandakan proses
telah selesai
 Sistem interaktif: proses di-close oleh user (close, log off, turn off,
dsb)
 Jatah waktu telah habis:




Total waktu sejak proses dibentuk
Total waktu proses aktif
Total waktu sejak user memberikan input
Dsb
 Memori tidak tersedia:
 Proses membutuhkan memori lebih besar tetapi tidak terpenuhi
 Bounds violation:
 Proses mencoba mengakses lokasi memori proses lain
Sistem Operasi/201108912 #18
Apa Penyebab Terminasi Proses ?
(2)
 Protection error:
 Proses mencoba menggunakan resource (file) yang tidak boleh
diakses
 Misal: mencoba menulis pada file dengan atribut read only
 Arithmatic error:
 Kesalahan komputasi, misal division by zero
 Time overrun:
 Proses telah menunggu melebihi batas waktu yang telah ditentukan
 I/O failure:
 Terjadi kesalahan pada saat mengakses I/O
 Misal:
 Tidak dapat menemukan file yang dicari
 Gagal membaca/menulis file sesudah mencoba beberapa kali (akibat
adanya bad sector atau membaca data dari printer)
Sistem Operasi/201108912 #19
Apa Penyebab Terminasi Proses ?
(3)
 Instruksi invalid:
 Proses mencoba mengeksekusi instruksi yang tidak ada (akibat
pencabangan mengarah pada area data)
 Privileged instruction:
 Proses mencoba menggunakan instruksi yang disediakan khusus
bagi sistem operasi (misal perintah ke I/O)
 Kesalahan data
 Tipe data salah atau data tidak diinisialisasi
 Ada intervensi dari operator atau OS
 Dilakukan pada saat terjadi deadlock (hang)
 Proses induk (parent) diterminasi
 Jika proses induk diterminasi  proses semua proses anaknya ikut
terterminasi
 Diterminasi proses induk
 Proses induk berhak untuk melakukan terminasi terhadap proses
anaknya
Sistem Operasi/201108912 #20
Model Proses
 Proses dengan 2 status:
 Running
 Not running
 Proses dengan 5 status:





New
Ready
Running
Exit
Blocked
 Proses dengan 6 status:
 Proses dengan 5 status + Suspend
 Proses dengan 7 status:
 Proses dengan 5 status + Ready/Suspend + Blocked/Suspend
Sistem Operasi/201108912 #21
Model Proses Dengan 2-Status
(1)
 Merupakan model proses paling sederhana
 Setiap proses akan selalu berada pada salah satu
dari 2 status berikut:
 Running
 Not-running
Sistem Operasi/201108912 #22
Model Proses Dengan 2-Status
(2)
 Apa yang dilakukan OS ?
 OS membentuk proses baru dilengkapi dengan PCB
untuk proses tersebut
 Masukkan proses baru ke sistem:
 Jika tidak ada proses yang sedang Running  Proses langsung
diberi status Running  langsung dieksekusi
 Jika ada proses yang sedang Running  masukkan proses
dengan status Not-running
 Jika proses yang running ter-interrupt, maka:
 OS menjalankan program dispatcher untuk memilih proses
berikutnya yang akan dieksekusi
 Masukkan proses tersebut ke status Not-running
Sistem Operasi/201108912 #23
Model Antrian Pada Proses Dengan 2-Status
 Diagram antrian proses dengan 2-status:
 Hanya digunakan sebuah antrian  di dalam antrian terdapat
berbagai macam status proses (siap running, ter-blok, menunggu I/O,
dll)
 Kelemahan:
 Pemilihan proses selanjutnya yang akan dieksekusi tidak cukup hanya
dengan algoritma FIFO
 Dispatcher harus mencari proses yang siap running diantara proses
proses yang lain yang terblok karena sedang menunggu hasil I/O
Butuh algoritma yang lebih rumit
Sistem Operasi/201108912 #24
Model Proses Dengan 5-Status
 Proses dengan 5-status:
Terminate
 Proses yang sedang antri dikelompokkan menjadi 2:
 Proses yang siap running/ready (misal terhenti karena time out)
 Proses yang ter-blok (misal butuh memori lebih besar, menunggu
I/O device)
Sistem Operasi/201108912 #25
Nama Status pada proses dengan 5-status
(1)
 New:
 Status untuk proses yang baru saja terbentuk
 Misal: log on dari user, buka MS-word, dll
 Program dan data tidak langsung ditaruh ke
memori, jika:
 Jumlah proses yang sedang ditangani sudah
maksimum  agar performansi sistem terjaga
 Memori tidak mencukupi
 Ready:
 Proses yang siap untuk dieksekusi
 Sudah berada di memori
Sistem Operasi/201108912 #26
Nama Status pada proses dengan 5-status
(2)
 Running:
 Proses sedang dieksekusi
 Dalam satu saat hanya satu proses yang boleh running
(uniprosesor)
 Blocked:
 Proses yang terpaksa berhenti karena sedang
menunggu suatu event terjadi
 Misal: proses yang sedang menunggu selesainya aktifitas di I/O
 Exit:
 Proses yang sudah selesai (keluar dari daftar proses yang
dapat dieksekusi)
 Penyebab: program sudah selesai atau dibatalkan
Sistem Operasi/201108912 #27
Model Proses Dengan 5-Status
 Proses dengan 5-status:
Terminate
 Proses yang sedang antri dikelompokkan menjadi 2:
 Proses yang siap running/ready (misal terhenti karena time out)
 Proses yang ter-blok (misal butuh memori lebih besar, menunggu
I/O device)
Sistem Operasi/201108912 #28
Perpindahan Status Untuk Proses 5-Status
(1)
 Null  New:
 Pembentukan proses baru
 New  Ready:
 Penambahan proses baru yang siap dieksekusi
 Proses baru telah ‘diakui’ oleh sistem operasi
 Proses dipindah dari harddisk ke memori
 Ready  Running:
 Satu proses terpilih dieksekusi
 Running  Exit:
 Proses telah selesai atau dibatalkan
 Running  Ready:
 Proses yang sedang running dipaksa berhenti
(preempted)
 Penyebab:
 Waktu habis (time out)
 Datang proses berprioritas lebih tinggi
Sistem Operasi/201108912 #29
Perpindahan Status Untuk Proses 5-Status
(2)
 Running  Blocked:
 Proses yang sedang running terpaksa berhenti
 Penyebab:
 Sedang menunggu file yang sedang diakses oleh proses lain
 Sedang menunggu proses di I/O selesai
 Butuh memori lebih besar
 Sedang menunggu data hasil eksekusi proses lain
 Sedang menunggu proses yang akan diajak berkomunikasi tetapi
sedang sibuk
 Blocked  Ready:
 Proses terbebas dari blocked setelah event yang
ditunggu telah tersedia
Sistem Operasi/201108912 #30
Perpindahan Status Untuk Proses 5-Status
(3)
 Ready  Exit:
 Proses yang siap dieksekusi dipaksa keluar (terminasi)
 Penyebab:
 Proses anak yang ‘dibunuh’ oleh proses induk
 Dihentikan oleh user
 Blocked  Exit:
 Proses yang terblok diterminasi
 Penyebab sama dengan penyebab Ready  Exit
Sistem Operasi/201108912 #31
Eksekusi Proses Dengan Dua Antrian
(1)
 Cara kerja:
 Proses baru  Ready queue
 Jika tidak ada proses yang running  langsung dieksekusi
 Proses yang sedang running selesai/ter-blok  Pilih satu proses
di ready queue untuk dieksekusi
 Jika selesai  keluar
 Jika time out  masuk ready queue
 Jika perlu resource lain  masuk blocked queue
Sistem Operasi/201108912 #32
Eksekusi Proses Dengan Dua Antrian
(2)
 Apa kelemahan sistem dengan 2 antrian ?
 Jika proses yang ter-blok sangat banyak dan masingmasing menunggu event yang berbeda-beda  Jika
datang suatu event, maka OS harus menyeleksi
proses yang mana yang sedang membutuhkan event yang
datang
butuh waktu
butuh algoritma lebih rumit
 Apa kelebihannya ?
Sistem Operasi/201108912 #33
Eksekusi Proses Dengan Banyak Antrian
(1)
Sistem Operasi/201108912 #34
Eksekusi Proses Dengan Banyak Antrian
(2)
 Cara kerja:
 Sama seperti pada eksekusi proses dengan dua antrian
 Bedanya untuk setiap event yang berbeda disediakan
sebuah antrian tersendiri
 Kelebihan:
 Jika suatu event yang ditunggu telah tiba  pemilihan
proses yang membutuhkan event tersebut lebih mudah
dan cepat (algoritmanya lebih sederhana)
 Pengembangan lebih lanjut:
 Jika terdapat proses dengan prioritas berbeda  untuk
setiap prioritas disediakan ready queue masing-masing
Sistem Operasi/201108912 #35
Model Proses Dengan 6-Status
di harddisk
• Status yang ditambahkan: suspend state
Sistem Operasi/201108912 #36
Mengapa perlu ada suspend state ?
(1)
 Memori telah dipenuhi oleh proses atau bagian
proses yang berada pada status blocked akibat
sedang menunggu suatu event (I/O, memori, dll),
sehingga tidak ada proses yang siap dieksekusi,
maka:
 Semua proses menunggu
 Prosesor menganggur
 Semakin lama ukuran program semakin besar,
maka:
 Memori yang dibutuhkan semakin besar
 Jumlah program yang dapat dieksekusi semakin sedikit
Sistem Operasi/201108912 #37
Mengapa perlu ada suspend state ?
(2)
 Tambah memori  mahal
 Lakukan swapping (pindahkan proses yang
berada pada status blocked dari memori ke
harddisk)
 Proses berubah status dari blocked menjadi suspend
 Memori yang kosong bertambah besar:
Dapat dimanfaatkan oleh proses yang butuh memori lebih
besar, atau
Dapat ditambahkan proses baru ke memori, atau
Pindahkan proses lain yang ter-suspend dan siap running dari
harddisk ke memori
Sistem Operasi/201108912 #38
Referensi:
[STA09] Stallings, William. 2009. Operating System:
Internal and Design Principles. 6th edition.
Prentice Hall
Sistem Operasi/201108912 #39