Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Manajemen Proses Pertemuan IV dan V. Proses (Process) SO menangani proses Konsep proses Penjadwalan proses (Process scheduling) Operasi-operasi pada proses.

Presentasi serupa


Presentasi berjudul: "Manajemen Proses Pertemuan IV dan V. Proses (Process) SO menangani proses Konsep proses Penjadwalan proses (Process scheduling) Operasi-operasi pada proses."— Transcript presentasi:

1 Manajemen Proses Pertemuan IV dan V

2 Proses (Process) SO menangani proses Konsep proses Penjadwalan proses (Process scheduling) Operasi-operasi pada proses Proses-proses yang bekerja sama Komunikasi antarproses Komunikasi pada sistem client-server

3 Peran SO meng-handle proses 1.SO harus melakukan penggiliran eksekusi proses untuk memaksimalkan utilisasi Processor dgn waktu respon yg cukup baik 2.SO hrs melakukan alokasi sumber daya bagi proses dengan menggunakan aturan tertentu. 3.Menyediakan mekanisme interproses communication (IPC) 4.Melayani inisiasi proses oleh user. 5.Mengatur jalannya banyak proses dari satu user (multi-tasking) maupun banyak proses dari banyak user (multi-user).

4 Konsep Proses SO mengeksekusi 2 (dua) macam program: Pada sistem batch: job Pada sistem time-shared: program (pilihan user) atau tasks. Proses dan job dianggap sama (sering). Proses: program atau subprogram yang sedang dieksekusi; eksekusi berlangsung secara urut (sekuensial) Agar bisa dieksekusi, program di-load dari media penyimpan ke memori utama (CPU dirancang hanya membaca instruksi dari memori utama. Kenapa?). Alokasi memori bagi proses mengandung: program counter, stack, dan bagian data. Perbedaan proses dengan program

5 Status Proses New : suatu proses yg baru saja dibuat namun belum pernah diizinkan masuk ke pool proses 2 yang dapat dieksekusi oleh sistem operasi. Running : kode 2 instruksi dalam proses sedang dieksekusi Waiting : proses sedang menunggu beberapa event yg akan terjadi. Misal menunggu input dari user, menunggu data lengkap (sedang loading), dan lain-lain. Ready : suatu proses siap untuk memperoleh giliran eksekusi. Terminated: proses sudah selesai dieksekusi. Proses telah dibebaskan dari pool proses 2 yg dapat dieksekusi oleh sistem operasi. Proses juga mengalami ‘suspend’.

6 Diagram Status Proses )* new terminated Diterima Keluar Menunggu event atau I/O I/O atau event selesai Interrupt shceduler dispacth waiting running ready )* Dikutip dari Operating System Concepts (Silberschatz, 2002)

7 Process Control Block Informasi dalam PCB suatu proses a.l.: Process state (status proses) Program counter (biasanya = register Instruction Pointer) Isi register-register CPU Informasi penjadwalan proses tersebut Alokasi memori (informasi manajemen memori) Informasi accounting Status file-file yang sedang dibuka oleh proses tersebut Informasi status I/O

8 Process Control Block

9 (dari satu proses ke proses lain) Penggiliran CPU (dari satu proses ke proses lain) Diagram context-switching

10 Antrian pada Penjadwalan Proses Antrian job – meliputi semua proses yang ada dalam sistem. Antrian ready – terdiri dari semua proses yang ada di memori utama, ready (siap) dan menunggu dieksekusi. Antrian device (I/O) – proses-proses yang menunggu terpenuhinya I/O request. Proses berpindah-pindah di antara antrian- antrian di atas.

11 Antrian Ready & beberapa antrian I/O Device

12 Gambaran Alur Penjadwalan Proses

13 Scheduler (penjadwal), ada dua jenis: Scheduler jangka panjang atau long-term scheduler (atau job scheduler) – fungsinya memilih proses mana yang akan dimasukkan dalam antrian ready. Scheduler jangka pendek atau short-term scheduler (atau CPU scheduler) – fungsinya memilih proses mana yang akan dieksekusi dan memberikan alokasi CPU.

14 Penambahan Medium Term Scheduling

15 Jenis scheduler (lanjutan): Scheduler jangka pendek sangat sering dipakai atau dipanggil, sehingga harus cepat (hitungannya dalam milisekon). Scheduler jangka panjang sangat jarang dipakai atau dipanggil, dalam hitungan detik bahkan menit (lebih lambat). Scheduler jangka panjang mengendalikan derajat multi- pemrograman (degree of multiprogramming) sistem. Proses dapat dikategorikan sebagai: I/O-bound process – lebih banyak mengakses I/O dibandingkan melakukan komputasi, memiliki banyak CPU burst yang singkat. CPU-bound process – lebih banyak melakukan komputasi; memiliki beberapa operasi CPU burst yang sangat panjang.

