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