Deskripsi
Deskripsi
dddan
dan
Kontrol Proses
Kontrol Proses
Kontrol Proses
Kontrol Proses
Agenda:
Agenda:
Konsep proses:
p p
Definisi proses
St t
Status proses
Tugas OS Terhadap
Tugas OS Terhadap
Proses
Proses
Mengeksekusi banyak proses
secara
interleave
(selang-seling) agar utilisasi
interleave
(selang seling) agar utilisasi
prosesor maksimal dan
response time
setiap
proses masih bisa diterima
proses masih bisa diterima
Menyediakan
resource
bagi setiap proses
M d k
k
ik i
t
d
Mendukung komunikasi antar proses dan
Konsep
Konsep--Konsep Sebelumnya
Konsep Sebelumnya
Platform
komputer terdiri dari
sekumpulan
resource
hardware
Program aplikasi komputer dibuat untuk melakukan
beberapa
task
(pekerjaan)
f
Sangatlah
tidak efisien
jika program aplikasi dibuat hanya
khusus bagi
platform hardware
tertentu
Sistem operasi harus
nyaman dan aman
digunakan serta
Sistem operasi harus
nyaman dan aman
digunakan serta
mempunyai banyak fitur dan
interface
yang konsisten
Sistem operasi dapat memberikan
gambaran
resource
secara
Sistem operasi dapat memberikan
gambaran
resource
secara
uniform
(
seragam) sehingga dapat diminta dan diakses oleh
program aplikasi
Mengapa
Mengapa
Eksekusi Proses
Eksekusi Proses
Harus Diatur ?
Harus Diatur ?
Agar
resource
selalu tersedia
bagi banyak
aplikasi
aplikasi
Agar
prosesor
dapat digunakan oleh banyak
aplikasi
secara bergantian
aplikasi
secara bergantian
Agar prosesor dan
I/O device
dapat
di
k
fi i
Apakah
Apakah
Proses
Proses
itu ?
itu ?
Program yang dieksekusi
Program yang sedang berjalan di komputer
Program yang sedang berjalan di komputer
Entitas yang dapat diberikan kepada prosesor
t k di k k i
untuk dieksekusi
Sebuah aktifitas yang sangat dipengaruhi
oleh hasil eksekusi sebelumnya, status saat
ini, dan sejumlah
resource
sistem yang
Apa Saja Elemen
Apa Saja Elemen
Proses
Proses
yang Sedang
yang Sedang
Running
Running
??
(1)(1)
Identifier
Identitas unik untuk membedakan suatu proses dengan proses lainnya
lainnya
State
Status (kondisi)( ) suatu proses (sedang dieksekusi, sedang diblok, dll)p ( g , g , )
Priority
Prioritas suatu proses terhadap proses yang lain
P
Program counter
Alamat instruksi berikutnya yang akan dieksekusi
Memory pointers
Memory pointers
Pointer
yang menunjuk pada alamat memori kode program dan data yang berhubungan dengan proses dan blok memori yang di-shared
Apa Saja Elemen
Apa Saja Elemen
Proses
Proses
yang Sedang
yang Sedang
Running
Running
??
(2)(2)
Context data
Data yang terdapat pada
register prosesor
ketika suatu
Data yang terdapat pada
register prosesor
ketika suatu
proses sedang dieksekusi
I/O status information
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
Process Control Block (PCB)
Process Control Block (PCB)
(1)(1)
Struktur data yang menyimpan
elemen-elemen proses
elemen proses
Dibuat dan diatur oleh sistem operasi
M d k
d
lti
Mendukung adanya multi proses
Bersama-sama dengan kode program dan
data yang diperlukan membentuk sebuah
proses
Proses = PCB + kode program + data yang
Process Control Block (PCB)
Process Control Block (PCB)
(2)(2)
Sebagian isi PCB:
Sebagian isi PCB:
Agenda:
Agenda:
Konsep proses:
p p
Definisi proses
St t
Status proses
Status Proses
Status Proses
Status proses merupakan
kondisi suatu proses
(setiap saat setiap proses mempunyai sebuah
(
p
p p
p y
kondisi)
Sebuah kondisi bisa dimiliki oleh banyak proses
Trace
proses:
Adalah
daftar urut-urutan alamat memori
suatu proses
yang telah dieksekusi
Program
dispatcher
:
B i
d i i t
i
t
ili
Bagian dari sistem operasi yang mengatur giliran
pemanfaatan prosesor kepada suatu proses ke proses
yang lain
Contoh
Contoh
Trace
Trace
Proses
Proses
Sedang mengakses g I/O wait
Contoh Eksekusi Proses
Contoh Eksekusi Proses
(1)(1)
Asumsi:
tidak ada
tidak ada
memori virtual
semua
proses ditaruh
p
di memori
Contoh Eksekusi
Contoh Eksekusi
Proses
Proses
(2)(2) Proses AProses A
Gabungan
trace 3 buah
Dispatcher Dispatcher Dispatcher Dispatcherproses:
Dilihat dari
sisi prosesor
Dispatcher Dispatcher Proses B Proses B Proses A Proses Asisi prosesor
Dispatcher Dispatcher Dispatcher Dispatcher Dispatcher Dispatcher Proses C Proses CContoh Eksekusi 3 buah Proses
Contoh Eksekusi 3 buah Proses
Pembentukan Proses
Pembentukan Proses
Siapa yang membentuk proses ?
Sistem operasi
S ti dil k i d PCB 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
P d i t i t ktif t b t k k tik l k k l d i t
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 proses yang mengatur printer
Dibentuk oleh proses lain (process spawning)
Apa Penyebab
Apa Penyebab Terminasi Proses
Terminasi Proses ??
(1)(1)
Proses telah selesai secara normal:
Model
batch job
: terdapat instruksi halt yang menandakan proses telah selesaitelah 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 proses aktif
Total waktu sejak user memberikan input Dsb
M
i tid k t
di
Memori tidak tersedia:
Proses membutuhkan memori lebih besar tetapi tidak terpenuhi
Bounds violation
:
Apa Penyebab
Apa Penyebab Terminasi Proses
Terminasi Proses ??
((22))
Protection error
:
Proses mencoba menggunakan
resource
(file) yang tidak boleh diaksesdiakses
Misal: mencoba menulis pada file dengan atribut
read only
Arithmatic error
:
Kesalahan komputasi, misal
division by zero
Time overrun
:
P t l h l bihi b t kt t l h dit t k
Proses telah menunggu melebihi batas waktu yang telah ditentukan
I/O failure
:
Terjadi kesalahan pada saat mengakses I/Oj p g / Misal:
Apa Penyebab
Apa Penyebab Terminasi Proses
Terminasi Proses ??
((33))
Instruksi invalid
:
Proses mencoba mengeksekusi instruksi yang tidak ada (akibat pencabangan mengarah pada area data)
pencabangan mengarah pada area data)
Privileged instruction
:
Proses mencoba menggunakan instruksi yang disediakan khusus bagi sistem operasi (misal perintah ke I/O)
bagi sistem operasi (misal perintah ke I/O)
Kesalahan data
Tipe data salah atau data tidak diinisialisasi
d i
i d i
OS
Ada intervensi dari operator atau OS
Dilakukan pada saat terjadi
deadlock
(hang
)
Proses induk (
(
parent
p
) diterminasi
)
Jika proses induk diterminasi proses semua proses anaknya ikut terterminasi
Diterminasi proses induk
Diterminasi proses induk
Model Proses
Model Proses
Proses dengan 2 status:
Running
Not running
Proses dengan 5 status:
New
New
Ready
Running
E it
Exit
Blocked
Proses dengan 6 status:
g
Proses dengan 5 status +
Suspend
Proses dengan 7 status:
Model Proses Dengan
Model Proses Dengan
22--Status
Status
(1)(1)
Merupakan model proses paling
sederhana
Setiap proses akan selalu berada pada salah satu
Setiap proses akan selalu berada pada salah satu
dari 2 status berikut:
Running
Model Proses Dengan
Model Proses Dengan
22--Status
Status
(2)(2)
Apa yang dilakukan OS ?
OS membentuk proses baru dilengkapi dengan PCB
p
g p
g
untuk proses tersebut
Masukkan proses baru ke sistem:
Jik tid k d dR
i
P l
Jika tidak ada proses yang sedangRunning
Proses langsung diberi statusRunning
langsung dieksekusi
Jika ada proses yang sedangRunning
masukkan prosesd t t
N t
i
dengan status
Not-running
Jika proses yang
running
ter-
interrupt
, maka:
OS menjalankan program j p gdispatcher
p
untuk memilih proses p berikutnya yang akan dieksekusiModel Antrian Pada Proses Dengan
Model Antrian Pada Proses Dengan
22--Status
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/Oberbagai macam status proses (siap
running
, ter-blok, menunggu I/O, dll) Kelemahan:
Pemilihan proses selanjutnya yang akan dieksekusi tidak cukup hanyaModel Proses Dengan
Model Proses Dengan
55--Status
Status
Proses dengan 5-status:
Terminate
Proses yang sedang antri dikelompokkan menjadi 2:
Nama Status
Nama Status
pada proses dengan
pada proses dengan
55--status
status
(1)(1)
New
:
Status untuk proses yang baru saja terbentuk
Status untuk proses yang baru saja terbentuk
Misal:
log on
dari
user
, buka MS-word, dll
Program dan data
tidak langsung ditaruh ke
Program dan data
tidak langsung ditaruh ke
memori
, jika:
Jumlah proses yang sedang ditangani sudah
maksimum
agar performansi
sistem terjaga
Memori tidak mencukupi
R d
Ready
:
Nama Status
Nama Status
pada proses dengan
pada proses dengan
55--status
status
(2)(2)
Running
:
Proses
sedang
g
dieksekusi
Dalam satu saat
hanya satu proses
yang boleh
running
(uniprosesor)
l k d
Blocked
:
Proses yang
terpaksa berhenti
karena sedang
t
t
t j di
menunggu suatu
event
terjadi
Misal: proses yang sedang menunggu selesainya aktifitas di I/O
Exit
:
Exit
:
Model Proses Dengan
Model Proses Dengan
55--Status
Status
Proses dengan 5-status:
Terminate
Proses yang sedang antri dikelompokkan menjadi 2:
Perpindahan Status
Perpindahan Status
Untuk Proses
Untuk Proses
55--Status
Status
(1)(1)
Null
New
:
Pembentukan
proses baru
New
Ready
:
New
Ready
:
Penambahan proses baru
yang siap dieksekusi
Proses baru telah ‘diakui’ oleh sistem operasi
Proses dipindah dari
harddisk
ke memori
Proses dipindah dari
harddisk
ke memori
Ready
Running
:
Satu
proses
terpilih
dieksekusi
R
i
E it
Running
Exit
:
Proses
telah selesai
atau dibatalkan
Running
g
Ready
y
:
Proses yang sedang
running
dipaksa berhenti
Perpindahan Status
Perpindahan Status
Untuk Proses
Untuk Proses
55--Status
Status
(2)(2)
Running
Blocked
:
Proses yang sedang
running
terpaksa
berhenti
Proses yang sedang
running
terpaksa
berhenti
Penyebab:
Sedang menunggufile
yang sedang diakses oleh proses lain
Sedang menunggu proses di I/O selesai
Butuh memori lebih besar
Sedang menunggu data g gg hasil eksekusi proses lainp
Sedang menunggu proses yang akan diajak berkomunikasi tetapi sedang sibuk
Blocked
Ready
:
Blocked
Ready
:
Proses terbebas dari
blocked
setelah
event
yang
ditunggu telah tersedia
d tu ggu te a te sed a
Perpindahan Status
Perpindahan Status
Untuk Proses
Untuk Proses
55--Status
Status
(3)(3)
Ready
Exit:
Proses yang siap dieksekusi dipaksa keluar (terminasi)
y g
p
p
(
)
Penyebab:
Proses anak yang ‘dibunuh’ oleh proses induk Dih tik l h
Dihentikan olehuser
Blocked
Exit:
Proses yang terblok diterminasi
Proses yang terblok diterminasi
Eksekusi Proses Dengan
Eksekusi Proses Dengan
Dua
Dua
Antrian
Antrian
(1)(1)
Cara kerja:
Cara kerja:
Proses baru
Ready queue
Jika tidak ada proses yang running langsung dieksekusi P d
i
l i/t bl k Pilih t Proses yang sedang
running
selesai/ter-blok Pilih satu proses diready queue
untuk dieksekusiEksekusi Proses Dengan
Eksekusi Proses Dengan
Dua
Dua
Antrian
Antrian
(2)(2)
Apa kelemahan sistem dengan 2 antrian ?
Jika proses yang ter-blok sangat banyak dan masing-
p
y g
g
y
g
masing menunggu
event
yang berbeda-beda
Jika
datang suatu
event, maka
OS
harus menyeleksi
d
b t hk
t
proses yang mana yang sedang membutuhkan
event
yang
datang
butuh waktu
butuh algoritma lebih rumitEksekusi Proses Dengan
Eksekusi Proses Dengan
Eksekusi Proses Dengan
Banyak
Banyak
Antrian
Antrian
(2)(2)
Cara kerja:
Sama seperti pada eksekusi proses dengan dua antrian
p
p
p
g
Bedanya untuk setiap
event
yang berbeda
disediakan
sebuah antrian tersendiri
l b h
Kelebihan:
Jika suatu
event
yang ditunggu telah tiba
pemilihan
proses yang membutuhkan
event
tersebut
lebih mudah
proses yang membutuhkan
event
tersebut
lebih mudah
dan cepat
(algoritmanya lebih sederhana)
Pengembangan lebih lanjut
g
g
j
:
Jika terdapat proses dengan prioritas berbeda
untuk
Model Proses Dengan
Model Proses Dengan
66--Status
Status
di harddisk di harddisk
Mengapa perlu ada
Mengapa perlu ada
suspend state
suspend state
?
?
(1)(1)
Memori telah dipenuhi oleh proses atau bagian
proses yang berada pada status
blocked
akibat
p
y g
p
sedang menunggu suatu
event
(I/O, memori, dll),
sehingga tidak ada proses yang siap dieksekusi
,
k
maka:
Semua proses menunggu
Prosesor menganggur
Prosesor menganggur
Semakin lama ukuran program semakin besar,
maka:
maka:
Mengapa perlu ada
Mengapa perlu ada
suspend state
suspend state
?
?
(2)(2)
Tambah memori
mahal
Lakukan
swapping
(pindahkan proses yang
Lakukan
swapping
(pindahkan proses yang
berada pada status
blocked
dari memori ke
harddisk
a dd s
)
)
Proses berubah status dari blocked menjadi
suspend
Memori yang kosong bertambah besar:
y g
g
Dapat dimanfaatkan oleh proses yang butuh memori lebih besar, atau
Dapat ditambahkan proses baru ke memori atau Dapat ditambahkan proses baru ke memori, atau
Pindahkan proses lain yang ter-