16 Context Switch Saat CPU pindah dari satu proses ke proses lain, SO harus menyimpan status proses pertama (berdasarkan informasi dalam PCB) dan mengambil status dari proses kedua yang sebelumnya sudah disimpan. Waktu yang dipakai untuk melakukan context- switch merupakan overhead, karena pada saat context-switch berlangsung sistem tidak melakukan pekerjaan yang berarti. Terikat waktu pada dukungan perangkat keras.

17 (dari satu proses ke proses lain) Penggiliran CPU (dari satu proses ke proses lain)

18 Process Creation (Pembentukan Proses) 1. Proses terbentuk secara normal, karena user memerintahkan S.O. untuk menjalankan suatu program. Contoh: user mengeksekusi program Ms. Word, Winamp, browser internet, dll. 2. Proses terbentuk bukan atas perintah user. Contoh: Kernel (core) sistem operasi Berbagai jenis service, misalnya: httpd, mysqld, layanan jaringan, driver hardware, dll Terbentuk karena parent process menghasilkan child process

19 Parent Process  Child Process 1. Suatu proses dapat membuat/menginisiasi proses lain. Proses yang dibuat disebut “child process”. Proses yang menghasilkan child process disebut “parent process”. 2. Jika “child process” membuat proses lain hingga menurun beberapa tingkat, maka akan terbentuk pohon proses (process tree). 3. Child process : independen terhadap parent process dependen terhadap parent process 4. Child process yang independen mendapatkan resources yang berbeda dari parent process

20 Pohon Proses pada UNIX

21 Process Creation (lanjutan) Sharing sumber daya dan Eksekusi Sharing sumber daya Parent dan children process berbagi semua resources. Children menggunakan sebagian sumber daya milik parent. Parent dan child tidak berbagi pakai (sharing). Eksekusi Parent dan children process dieksekusi bersamaan. Parent menunggu hingga children terminate.

22 Process Termination (Penghentian Proses) Normal Forced by (dipaksa) user Forced by (dipaksa) system Penyebab “forced by system ”, krn adanya error seperti: Batas waktu telah dilampui (timed out) Memory tidak tersedia Pelanggaran batas Error aritmatika Kegagalan I/O Overflow dll.

23 Process Termination (lanjutan) Proses mengeksekusi instruksi terakhir dan meminta SO untuk memutuskannya (exit). Mengirim data output dari child kepada parent (via wait). Sumber daya yang diklaim proses tersebut akan dibebaskan oleh SO. Parent dapat mengakhiri eksekusi children processes (abort). Child telah melampaui sumber daya yang dialokasikan. Tugas yang diberikan kepada child tidak diperlukan lagi. Parent process telah selesai (exit). SO tidak mengijinkan child melanjutkan eksekusi jika induknya terminate. Terminasi bertingkat (cascading termination).

24 Proses-proses yang Bekerja sama Independent process tidak bisa dipengaruhi/mempengaruhi eksekusi proses lain. Cooperating process bisa dipengaruhi/mempengaruhi eksekusi proses lain. Keuntungan kerja sama proses Information sharing Mempercepat komputasi (computation speed-up) Modularity Kenyamanan (convenience)

25 Masalah Produsen-Konsumen Paradigma proses yang bekerja sama, di mana terdapat proses produsen yang menghasilkan informasi dan hasilnya dikonsumsi oleh proses konsumen. unbounded-buffer tidak membatasi ukuran buffer. bounded-buffer mengasumsikan adanya batas ukuran buffer tertentu.

26 Komunikasi Antarproses ( Interprocess Communication atau IPC) IPC merupakan mekanisme bagi proses-proses untuk berkomunikasi dan mensinkronkan pekerjaan-pekerjaan mereka Sistem pesan (message system) – proses berkomunikasi dengan proses lain tanpa melakukan resorting variabel-variabel yang di-share. Fasilitas IPC menyediakan 2 operasi: send (message) –message dapat berukuran tetap atau dibatasi receive (message) Jika P and Q akan berkomunikasi, keduanya perlu: Membuat communication link antara keduanya Bertukar message melalui operasi send/receive Bentuk link komunikasi: Fisik (e.g., shared memory, perangkat bus) logika (e.g., logical properties)

