Sistem Operasi Proses Fachry Khusaini (09650137) Nur Yaqin (09650146) Hamim Aizzaty Khoirina (09650170)
Proses Konsep Dasar dan Definisi Proses Penjadwalan Proses Operasi – operasi Proses Hubungan Antar Proses
Konsep Dasar & Definisi proses - Sistem operasi mengeksekusi berbagai program : Sistem batch = job Time Sharing Center = program user/task - Textbook/buku teks sering menggunakan istilah job dan task - Proses adalah program yang sedang dieksekusi. - Eksekusi proses dilakukan secara berurutan. - Dalam suatu proses terdapat program counter Stack daerah data.
Status Proses Pada saat proses dieksekusi, akan terjadi perubahan status : New : Proses sedang dikerjakan/ dibuat. Running : Instruksi sedang dikerjakan. Waiting : Proses sedang menunggu sejumlah kejadian untuk terjadi (seperti sebuah penyelesaian I/O atau penerimaan sebuah tanda/ signal). Ready : Proses sedang menunggu untuk ditugaskan pada sebuah prosesor. Terminated : Proses telah selesai melaksanakan tugasnya/ mengeksekusi.
Diagram perubahan status proses
Process Control Block (PCB) Alat untuk merepresentasikan proses oleh OS Informasi yang terdapat pada setiap proses meliputi : a. Status Proses. New, ready, running, waiting dan terminated. b. Program Counter. Menunjukkan alamat berikutnya yang akan dieksekusi oleh proses tersebut. c. CPU Registers. Register bervariasi tipe dan jumlahnya tergantung arsitektur komputer yang bersangkutan. Accumulator index register stack pointer register serbaguna beberapa informasi tentang kode kondisi. Selama Program Counter berjalan, status informasi harus disimpan pada saat terjadi interrupt.
Process Control Block (PCB) Informasi Penjadwalan CPU. Informasi tersebut berisi prioritas dari suatu proses, pointer ke antrian penjadwalan, dan beberapa parameter penjadwalan yang lainnya. Informasi Manajemen Memori. Informasi tersebut berisi nilai (basis) dan limit register, page table, atau segment table tergantung pada sistem memory yang digunakan oleh SO. Informasi Accounting. Informasi tersebut berisi jumlah CPU dan real time yang digunakan, time limits, account numbers, jumlah job atau proses Informasi Status I/O. Informasi tersebut berisi deretan I/O device (seperti tape driver) yang dialokasikan untuk proses tersebut, deretan file yang dibuka,
PENJADWALAN PROSES 1. Antrian penjadwalan Jenis antrian penjadwalan a. Job Queue = tempat masuknya proses pada suatu sistem b. Ready Queue = proses yang ada di memori utama dan mengantri untuk di eksekusi c. Device Queue = deretan proses yang menunggu I/O tertentu 2. Penjadwalan a. Longterm-Scheduler (job scheduler) = seleksi proses ready queue b. Short-term Scheduler (CPU scheduler) = pilih proses eksekusi + mengalokasikan ke CPU
Penjadwalan Short-term scheduler terjadi sangat sering (dalam milidetik), jadi setiap proses dijadwal dengan cepat long-term scheduler terjadi sangat jarang (dalam detik atau menit), sehingga setiap proses dijadwal dengan lambat Long-term scheduler digunakan untuk mengontrol tingkat multiprogramming
penjadwalan proses dapat digambarkan sebagai berikut : I/O bound process proses yang butuh banyak waktu untuk eksekusi I/O daripada komputasi. CPU burst lebih singkat CPU bound process proses yang butuh banyak waktu untuk eksekusi komputasi daripada I/O. CPU burst lebih lama
Context Switch Adalah Proses penyimpanan status proses Mengambil status proses yang baru pada saat terjadi switching Pada saat terjadi perpindahan proses, sistem tidak bekerja Waktu context switch tergantung pada perangkat keras yang digunakan
OPERASI PADA PROSES Ada 2 jenis operasi pada proses Pembuatan proses Penghentian proses
OPERASI PADA PROSES 1. Pembuatan proses Selama eksekusi, suatu proses akan membuat suatu proses yang baru Proses tersebut dinamakan parent Proses yang dibuat dinamakan child Proses pembuatan proses anak membentuk pohon proses Pembagian sumber daya a. Parent dan child membagi semua sumber daya yang ada b. Child menggunakan sebagian dari sumber daya yang digunakan parent c. Parent dan child tidak membagi sumber daya
OPERASI PADA PROSES Bentuk eksekusi : a. Parent melanjutkan eksekusi beriringan dengan children b. Parent menunggu hingga beberapa atau seluruh children selesai Bentuk ruang alamat : a. Child adalah duplikat dari proses parent b. Child mempunyai program yang diambil dari dirinya Di UNIX - Parent akan membentuk child dengan menggunakan system call fork - Sistem call exec digunakan setelah system call fork mengganti alamat memori proses dengan program baru
OPERASI PADA PROSES Penghentian proses a. Berhenti jika pernyataan terakhir selesai b. Lalu meminta pada OS untuk menghapus dengan system call exit c. Proses kembalikan output ke parent proses dengan system call wait d. Proses dihapus dari list e. Menghapus PCB
OPERASI PADA PROSES Parent dapat menghentikan eksekusi proses dengan system call abort, alasannya : a. Child mengalokasikan sumber daya melampaui batas b. Tugas child tidak dibutuhkan lebih lanjut c. System operasi tidak mengijinkan child untuk melanjutkan jika parent berhenti dan terminasi dilanjutkan
PROSES YANG SALING BEKERJA SAMA (COOPERATING PROCESS) Independent Proses yang tidak berakibat atau diakibatkan oleh eksekusi dari proses lain Cooperating Proses yang dapat berakibat atau diakibatkan oleh eksekusi dari proses lain
PROSES YANG SALING BEKERJA SAMA (COOPERATING PROCESS) Keuntungan Cooperating a. Terjadi pembagian informasi b. Meningkatkan kecepatan komputasi c. Proses dapat dibagi dalam modul-modul d. Memberikan kenyamanan pada programmer
PROSES YANG SALING BEKERJA SAMA (COOPERATING PROCESS) Untuk mengilustrasikan proses-proses yang saling bekerjasama ini digunakan producer-consumer problem Unbounded-buffer producer - consumer problem tidak menggunakan batasan ukuran di buffer bounded-buffer producer-consumer dimana buffer yang digunakan mempunyai ukuran tertentu
KOMUNIKASI ANTAR PROSES (INTERPROCESS COMMUNICATION) ialah mekanisme proses-proses untuk berkomunikasi dan melakukan sinkronisasi aksinya Fasilitas interprocess communication (IPC) terdiri dari dua operasi : send(pesan) receive(pesan)
KOMUNIKASI ANTAR PROSES (INTERPROCESS COMMUNICATION) Komunikasi Langsung Properti yang harus terdapat pada saluran komunikasi terdiri dari : Terdapat sambungan yang dapat bekerja secara otomatis antara tiap pasangan proses yang ingin berkomunikasi. Sambungan tersebut menghubungkan tepat satu pasangan proses yang akan berkomunikasi. Antar tiap-tiap pasangan proses terdapat tepat satu saluran. Sambungan tersebut mungkin bersifat unidirectional, namun biasanya bidirectional.
KOMUNIKASI ANTAR PROSES (INTERPROCESS COMMUNICATION) Komunikasi Tak Langsung Properti yang harus disediakan pada saluran komunikasi adalah : Sambungan antara 2 proses diberikan jika antara kedua proses tersebut saling menggunakan mailbox secara bersama-sama. Sambungan tersebut dihubungkan dengan beberapa proses. Antar tiap-tiap pasangan proses yang saling berkomunikasi, ada sejumlah sambungan yang berbeda, tiap-tiap link berhubungan dengan satu mailbox. Sambungan tersebut mungkin bersifat unidirectional, namun biasanya bidirectional.
KOMUNIKASI ANTAR PROSES (INTERPROCESS COMMUNICATION) Primitif yang terdapat pada komunikasi tak langsung : send(A,pesan); mengirim pesan ke mailbox A. receive(A,pesan); menerima pesan dari mailbox A.
KOMUNIKASI ANTAR PROSES (INTERPROCESS COMMUNICATION) Contoh kasus P1, P2,P3 = mailbox A P1 mailbox A P2. P3 mailbox A Ada salah satu solusi yang digunakan : 1. Mengijinkan 1 sambungan max 2 proses 2. Mengijinkan hanya 1 proses pada saat eksekusi operasi receive 3. Mengijinkan sistem memilih penerima
KOMUNIKASI ANTAR PROSES (INTERPROCESS COMMUNICATION) Sambungan terdapat kapasitas jumlah pesan yang di tampung sementara dan berupa antrian pesan. Ada 3 cara implementasi antrian tersebut : 1. Zero Capacity - panjang = max 0 - kedua proses berjalan secara sinkron - sinkronisasi disebut dengan istilah rendezvous 2. Bounded Capacity - panjang = (n) - if antrian ≠ penuh ada pesan, antrian paling terakhir - if antrian = penuh menunggu hingga ada yang kosong
KOMUNIKASI ANTAR PROSES (INTERPROCESS COMMUNICATION) 3. Unbounded Capacity - panjang = tidak tentu - pengiriman tidak pernah menunda pekerjaan Contoh komunikasi antar proses pada client server - Socket - RPC (remote procedure call) - RMI (remote method invocation)
KOMUNIKASI ANTAR PROSES (INTERPROCESS COMMUNICATION) Socket gabungan IP Adress dan port RPC Pemanggilan antar proses – proses pada sistem jaringan Stub = Proxy pada client untuk procedure ke server Stub sisi client menghubungi server & melewati parameter Stub sisi server menerima pesan, parameter, dan membentuk procedur untuk proses server RMI Mekanisme untuk komunikasi pada jaringan Program java dapat mengirim dan menerima dari objek secara remote