Deskripsi dan Kontrol Proses (Pertemuan keke-3) Agustus 2014
Pokok Bahasan Pokok Bahasan: Deskripsi dan Kontrol Proses Sub Pokok Bahasan: Konsep proses Elemen-elemen proses Model proses 2 status, 5 status, dan 6 status TIU: Mahasiswa dapat memahami konsep dasar deskripsi dan kontrol pada proses TIK: Mahasiswa dapat menjelaskan konsep proses Mahasiswa dapat menjelaskan elemen-elemen proses Mahasiswa dapat menjelaskan setiap status pada model proses 2 status, 5 status, dan 6 status Sistem Operasi/2014 #1
Sub Pokok Bahasan:
Konsep proses: Definisi proses Status proses
Sistem Operasi/2014 #2
Tugas OS Terhadap Proses Mengeksekusi banyak proses secara interleave (selang-seling) agar utilisasi prosesor maksimal dan response time setiap proses masih bisa diterima Menyediakan resource bagi setiap proses Mendukung komunikasi antar proses dan penciptaan proses baru oleh user
Sistem Operasi/2014 #3
Konsep--Konsep Sebelumnya Konsep Platform komputer terdiri dari sekumpulan resource
hardware
Program aplikasi komputer dibuat untuk melakukan beberapa task (pekerjaan) Sangatlah tidak efisien jika program aplikasi dibuat hanya khusus bagi platform hardware tertentu Sistem operasi harus nyaman dan aman digunakan serta mempunyai banyak fitur dan interface yang konsisten Sistem operasi dapat memberikan gambaran resource secara uniform (seragam) sehingga dapat diminta dan diakses oleh program aplikasi
Sistem Operasi/2014 #4
Mengapa Eksekusi Proses Harus Diatur ? Agar resource selalu tersedia bagi banyak aplikasi Agar prosesor dapat digunakan oleh banyak aplikasi secara bergantian Agar prosesor dan I/O device dapat digunakan secara efisien
Sistem Operasi/2014 #5
Apakah Proses itu ? Program yang dieksekusi Program yang sedang berjalan di komputer Entitas yang dapat diberikan kepada prosesor untuk dieksekusi Sebuah aktifitas yang sangat dipengaruhi oleh hasil eksekusi sebelumnya, status saat ini, dan sejumlah resource sistem yang tersedia
Sistem Operasi/2014 #6
Apa Saja Elemen Proses yang Sedang Running ?
(1)
Identifier Identitas unik untuk membedakan suatu proses dengan proses lainnya
State Status (kondisi) suatu proses (sedang dieksekusi, sedang diblok, dll)
Priority Prioritas suatu proses terhadap proses yang lain
Program counter Alamat instruksi berikutnya yang akan dieksekusi
Memory pointers Pointer yang menunjuk pada alamat memori kode program dan data yang berhubungan dengan proses dan blok memori yang di-shared dengan proses lain (jika ada) Sistem Operasi/2014 #7
Apa Saja Elemen Proses yang Sedang Running ?
(2)
Context data Data yang terdapat pada register prosesor ketika suatu proses sedang dieksekusi
I/O status information Informasi tentang permintaan terhadap I/O device yang belum terpenuhi (misal akses ke harddisk), daftar file yang sedang digunakan oleh proses, dll
Accounting information Informasi tentang jumlah waktu prosesor yang telah digunakan, jumlah waktu proses, batas waktu proses, nomor account, dsb. Sistem Operasi/2014 #8
Process Control Block (PCB)
(1)
Struktur data yang menyimpan elemenelemen proses Dibuat dan diatur oleh sistem operasi Mendukung adanya multi proses Bersama-sama dengan kode program dan data yang diperlukan membentuk sebuah proses Proses = PCB + kode program + data yang diperlukan Sistem Operasi/2014 #9
Process Control Block (PCB)
(2)
Sebagian isi PCB:
Sistem Operasi/2014 #10
Agenda:
Konsep proses: Definisi proses
Status proses
Sistem Operasi/2014 #11
Status Proses Status proses merupakan kondisi suatu proses (setiap saat setiap proses mempunyai sebuah kondisi) Sebuah kondisi bisa dimiliki oleh banyak proses Trace proses: Adalah daftar urut-urutan alamat memori suatu proses yang telah dieksekusi
Program dispatcher: Bagian dari sistem operasi yang mengatur giliran pemanfaatan prosesor kepada suatu proses ke proses yang lain Sistem Operasi/2014 #12
Contoh Trace Proses
Sedang mengakses I/O wait
Sistem Operasi/2014 #13
Contoh Eksekusi Proses
(1)
Asumsi:
tidak ada memori virtual semua proses ditaruh di memori
Sistem Operasi/2014 #14
Contoh Eksekusi Proses (2) Gabungan trace 3 buah proses: Dilihat dari sisi prosesor
Proses A Dispatcher
Dispatcher Proses A Proses B
Dispatcher Dispatcher
Proses C
Sistem Operasi/2014 #15
Contoh Eksekusi 3 buah Proses
Sistem Operasi/2014 #16
Pembentukan Proses Siapa yang membentuk proses ? Sistem operasi
Setiap proses dilengkapi dengan PCB
Apa yang dapat menyebabkan terbentuknya proses baru ? Masuknya job baru (program aplikasi)
Pada model batch system: proses terbentuk akibat job baru (berupa baris-baris
program) yang ditulis pada tape magnetic atau harddisk yang sedang dieksekusi
Log on dari user
Pada sistem interaktif: proses terbentuk ketika user melakukan log on pada sistem Sebagai bentuk layanan OS kepada program aplikasi
Misal: Ada program aplikasi yang perlu mencetak ke printer OS membentuk proses yang mengatur printer
Dibentuk oleh proses lain (process spawning)
Parent process = proses induk = proses yang membentuk proses lain Child process = proses anak = proses yang dibentuk oleh proses induk Misal: Print server atau file server akan selalu membentuk proses baru setiap ada permintaan dari client Sistem Operasi/2014 #17
Apa Penyebab Terminasi Proses ?
(1)
Proses telah selesai secara normal: Model batch job: terdapat instruksi halt yang menandakan proses telah selesai Sistem interaktif: proses di-close oleh user (close, log off, turn off, dsb)
Jatah waktu telah habis:
Total waktu sejak proses dibentuk Total waktu proses aktif Total waktu sejak user memberikan input Dsb
Memori tidak tersedia: Proses membutuhkan memori lebih besar tetapi tidak terpenuhi
Bounds violation: Proses mencoba mengakses lokasi memori proses lain Sistem Operasi/2014 #18
Apa Penyebab Terminasi Proses ?
(2)
Protection error: Proses mencoba menggunakan resource (file) yang tidak boleh diakses Misal: mencoba menulis pada file dengan atribut read only
Arithmatic error: Kesalahan komputasi, misal division by zero
Time overrun: Proses telah menunggu melebihi batas waktu yang telah ditentukan
I/O failure: Terjadi kesalahan pada saat mengakses I/O Misal:
Tidak dapat menemukan file yang dicari Gagal membaca/menulis file sesudah mencoba beberapa kali (akibat adanya bad sector atau membaca data dari printer)
Sistem Operasi/2014 #19
Apa Penyebab Terminasi Proses ?
(3)
Instruksi invalid: Proses mencoba mengeksekusi instruksi yang tidak ada (akibat pencabangan mengarah pada area data)
Privileged instruction: Proses mencoba menggunakan instruksi yang disediakan khusus bagi sistem operasi (misal perintah ke I/O)
Kesalahan data Tipe data salah atau data tidak diinisialisasi
Ada intervensi dari operator atau OS Dilakukan pada saat terjadi deadlock (hang)
Proses induk (parent) diterminasi Jika proses induk diterminasi proses semua proses anaknya ikut terterminasi
Diterminasi proses induk Proses induk berhak untuk melakukan terminasi terhadap proses anaknya Sistem Operasi/2014 #20
Model Proses Proses dengan 2 status: Running Not running
Proses dengan 5 status:
New Ready Running Exit Blocked
Proses dengan 6 status: Proses dengan 5 status + Suspend
Proses dengan 7 status: Proses dengan 5 status + Ready/Suspend + Blocked/Suspend Sistem Operasi/2014 #21
Model Proses Dengan 2-Status
(1)
Merupakan model proses paling sederhana Setiap proses akan selalu berada pada salah satu dari 2 status berikut: Running Not-running
Sistem Operasi/2014 #22
Model Proses Dengan 2-Status
(2)
Apa yang dilakukan OS ? OS membentuk proses baru dilengkapi dengan PCB untuk proses tersebut Masukkan proses baru ke sistem: Jika tidak ada proses yang sedang Running Proses langsung diberi status Running langsung dieksekusi Jika ada proses yang sedang Running masukkan proses dengan status Not-running
Jika proses yang running ter-interrupt, maka: OS menjalankan program dispatcher untuk memilih proses berikutnya yang akan dieksekusi Masukkan proses tersebut ke status Not-running
Sistem Operasi/2014 #23
Model Antrian Pada Proses Dengan 2-Status Diagram antrian proses dengan 2-status: Hanya digunakan sebuah antrian di dalam antrian terdapat berbagai macam status proses (siap running, ter-blok, menunggu I/O, dll)
Kelemahan:
Pemilihan proses selanjutnya yang akan dieksekusi tidak cukup hanya dengan algoritma FIFO
Dispatcher harus mencari proses yang siap running diantara proses
proses yang lain yang terblok karena sedang menunggu hasil I/O Butuh algoritma yang lebih rumit
Sistem Operasi/2014 #24
Model Proses Dengan 5-Status Proses dengan 5-status:
Terminate
Proses yang sedang antri dikelompokkan menjadi 2:
Proses yang siap running/ready (misal terhenti karena time out) Proses yang ter-blok (misal butuh memori lebih besar, menunggu I/O device) Sistem Operasi/2014 #25
Nama Status pada proses dengan 5-status
(1)
New: Status untuk proses yang baru saja terbentuk Misal: log on dari user, buka MS-word, dll Program dan data tidak langsung ditaruh ke memori, jika: Jumlah proses yang sedang ditangani sudah maksimum agar performansi sistem terjaga Memori tidak mencukupi
Ready: Proses yang siap untuk dieksekusi Sudah berada di memori Sistem Operasi/2014 #26
Nama Status pada proses dengan 5-status
(2)
Running: Proses sedang dieksekusi Dalam satu saat hanya satu proses yang boleh running (uniprosesor)
Blocked: Proses yang terpaksa berhenti karena sedang menunggu suatu event terjadi Misal: proses yang sedang menunggu selesainya aktifitas di I/O
Exit: Proses yang sudah selesai (keluar dari daftar proses yang dapat dieksekusi) Penyebab: program sudah selesai atau dibatalkan Sistem Operasi/2014 #27
Model Proses Dengan 5-Status Proses dengan 5-status:
Terminate
Proses yang sedang antri dikelompokkan menjadi 2:
Proses yang siap running/ready (misal terhenti karena time out) Proses yang ter-blok (misal butuh memori lebih besar, menunggu I/O device) Sistem Operasi/2014 #28
Perpindahan Status Untuk Proses 5-Status
(1)
Null New:
Pembentukan proses baru
New Ready:
Penambahan proses baru yang siap dieksekusi Proses baru telah ‘diakui’ oleh sistem operasi Proses dipindah dari harddisk ke memori
Ready Running:
Satu proses terpilih dieksekusi
Running Exit:
Proses telah selesai atau dibatalkan
Running Ready:
Proses yang sedang running dipaksa berhenti (preempted) Penyebab: Waktu habis (time out) Datang proses berprioritas lebih tinggi Sistem Operasi/2014 #29
Perpindahan Status Untuk Proses 5-Status
(2)
Running Blocked: Proses yang sedang running terpaksa berhenti Penyebab: Sedang menunggu file yang sedang diakses oleh proses lain Sedang menunggu proses di I/O selesai Butuh memori lebih besar Sedang menunggu data hasil eksekusi proses lain Sedang menunggu proses yang akan diajak berkomunikasi tetapi sedang sibuk
Blocked Ready: Proses terbebas dari blocked setelah event yang ditunggu telah tersedia Sistem Operasi/2014 #30
Perpindahan Status Untuk Proses 5-Status
(3)
Ready Exit: Proses yang siap dieksekusi dipaksa keluar (terminasi) Penyebab: Proses anak yang ‘dibunuh’ oleh proses induk Dihentikan oleh user
Blocked Exit: Proses yang terblok diterminasi Penyebab sama dengan penyebab Ready Exit
Sistem Operasi/2014 #31
Eksekusi Proses Dengan Dua Antrian
(1)
Cara kerja: Proses baru Ready queue
Jika tidak ada proses yang running langsung dieksekusi Proses yang sedang running selesai/ter-blok Pilih satu proses di ready queue untuk dieksekusi Jika selesai keluar Jika time out masuk ready queue Jika perlu resource lain masuk blocked queue Sistem Operasi/2014 #32
Eksekusi Proses Dengan Dua Antrian
(2)
Apa kelemahan sistem dengan 2 antrian ? Jika proses yang ter-blok sangat banyak dan masingmasing menunggu event yang berbeda-beda Jika
datang suatu event, maka OS harus menyeleksi proses yang mana yang sedang membutuhkan event yang datang butuh waktu butuh algoritma lebih rumit
Apa kelebihannya ?
Sistem Operasi/2014 #33
Eksekusi Proses Dengan Banyak Antrian
(1)
Sistem Operasi/2014 #34
Eksekusi Proses Dengan Banyak Antrian
(2)
Cara kerja: Sama seperti pada eksekusi proses dengan dua antrian Bedanya untuk setiap event yang berbeda disediakan sebuah antrian tersendiri
Kelebihan: Jika suatu event yang ditunggu telah tiba pemilihan proses yang membutuhkan event tersebut lebih mudah dan cepat (algoritmanya lebih sederhana)
Pengembangan lebih lanjut: Jika terdapat proses dengan prioritas berbeda untuk setiap prioritas disediakan ready queue masing-masing
Sistem Operasi/2014 #35
Model Proses Dengan 6-Status
di harddisk
• Status yang ditambahkan: suspend state Sistem Operasi/2014 #36
Mengapa perlu ada suspend state ?
(1)
Memori telah dipenuhi oleh proses atau bagian proses yang berada pada status blocked akibat sedang menunggu suatu event (I/O, memori, dll), sehingga tidak ada proses yang siap dieksekusi, maka: Semua proses menunggu Prosesor menganggur
Semakin lama ukuran program semakin besar, maka: Memori yang dibutuhkan semakin besar Jumlah program yang dapat dieksekusi semakin sedikit Sistem Operasi/2014 #37
Mengapa perlu ada suspend state ?
(2)
Tambah memori mahal Lakukan swapping (pindahkan proses yang berada pada status blocked dari memori ke harddisk) Proses berubah status dari blocked menjadi suspend Memori yang kosong bertambah besar: Dapat dimanfaatkan oleh proses yang butuh memori lebih besar, atau Dapat ditambahkan proses baru ke memori, atau Pindahkan proses lain yang ter-suspend dan siap running dari harddisk ke memori
Sistem Operasi/2014 #38
Referensi: [STA09] Stallings, William. 2009. Operating System: Internal and Design Principles. 6th edition. Prentice Hall
Sistem Operasi/2014 #39