Anda di halaman 1dari 34

Process

Pertemuan 3 – Mata Kuliah Sistem Operasi


Program Studi Teknik Informatika
Institut Teknologi Sumatera
Tujuan
• Mengenalkan gagasan dari sebuah proses yang
merupakan basis dari seluruh komputasi
• Mendeskripsikan variasi fitur dari proses, termasuk
penjadwalan, create dan terminate, serta komunikasi
• Mendeskripsikan komunikasi proses dan sistem
client-server
Komputer Mula-Mula Komputer Modern
• Hanya satu program • Beberapa program
yang dieksekusi dalam jalan bersamaan di
satu waktu memori dan dieksekusi
secara konkuren
• Program tersebut • Program yang sedang
menguasai seluruh berjalan disebut
resource proses.
Struktur dari Proses
Program Counter
Status dari aktivitas terkini pada proses
Stack
Penyimpanan sementara yang berisi fungsi, alamat
return, variabel lokal

Data Section
Berisi Variabel Global
Heap Section
Bagian memori yang secara dinamis dapat berubah
ukurannya
Text Section
Kode yang dapat dieksekusi
Ilustrasi
Diagram Status Proses
New
Proses yang sedang dibuat

Ready
Proses yang menunggu
antrian untuk dieksekusi

Running
Proses yang sedang
dieksekusi

These names are arbitrary, and they vary across operating systems.
Diagram Status Proses
Waiting
Proses yang sedang di
“pause” akibat adanya
proses lain yang harus
berjalan. Misalnya I/O.

Terminated
Proses yang telah selesai
dieksekusi

These names are arbitrary, and they vary across operating systems.
Diagram Proses States

1. Process blocks for input


2. Scheduler picks another process
3. Scheduler picks this process
4. Input become available
• Ada tiga kemungkinan bila sebuah proses memiliki status Running:
Jika program telah selesai dieksekusi maka status dari proses tersebut
akan berubah menjadi Terminated.
Jika waktu yang disediakan oleh OS untuk proses tersebut sudah habis
maka akan terjadi interrupt dan proses tersebut kini berstatus Ready.
Jika suatu event terjadi pada saat proses dieksekusi (seperti ada
permintaan I/O) maka proses tersebut akan menunggu event tersebut
selesai dan proses berstatus Waiting.
Process Control Block
• Status proses
• Program counter
• CPU registers
• CPU scheduling
information
• Informasi manajemen
memori
• Informasi accounting
• Informasi status I/O
Penjadwalan Proses
• Memaksimalkan penggunaan CPU, mempercepat switch process ke
dalam CPU untuk time sharing
• Process scheduler memilih proses yang available untuk dieksekusi
pada CPU
• Memlihara scheduling queues dari proses
• Job queue – sekumpulan proses dalam sistem
• Ready queue – sekumpulan proses dalam main memory dalam
status ready dan menunggu untuk dieksekusi
• Device queues – sekumpulan proses yang menunggu untuk I/O
devices
Ready Queue dan Device Queues
Penjadwalan Ulang Sebuah Proses
• Begitu proses tersebut dipilih lalu dialokasikan ke CPU dan sedang
berjalan, satu dari beberapa kemungkinan di bawah ini dapat
terjadi:
• Proses tersebut mengeluarkan permintaan I/O, lalu ditempatkan
dalam sebuah I/O device queue.
• Proses tersebut dapat membuat sub-proses baru dan menunggu
untuk di-terminasi.
• Proses tersebut dikeluarkan (di-remove) secara paksa dari CPU,
sebagai hasil dari suatu interrupt dan diletakkan kembali ke dalam
ready queue.
Context Switch
• Ketika CPU di-switch untuk proses yang lain, sistem harus
menyimpan status dari proses lama dan me-load status tersebut
untuk proses baru melalui context switch.
• Context-switch time merupakan cost overhead; sistem tidak begitu
berguna ketika melakukan switching
Switching Antar Proses
2 Macam “Tukang Atur” Jadwal
Long-term scheduler (job scheduler)
memilih proses mana yang seharusnya di-migrasi
ke dalam ready queue

Short-term scheduler (CPU scheduler)


