Professional Documents
Culture Documents
Oleh : Reza Iqra Nugraha (2207 100 060) Nuzul Romadona Soedjito (2207 100 106) Aryandi Bagus Pamungkas (2208 100 069) Riska Wahyu Azhari (2208 100 057)
DEFINISI PROSES
STATUS PROSES
PENJADWALAN PROSES
Pada lingkungan multiprograming beberapa proses harus dijadwalkan untuk memaksimalkan kinerja CPU Pada lingkungan time-shared, CPU sering diswitch diantara diantara proses dimana user harus berinteraksi untuk setiap program saat dirunning Pada sistem uniproses, tidak pernah terjadi lebih dari satu proses yang dirunning, bila terdapat banyak proses, harus menunggu sampai CPU bebas dan dapat dijadwalkan ulang
SCHEDULING QUEUE
Job Queue : antrian berisi semua proses yang akan masuk sistem Ready Queue : tempat proses dimemori utama yang menunggu dieksekusi Device queue : deretan proses yang menunggu peralatan I.O
Setiap antrian disimpan sebagai linkedlist. Header berisi pointer PCB pertama dan terakhir dari List
SCHEDULER
Scheduler dilibatkan untuk memilih proses dari scheduling queue yang berbeda Secara umum terdapat 3 :
Long
Term Scheduler (Job Scheduler) Short Term Scheduler (CPU Scheduler) Medium Term Scheduler
Short term scheduler digunakan untuk memilih diantara proses yang siap dieksekusi dan salah satunya dialokasikan ke CPU Short term scheduler sering digunakan untuk memilih proses baru untuk CPU, broses dieksekusi hanya beberapa milidetik sebelum menunggu I.O Contoh : Jika Short term membutuhkan 10ms untuk memutuskan mengeksekusi 100ms maka 10/100 : 10% CPU digunakan untuk penjadwalan
Beberapa OS seperti time-sharing membutuhkan penjadwalan level tambahan yang disebut medium term scheduler
OPERASI-OPERASI PROSES
Proses-proses dalam sistem dapat dijalankan secara konkuren dan harus diciptakan serta dihapus secara dinamis. Sistem Operasi harus menyediakan mekanisme untuk proses creation dan termination
PROSES CREATION
Satu proses dimungkinkan untuk membuat sejumlah proses baru melalui system call createprocess. Proses yang dibuat sebelumnya disebut parent process, sedangkan proses yang baru disebut childern process. Proses baru ini juga dimungkinkan membuat proses yang lebih baru lagi.
PROSES CREATION
Pada saat sebuah proses membuat proses baru, terdapat dua kemungkinan pada proses eksekusi.
Parent
melanjutkan eksekusi secara konkuren dengan childern Parent menunggu sampai beberapa atau semua childern terminate.
PROSES CREATION
Terdapat pula dua kemungkinan pada address space proses baru :
Child
Child
PROCESS TERMINATION
Sebuah proses terminate ketika proses itu selesai mengeksekusi instruksi terakhir dan meminta sistem operasi untuk menghapusnya melalui system call.
APA PERBEDAAN
Tujuan dari multi programming adalah untuk mempunyai proses berjalan secara bersamaan Ketika suatu proses harus menunggu, Sistem operasi dapat saja akan menghentikan CPU dari suatu proses yang sedang dieksekusi dan memberikan sumberdaya kepada proses yang lainnya
Penjadwalan preemptive : Strategi yang mengijinkan proses yang sedang dieksekusi untuk ditangguhkan sementara digunakan oleh windows 95 ke atas Penjadwalan non preemptive : Sekali CPU telah dialokasikan untuk sebuah proses, maka tidak dapat di ganggu digunakan oleh windows 3.X
KRITERIA PENJADUALAN
Algoritma penjadualan CPU yang berbeda mempunyai property yang berbeda. Dalam memilih algoritma yang digunakan untuk situasi tertentu, kita harus memikirkan properti yang berbeda untuk algoritma yang berbeda. Banyak kriteria yang dianjurkan untuk membandingkan penjadualan CPU algoritma.
KRITERIA PENJADUALAN
1.
2.
CPU utilization kita ingin menjaga CPU sesibuk mungkin. CPU utilization akan mempunyai range dari 0 ke 100 persen. Di sistem yang sebenarnya seharusnya ia mempunyai range dari 40 persen samapi 90 persen Throughput jika CPU sibuk mengeksekusi proses, jika begitu kerja telah dilaksanakan. Salah satu ukuran kerja adalah banyak proses yang diselesaikan per unit waktu, disebut througput. Untuk proses yang lama mungkin satu proses per jam ; untuk proses yang sebentar mungkin 10 proses perdetik.
KRITERIA PENJADUALAN
3.
4.
Turnaround time dari sudut pandang proses tertentu, kriteria yang penting adalah berapa lama untuk mengeksekusi proses tersebut. Interval dari waktu yang dijinkan dengan waktu yang dibutuhkan untuk menyelesaikan sebuah prose disebut turn around time. Turn around time adalah jumlah periode untuk menunggu untuk dapat ke memori, menunggu di ready queue, eksekusi di CPU, dan melakukan I/O Waiting time algoritma penjadualan CPU tidak mempengaruhi waktu untuk melaksanakan proses tersebut atau I/O; itu hanya mempengaruhi jumlah waktu yang dibutuhkan proses di antrian ready. Waiting time adalah jumlah periode menghabiskan di antrian ready.
KRITERIA PENJADUALAN
5.
Response time di sistem yang interaktif, turnaround time mungkin bukan waktu yang terbaik untuk kriteria. Sering sebuah proses dapat memproduksi output diawal, dan dapat meneruskan hasil yang baru sementara hasil yang sebelumnya telah diberikan ke user. Ukuran yang lain adalah waktu dari pengiriamn permintaan sampai respon yang pertama di berikan. Ini disebut response time, yaitu waktu untuk memulai memberikan respon, tetapi bukan waktu yang dipakai output untu respon tersebut. Biasanya yang dilakukan adalah memaksimalkan CPU utilization dan throughput, dan minimalkan turnaround time, waiting time, dan response time dalam kasus tertentu kita mengambil ratarata.
DISPATCHER
Komponen yang lain yang terlibat dalam penjadualan CPU adalah dispatcher yang berfungsi :
Switching
context Switching to user mode Lompat dari suatu bagian di progam user untuk mengulang progam
ALGORITMA PENJADUALAN
First-Come, First-Served
Algoritma
ini akan mendahulukan proses yang lebih dulu datang Kelemahan algoritma ini adalah waiting time rata-rata yang cukup lama Muncul istilah convoy effect, dimana proses lain menunggu satu proses besar mengembalikan sumber daya CPU Algoritma ini nonpreemptive
ALGORITMA PENJADUALAN
Round-Robin Schedulling
Algoritma ini menggilir proses yang ada di antrian. Proses akan mendapat jatah sebesar time quantum. Jika time quantum-nya habis atau proses sudah selesai CPU akan dialokasikan ke proses berikutnya. Tak ada proses yang diprioritaskan Jika time quantum terlalu besar, sama saja dengan algoritma first-come first-served, jika terlalu kecil akan semakin banyak peralihan proses sehingga banyak waktu terbuang
ALGORITMA PENJADUALAN
Priority Schedulling
Algoritma ini memberikan skala prioritas kepada tiap proses Proses yang mendapat prioritas terbesar akan didahulukan. Algoritma ini dapat preemptive maupun nonpreeemptive Kelemahan dari algoritma ini adalah proses dengan prioritas kecil tidak akan mendapat jatah CPU. Hal ini dapat diatasi dengan aging, yaitu semakin lama menunggu, prioritas semakin tinggi.
ALGORITMA PENJADUALAN
ini mengelompokkan antrian dalam beberapa buah antrian Antrian-antrian tersebut diberi prioritas Tiap antrian boleh memiliki algoritma yang berbeda Semakin tinggi tingkatan prioritasnya, semakin besar jatah waktu CPU-nya
ALGORITMA PENJADUALAN
Shortest-Job First Schedulling Proses diatur menurut panjang CPU burst berikutnya (lebih tepatnya shortest next CPU burst). Waiting time rata-rata dari algoritma ini sangat kecil, sehingga layak disebut optimal Kelemahan algoritma ini yaitu kita tak pernah tahu secara pasti panjang CPU burst proses berikutnya Algoritma ini dapat merupakan preemptive atau nonpreemptive. Jika preemptive, jika ada proses datang dengan sisa CPU burst yang lebih kecil daripada yang sedang dieksekusi, maka proses tersebut akan menggantikan proses yang sedang dieksekusi
Burst Time
Waktu yg dibutuhkan utk mengeksekusi sebuah proses
ALGORITHMA PENJADWALAN
First-Come, First-Served ( FCFS ) Round Robin Schedulling Priority Schedulling Shortest-Job First Schedulling ( SJF )
FIRST-COME, FIRST-SERVED
Algoritma
ini akan mendahulukan proses yang lebih dulu datang Kelemahan algoritma ini adalah waiting time rata-rata yang cukup lama Muncul istilah convoy effect, dimana proses lain menunggu satu proses besar mengembalikan sumber daya CPU Algoritma ini nonpreemptive
CONTOH KASUS
PROSES P1 P2 P3 BRUST TIME 24 3 3 WAKTU KEDATANGAN 0 1 2
T P2 24 |
T P3 27 P3 = 27 2 = 25
T 30
0 + 23 + 25 = 16 3
24 + 26 + 28 = 26 3
P1 = 24 | P2 = 27 1 = 26 | P3 = 30 2 = 28
ROUND-ROBIN SCHEDULLING
Algoritma
ini menggilir proses yang ada di antrian. Proses akan mendapat jatah sebesar time quantum. Jika time quantum-nya habis atau proses sudah selesai CPU akan dialokasikan ke proses berikutnya. Tak ada proses yang diprioritaskan Jika time quantum terlalu besar, sama saja dengan algoritma first-come first-served, jika terlalu kecil akan semakin banyak peralihan proses sehingga banyak waktu terbuang
CONTOH KASUS
PROSE S BRUST TIME WKT KEDATANGAN
P1
P2
9
6
0
1
Time Quantum 3
T P1 12
T 15
P1 = 0 + 3 + 3 = 6
| P2 = ( 3 - 1 ) + 3 = 5
6 + 5 = 5.5 2
15 + 11 = 13 2
P1 = 15 | P2 = 12 1 = 11
PRIORITY SCHEDULLING
Algoritma ini memberikan skala prioritas kepada tiap proses Proses yang mendapat prioritas terbesar akan didahulukan. Algoritma ini dapat preemptive maupun nonpreeemptive Kelemahan dari algoritma ini adalah proses dengan prioritas kecil tidak akan mendapat jatah CPU. Hal ini dapat diatasi dengan aging, yaitu semakin lama menunggu, prioritas semakin tinggi.
Gant Chart : P 1 P 2 P3 2
T P2 5
T P1 10
T 18
Waiting Time
T P3 9
T P2 12
T 18
P2 = ( 12 - 1 ) = 11 | P3 = ( 9 - 2 ) = 7 0 + 11 + 7 Average Waiting Time = = 6 3 Turn Around Time P1 = 9 | P2 = 18 1 = 17 | P3 = 12 2 = 10 Average Turn Arround Time = 9 + 17 + 10 = 12 3
Proses diatur menurut panjang CPU burst berikutnya (lebih tepatnya shortest next CPU burst). Waiting time rata-rata dari algoritma ini sangat kecil, sehingga layak disebut optimal Kelemahan algoritma ini yaitu kita tak pernah tahu secara pasti panjang CPU burst proses berikutnya Algoritma ini dapat merupakan preemptive atau nonpreemptive. Jika preemptive, jika ada proses datang dengan sisa CPU burst yang lebih kecil daripada yang sedang dieksekusi, maka proses tersebut akan menggantikan proses yang sedang dieksekusi
Gant Chart : P 1 P 2 P3 2 5 P2
T 10
T P1
T 18
Waiting Time
T P3 9
T P2 12
T 18
P2 = ( 12 - 1 ) = 11 | P3 = ( 9 - 2 ) = 7 0 + 11 + 7 Average Waiting Time = = 6 3 Turn Around Time P1 = 9 | P2 = 18 1 = 17 | P3 = 12 2 = 10 Average Turn Arround Time = 9 + 17 + 10 = 12 3
ini mengelompokkan antrian dalam beberapa buah antrian Antrian-antrian tersebut diberi prioritas Tiap antrian boleh memiliki algoritma yang berbeda Semakin tinggi tingkatan prioritasnya, semakin besar jatah waktu CPU-nya