1 Bab 3: Proses-Proses Konsep Proses Penjadwalan Proses Operasi pada Proses Proses yang bekerja sama (Cooperating Processes) Komunikasi antar Proses (Interprocess Communication) Komunikasi pada sistem Client-Server Silberschatz, Galvin and Gagne 2002 4.1 Operating System Concepts Konsep Proses Sistem operasi mengeksekusi berbagai program: Batch system – job Time-shared systems – user program atau task Beberapa buku menggunakan istilah job dan process secara bergantian. Proses - sebuah program yang sedang dieksekusi, Eksekusi proses dilakukan secara berurutan. Sebuah proses terdiri dari: program counter t k Silberschatz, Galvin and Gagne 2002 4.2 Operating System Concepts stack data section
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
Bab 3: Proses-Proses
Konsep Proses
Penjadwalan Prosesj
Operasi pada Proses
Proses yang bekerja sama (Cooperating Processes)
Komunikasi antar Proses (Interprocess Communication)
Komunikasi pada sistem Client-Server
Silberschatz, Galvin and Gagne 20024.1Operating System Concepts
Konsep Proses
Sistem operasi mengeksekusi berbagai program: Batch system – job
Time-shared systems – user program atau tasky p g
Beberapa buku menggunakan istilah job dan process secara bergantian.
Proses - sebuah program yang sedang dieksekusi,
Eksekusi proses dilakukan secara berurutan.
Sebuah proses terdiri dari: program counter
t k
Silberschatz, Galvin and Gagne 20024.2Operating System Concepts
stack
data section
2
State pada Proses
Ketika sebuah proses dieksekusi, akan mengalami perubahan statep new: Proses sedang dibuat
running: Instruksi sedang dieksekusi
waiting: Proses menunggu beberapa event terjadi
ready: Proses menunggu untuk dieksekusi
terminated: Proses selesai dieksekusi
Silberschatz, Galvin and Gagne 20024.3Operating System Concepts
Diagram State pada Process
Silberschatz, Galvin and Gagne 20024.4Operating System Concepts
3
Process Control Block (PCB)
Adalah informasi yang terdapat pada setiap proses
State pada proses
Program counter Program counter
CPU registers
Informasi penjadwalan CPU
Informasi manajemen memory
Informasi Accounting
Informasi status I/O
Silberschatz, Galvin and Gagne 20024.5Operating System Concepts
Process Control Block (PCB)
Silberschatz, Galvin and Gagne 20024.6Operating System Concepts
4
CPU Berpindah (Switch) dariProses ke Proses
Silberschatz, Galvin and Gagne 20024.7Operating System Concepts
Antrian pada Penjadwalan Proses
Job queue – kumpulan semua proses dalam sistem
Ready queue – kumpulan semua proses yang berada di memori siap dan menunggu dieksekusimemori, siap dan menunggu dieksekusi
Device queue – kumpulan semua proses yang menunggu perangkat I/O
Migrasi proses antar antrian yang berbeda
Silberschatz, Galvin and Gagne 20024.8Operating System Concepts
5
Ready Queue dan beberapa I/O DeviceQueue
Silberschatz, Galvin and Gagne 20024.9Operating System Concepts
Representasi PenjadwalanProses
Silberschatz, Galvin and Gagne 20024.10Operating System Concepts
6
Scheduler (Penjadwal)
Long-term scheduler (atau job scheduler) – memilih h dib k dproses mana yang seharusnya dibawa ke ready queue.
Short-term scheduler (atau CPU scheduler) – memilih proses mana yang seharusnya dieksekusi berikutnya di CPU.
Silberschatz, Galvin and Gagne 20024.11Operating System Concepts
Medium Term Scheduling
Silberschatz, Galvin and Gagne 20024.12Operating System Concepts
7
Scheduler (Penjadwal) lanj.
Short-term scheduler sering terjadi (dalam milliseconds) (cepat).
Long-term scheduler tidak sering terjadi (dalam seconds Long term scheduler tidak sering terjadi (dalam seconds, minutes) (lebih lambat).
Long-term scheduler mengontrol tingkat multiprogramming.
Proses dapat digambarkan sebagai salah satu dari tipe di bawah ini:: I/O-bound process – lebih banyak menghapuskan waktu
untuk menjalankan I/O daripada komputasi, membutuhkan
Silberschatz, Galvin and Gagne 20024.13Operating System Concepts
untuk menjalankan I/O daripada komputasi, membutuhkan waktu penggunaan CPU (CPU burst) yang pendek.
CPU-bound process – lebih banyak menghabiskan waktu untuk komputasi, membutuhkan waktu penggunaan CPU yang panjang.
Context Switch
Ketika CPU berpindah ke proses yang lain, sistem harus menyimpan state dari proses lama dan mengambil state untuk proses yang baru.p y g
Waktu Context-switch, sistem tidak melakukan apa-apa (overhead)
Waktu Context-switch tergantung pada hardware yang digunakan
Silberschatz, Galvin and Gagne 20024.14Operating System Concepts
8
Pembuatan Proses (Process Creation)
Proses parent membuat proses anak (child), proses anakmembuat proses anak lainnya membentuk tree
Penggunaan Resource bersama-sama (Resource Penggunaan Resource bersama sama (Resource sharing) Parent dan child menggunakan semua resource bersama-
sama
Child menggunakan sebagian dari resource parent
Parent dan child tidak menggunakan resource yang sama
Eksekusi Parent dan child mengeksekusi secara konkuren
Silberschatz, Galvin and Gagne 20024.15Operating System Concepts
Parent dan child mengeksekusi secara konkuren
Parent menunggu sampai child dihentikan
Pembuatan Proses (Process Creation) lanj.
Penggunaan ruang alamat Child dan parent menggunakan ruang alamat yang sama
Child mempunyai program untuk menempati alamat yangChild mempunyai program untuk menempati alamat yang berbeda
Contoh : UNIX System call fork membuat proses baru
System call exec digunakan setelah fork untuk menggantiruang memori dengan program baru
Silberschatz, Galvin and Gagne 20024.16Operating System Concepts
9
Pohon Proses pada UNIX
Silberschatz, Galvin and Gagne 20024.17Operating System Concepts
Menghentikan Proses (Process Termination)
Proses mengeksekusi pernyataan terakhir dan sistemoperasi menentukan penghentian proses (exit). Data output dari child ke parent (via wait).Data output dari child ke parent (via wait).
Resource dari proses di-dealokasi oleh sistem operasi
Parent bisa menghentikan eksekusi proses child (abort). Child telah mengalokasikan resouce melebihi ketentuan
Task dari child tidak diperlukan lagi
Parent berhenti
Sistem operasi tidak mengijinkan child melanjutkanproses jika parent dihentikan
Silberschatz, Galvin and Gagne 20024.18Operating System Concepts
proses jika parent dihentikan
Penghentian sesuai alur
10
Proses yang Bekerjasama(Cooperating Process)
Proses Independent tidak berakibat atau diakibatkan oleheksekusi proses lain
Proses cooperating (bekerja sama) dapat mengakibatkan Proses cooperating (bekerja sama) dapat mengakibatkanatau diakibatkan oleh eksekusi proses lain
Kelebihan proses yang bekerja sama Menggunakan informasi bersama-sama
Meningkatkan kecepatan komputasi
Modular
Kenyamanan
Silberschatz, Galvin and Gagne 20024.19Operating System Concepts
Permasalahan Producer-Consumer
Paradigma untuk proses yang bekerja samadigambarkan dengan Producer-Consumer, producermenghasilkan informasi yang dikonsumsi oleh consumerg y g unbounded-buffer menempati ukuran buffer yang tidak
terbatas.
bounded-buffer mengasumsikan terdapat ukuran buffer tetap.
Silberschatz, Galvin and Gagne 20024.20Operating System Concepts
11
Bounded-Buffer – Solusi Shared-Memory
Shared data
#define BUFFER_SIZE 10
Typedef struct {
. . .
} item;
item buffer[BUFFER_SIZE];
int in = 0;
int out = 0;
Solusi benar, tetapi hanya dapat menggunakan elemenBUFFER_SIZE-1
Silberschatz, Galvin and Gagne 20024.21Operating System Concepts
Bounded-Buffer – Proses Producer
item nextProduced;
while (1) {
while (((in + 1) % BUFFER_SIZE) == out)
; /* do nothing */
buffer[in] = nextProduced;
in = (in + 1) % BUFFER_SIZE;
}
Silberschatz, Galvin and Gagne 20024.22Operating System Concepts