memilih proses mana yang harus dieksekusi dan
diproses pada CPU. Terkadang menjadi satu –
satunya scheduler dalam sistem
2 Macam “Tukang Atur” Jadwal
Long-term scheduler (job scheduler)
Perpindahan boleh
memilih proses mana yang seharusnya di-migrasi lebih lambat
ke dalam ready queue dibanding short-term

Short-term scheduler (CPU scheduler)


memilih proses mana yang harus dieksekusi dan Perpindahan harus
diproses pada CPU. Terkadang menjadi satu – cepat dan sering
satunya scheduler dalam sistem
• Proses Long-Term Scheduler dapat dibagi menjadi dua, yaitu:
I/O Bound yaitu proses yang lebih banyak mengerjakan permintaan I/O
dibandinkan komputasi.
CPU Bound yaitu proses yang lebih banyak mengerjakan komputasi
dibandingkan permintaan I/O.
• I/O Bound dan CPU bound haruslah seimbang
I/O Bound vs CPU Bound

CPU BOUND PROCESS I/O BOUND PROCESS


lebih banyak komputasi; CPU lebih banyak I/O dibanding
bursts panjang komputasi, CPU bursts
pendek
• Sistem operasi dengan time-sharing system: Medium-Term
Scheduler
Operasi pada Proses

• Pembentukan proses
• Pemberhentian proses
• Penundaan proses
• Pelanjutan kembali proses
• Pengubahan prioritas
• Penjadwalan proses
• Komunikasi antar proses
Pembentukan Proses

Proses parent membentuk proses children, terjadi secara rekursif


dan mengakibatkan pembentukan pohon proses. Proses dikenali
dan di-manage melalui process identifier (pid)
Aktivitas Pembentukan Proses

• Memberikan identitas
• Menyisipkan proses pada list/tabel proses
• Menentukan prioritas
• Membuat PCB
• Mengalokasikan sumber daya
Alasan pembuatan suatu proses:
• Pada lingkungan batch sebagai tambahan atas pemberian job
• Pada lingkungan interaktif, pada saat user baru saja log in
• Sebagai tanggapan atas suatu aplikasi
Keterkaitan Parent vs Child
Aspek Resource Sharing
• Parent dan children berbagi seluruh resources
• Children berbagi subset dari resources parent
• Parent dan child tidak saling berbagi resources
Eksekusi
• Parent dan children melakukan eksekusi secara konkuren
• Parent menunggu sampai children terminate
Address space
• Child menduplikasi parent
• Child memiliki program tersendiri yang berbeda dari parent
Keterkaitan Parent vs Child
Penghentian Proses
Proses mengeksekusi statemen terakhir dan meminta sistem
operasi untuk menghapusnya (exit)
• Output data dikembalikan dari child ke parent melalui status
wait
• Resources dari proses di-dealokasi oleh sistem operasi

Parent dapat menghentikan paksa proses children (abort)


• Child telah melebihi alokasi resources
• Task yang di-assign kepada child tidak lagi dibutuhkan
• Jika parent berhenti
Kejadian Proses Dihentikan
• Selesai secara normal • Campur tangan sistem operasi
• Melebihi batas waktu • Berakhirnya proses induk
• Memori tidak tersedia • Permintaan proses induk
• Pelanggaran batas memori
• Kesalahan proteksi
• Kesalahan aritmatika
• Kegagalan I/O
• Cacat instruksi
• Kesalahan data
Hirarki Proses di Android
Yang tampak di layar dan sedang aktif berinteraksi
Foreground Process dengan user

Tidak tampak di layar namun sedang aktif


Visible Process membantu foreground process

Proses aktif yang dirasakan pengguna namun


Service Process tidak terlihat aktif secara visual. Misalnya music
player
Proses aktif yang tidak dirasakan pengguna,
Background Process namun tetap aktif beroperasi
Komunikasi Antar Proses

tidak dapat mempengaruhi atau dipengaruhi


Independent PROCESS oleh proses yang lain

dapat mempengaruhi atau dipengaruhi oleh


Cooperating PROCESS proses yang lain
Komunikasi Antar Proses

Alasan untuk cooperating processes:


• Modularity
• Information sharing
• Computation speedup
Komunikasi Antar Proses

Message Passing Shared Memory

Anda mungkin juga menyukai