27 Masalah-masalah dalam Penerapan IPC Bagaimana cara membuat link? Apakah 1 link bisa dipakai oleh lebih dari 2 proses? Berapa link bisa dibentuk pada tiap satu pasang proses yang berkomunikasi? Berapa kapasitas link? Bagaimana menentukan kapasitasnya? Apakah ukuran suatu message yang bisa diakomodasi suatu link bersifat tetap atau bervariasi? Suatu link bersifat unidirectional or bi-directional?

28 Komunikasi Langsung (Direct Communication) Proses-proses harus secara jelas menyebut nama proses yang dituju, misal: send (P, message) – kirim message ke proses P receive (Q, message) – terima message dari proses Q Sifat/karakter link: Link dibuat secara otomatis Satu link hanya berhubungan dengan satu pasang proses yang saling berkomunikasi. Pada sepasang proses hanya ada satu link Link bisa bersifat unidirectional, meskipun biasanya bi- directional.

29 Komunikasi Tak Langsung (Indirect Communication) Messages dikirim dan diterima melalui kotak surat (mailbox) (istilah lain: port). Tiap mailbox mempunyai kode yang unik. Proses-proses hanya dapat berkomunikasi jika mereka men-share sebuah mailbox. Sifat/karakter link: Link dibuat hanya jika proses-proses men-share mailbox Satu link bisa diasosiasikan ke banyak proses. Tiap pasang proses dapat men-share beberapa link. Link bisa bersifat unidirectional atau bi-directional.

30 Indirect Communication Operasi Membuat mailbox baru Mengirim dan menerima pesan lewat mailbox Menghapus mailbox yang sudah tidak dipakai Primitives are defined as: send(A, message) – send a message to mailbox A receive(A, message) – receive a message from mailbox A

31 Komunikasi Tak Langsung (Indirect Communication) Mailbox sharing P1, P2, and P3 share mailbox A. P1, sends; P2 and P3 receive. Who gets the message? Solutions Hanya 2 proses yang boleh menggunakan satu link yang sama. Dalam satu waktu, hanya satu proses yang boleh melakukan penerimaan Sistem bertindak sebagai penengah yang akan memilih penerima. Pengirim akan diberitahu siapa penerimanya.

32 Sinkronisasi (Synchronization) Pengiriman pesan bisa secara blocking atau non-blocking Blocking  synchronous Non-blocking  asynchronous Kirim (send) dan terima (receive) primitives (simbol-simbol dasar) juga bisa secara blocking atau non-blocking.

33 Buffering Antrian pesan yang disisipkan (attached) pada link; penerapannya bisa dengan cara: 1.Kapasitas nol (zero capacity) – 0 pesan Sender must wait for receiver (rendezvous). 2. Kapasitas terbatas (bounded capacity) – panjang pesan dibatasi sampai n pesan. Pengirim harus menunggu jika link dalam keadan penuh. 3. Kapasitas tak terbatas (unbounded capacity) – panjang pesan tidak dibatasi Sender never waits.

34 Komunikasi Client-Server Metode-metode yang digunakan: Sockets Remote Procedure Calls (RPC) Remote Method Invocation (RMI) pada aplikasi yang ditulis dengan Java.

35 Sockets (Soket) Socket dapat diartikan sebagai bagian ujung/akhir dalam komunikasi (endpoint for communication). Soket merupakan penyambungan alamat IP dan port yang ada pada alamat tersebut. Soket :1625 merujuk pada port 1625 pada host Komunikasi dilakukan antara sepasang soket.

36 Socket Communication

37 Remote Procedure Calls Remote procedure call (RPC) “menyamarkan” (abstracts) pemanggilan prosedur antara 2 proses dalam suatu jaringan komputer. Stubs – proxy pada client yang berhubungan dengan prosedur aktual pada server. Stub pada client mencari server dan mengirim parameter dengan teknik marshalls. Stub pada server menerima pesan ini, membuka parameter-parameter yang dikirim dengan teknik marshall tersebut, dan menjalankan prosedur tersebut pada server.

38 Execution of RPC

39 Remote Method Invocation Remote Method Invocation (RMI) is a Java mechanism similar to RPCs. RMI allows a Java program on one machine to invoke a method on a remote object.

40 Marshalling Parameters


Download ppt "Manajemen Proses Pertemuan IV dan V. Proses (Process) SO menangani proses Konsep proses Penjadwalan proses (Process scheduling) Operasi-operasi pada proses."

Presentasi serupa


Iklan oleh Google