bab 3: proses-proses konsep proses

Download Bab 3: Proses-Proses Konsep Proses

Post on 26-Jan-2017

234 views

Category:

Documents

8 download

Embed Size (px)

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 countert 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 mengganti

    ruang 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 dihentikanPenghentian 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 10Typedef 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

    }

  • 12

    Bounded-Buffer Proses Consumer

    item nextConsumed;

    while (1) {while (in == out)

    ; /* do nothing */nextConsumed = buffer[out];out = (out + 1) % BUFFER_SIZE;

    }

    Silberschatz, Galvin and Gagne 20024.23Operating System Concepts

    Interprocess Communication (IPC)

    Mekanisme untuk proses yang berkomunikasi danmelakukan sinkronisasi aksinya

    Sistem Pesan proses-proses saling berkomunikasi Sistem Pesan proses proses saling berkomunikasitanpa variabel yang dibunakan bersama-sama.

    Fasilitas IPC terdiri dari 2 operasi: send(pesan) ukuran pesan tetap atau berubah-ubah receive(pesan)

    Jika P dan Q akan berkomunikasi, membutuhkan Terdapat saluran komunikasi antara keduanya Menukar pesan menggunakan send/receive

    Silberschatz, Galvin and Gagne 20024.24Operating System Concepts

    Menukar pesan menggunakan send/receive Implementasi saluran komunikasi

    fisik (misalnya, shared memory, hardware bus) logika (misalnya, properti logika)

  • 13

    Pertanyaan untuk Implmentasi IPC

    Bagaimana saluran tersedia? Dapatkah satu saluran dihubungkan lebih dari 2 proses? Berapa saluran yang terdapat antar setiap pasangan Berapa saluran yang terdapat antar setiap pasangan

    proses yang berkomunikasi? Bagaimana kapasitas saluran? Apakah ukuran pesan yang dapat di-akomodasi oleh

    saluran tetap atau berubah-ubah? Apakah saluran unidirectional atau bi-directional?

    Silberschatz, Galvin and Gagne 20024.25Operating System Concepts

    Komunikasi Langsung (Direct Communication)

    Proses harus menentukan secara eksplisity: send (P, pesan) mengirim pesan ke proses P receive(Q pesan) menerima pesan dari proses Qreceive(Q, pesan) menerima pesan dari proses Q

    Properti dari saluran komunikasi Saluran tersedia secara otomatis Satu saluran dihubungkan tepat satu pasang proses yang

    berkomunikasi Antar setiap pasang terdapat tepat satu saluran Saluran bisa unidirectional, tetapi biasanya bi-directional.

    Silberschatz, Galvin and Gagne 20024.26Operating System Concepts

  • 14

    Komunikasi tak Langsung (Indirect Communication)

    Pesan diarahkan dan diterima dari mailbox (yang jugadisebut sebagai port). Setiap mailbox mempunyai id yang unik. Proses-proses dapat berkomunikasi hanya jikaProses proses dapat berkomunikasi hanya jika

    mengguna

Recommended

View more >