Gambar Proses Control Block
Penjelasan mengenai process control block :
Setiap proses digambarkan dalam sistem operasi oleh sebuah proses control block PCB). PCB berisikan banyak informasi yang berhubungan dengan sebuah proses yang spesifik, yaitu :
1. Status proses : Status mungkin dimiliki oleh setiap proses new,
ready,running, waiting, terminated.
1. Status proses : Status mungkin dimiliki oleh setiap proses new,
ready,running, waiting, terminated.
a. NEW
Status yang dimiliki pada saat proses baru saja dibuat oleh penjadwalan tingkat tinggi,
tetapi belum siap melakukan eksekusi.
b. READY
Status yang dimiliki pada saat proses siap dieksekusi oleh processor.
Status yang dimiliki pada saat proses siap dieksekusi oleh processor.
c. RUNNING
Status yang dimiliki pada saat instruksi-instruksi dari sebuah proses
dieksekusi. Proses bisa dieksekusi karena CPU tidak sedang
mengerjakan tugas yang lain.
Status yang dimiliki pada saat instruksi-instruksi dari sebuah proses
dieksekusi. Proses bisa dieksekusi karena CPU tidak sedang
mengerjakan tugas yang lain.
d. WAITING
Status yang dimiliki pada saat proses menunggu suatu event, seperti
penyelesaian I/O atau menerima signal.
Status yang dimiliki pada saat proses menunggu suatu event, seperti
penyelesaian I/O atau menerima signal.
e. TERMINATED
Status yang dimiliki pada saat proses telah selesai dieksekusi.
2. Program counter adalah menunjukkan alamat berikutnya yang akan
dieksekusi oleh proses tersebut.
Status yang dimiliki pada saat proses telah selesai dieksekusi.
2. Program counter adalah menunjukkan alamat berikutnya yang akan
dieksekusi oleh proses tersebut.
3. CPU registers : Register bervariasi dalam setiap jumlah dan jenis,
tergantung pada rancangan komputer. Register tersebut termasuk
dalam accumulator, register indeks, stack pointer, general-purpose
register, ditambah kode informasi pada kondisi apa pun. Beserta
dengan program counter, keadaan / status informasi harus
disimpan pada saat gangguan terjadi, untuk memungkinkan
proses tersebut berjalan / bekerja dengan benar setelahnya.
4. Informasi manajemen memori : informasi ini termasuk dalam suatu
informasi sebagai nilai dari dasar dan batas register, tabel
halaman atau tabel segmen tergantung pada sistem memori yang
digunakan dalam sistem operasi.
informasi sebagai nilai dari dasar dan batas register, tabel
halaman atau tabel segmen tergantung pada sistem memori yang
digunakan dalam sistem operasi.
5. Informasi pencatatan: Informasi ini termasuk jumlah dari CPU dan waktu
riil yang digunakan, batas waktu, jumlah akun jumlah job atau proses,
dan banyak lagi.
6. Informasi status I/O: Informasi termasuk daftar dari perangkat I/O yang di
gunakan pada proses ini, suatu daftar berkas-berkas yang sedang
diakses dan banyak lagi.
PCB hanya berfungsi sebagai tempat penyimpanan informasi yang
dapat bervariasi dari proses yang satu dengan yang lain.
gunakan pada proses ini, suatu daftar berkas-berkas yang sedang
diakses dan banyak lagi.
PCB hanya berfungsi sebagai tempat penyimpanan informasi yang
dapat bervariasi dari proses yang satu dengan yang lain.
PENJADWALAN PADA KONSEP SISTEM OPERASI
Penjadwalan berkaitan dengan permasalahan CPU untuk memutuskan proses mana yang akan dieksekusi dalam suatu sistem. Proses yang belum mendapat jatah alokasi dari CPU akan mengantri di ready queue. Algoritma penjadwalan berfungsi untuk menentukan proses manakah yang ada di ready queue yang akan dieksekusi oleh CPU.
Beberapa Algoritma penjadwalam adalah sebagai berikut :
1. 1. First in first out
Algoritma ini merupakan algoritma penjadwalan yang paling sederhana
yang digunakan CPU. Dengan menggunakan algoritma ini setiap proses
yang berada pada status ready dimasukkan kedalam FIFO queue atau
antrian dengan prinsip first in first out, sesuai dengan waktu
kedatangannya. Proses yang tiba terlebih dahulu yang akan dieksekusi.
yang digunakan CPU. Dengan menggunakan algoritma ini setiap proses
yang berada pada status ready dimasukkan kedalam FIFO queue atau
antrian dengan prinsip first in first out, sesuai dengan waktu
kedatangannya. Proses yang tiba terlebih dahulu yang akan dieksekusi.
Contoh:
Ada tiga buah proses yang datang secara bersamaan yaitu pada 0
ms, P1 memiliki burst time 24 ms, P2 memiliki burst time 3 ms,
dan P3 memiliki burst time 3 ms. Hitunglah waiting time rata-rata
dan turnaround time( burst time + waiting time) dari ketiga
proses tersebut dengan menggunakan algoritma FCFS.
Waiting time untuk P1 adalah 0 ms (P1 tidak perlu menunggu),
sedangkan untuk P2 adalah sebesar 24 ms (menunggu P1
selesai), dan untuk P3 sebesar 27 ms
(menunggu P1 dan P2 selesai).
Ada tiga buah proses yang datang secara bersamaan yaitu pada 0
ms, P1 memiliki burst time 24 ms, P2 memiliki burst time 3 ms,
dan P3 memiliki burst time 3 ms. Hitunglah waiting time rata-rata
dan turnaround time( burst time + waiting time) dari ketiga
proses tersebut dengan menggunakan algoritma FCFS.
Waiting time untuk P1 adalah 0 ms (P1 tidak perlu menunggu),
sedangkan untuk P2 adalah sebesar 24 ms (menunggu P1
selesai), dan untuk P3 sebesar 27 ms
(menunggu P1 dan P2 selesai).
Gambar gantt chart kedatangan proses
Urutan kedatangan adalah P1, P2 , P3; gantt chart untuk
urutan ini adalah:
urutan ini adalah:
Waiting time rata-ratanya adalah sebesar(0+24+27)/3 = 17ms. Turnaround time untuk P1 sebesar 24 ms, sedangkan untuk P2 sebesar 27 ms (dihitung dari awal kedatangan P2 hingga selesai dieksekusi), untuk P3 sebesar 30 ms. Turnaround time rata-rata untuk ketiga proses tersebut adalah (24+27+30)/3 = 27 ms.
Kelemahan dari algoritma ini:
1. Waiting time rata-ratanya cukup lama.
2. Terjadinya convoy effect, yaitu proses-proses menunggu
lama untuk menunggu 1 proses besar yang sedang
dieksekusi oleh CPU. Algoritma ini juga menerapkan
konsep non-preemptive, yaitu setiap proses yang
sedang dieksekusi oleh CPU tidak dapat di-interrupt
oleh proses yang lain.
lama untuk menunggu 1 proses besar yang sedang
dieksekusi oleh CPU. Algoritma ini juga menerapkan
konsep non-preemptive, yaitu setiap proses yang
sedang dieksekusi oleh CPU tidak dapat di-interrupt
oleh proses yang lain.
Misalkan proses dibalik sehingga urutan kedatangan adalah P3, P2, P1. Waiting time adalah P1=6; P2=3; P3=0. Average waiting time: (6+3+0)/3=3.
Gambar gantt chart kedatangan proses urutan kedatangan dibalik
2. Priority Function
Priority Function merupakan algoritma penjadwalan yang
mendahulukan proses yang memiliki prioritas tertinggi.
Setiap proses memiliki prioritasnya masing-masing.
mendahulukan proses yang memiliki prioritas tertinggi.
Setiap proses memiliki prioritasnya masing-masing.
Prioritas suatu proses dapat ditentukan melalui beberapa
karakteristik antara lain:
karakteristik antara lain:
1. Time limit.
2. Memory requirement.
3. Akses file.
4. Perbandingan antara burst M/K dengan CPU burst.
5. Tingkat kepentingan proses.
non-preemptive. Pada preemptive, jika ada suatu proses yang baru
datang memiliki prioritas yang lebih tinggi daripada proses yang
sedang dijalankan, maka proses yang sedang berjalan tersebut
dihentikan, lalu CPU dialihkan untuk proses yang baru datang
tersebut.
Sementara itu, pada non-preemptive, proses yang baru datang
tidak dapat menganggu proses yang sedang berjalan, tetapi
hanya diletakkan di depan queue.
Kelemahan pada priority function adalah dapat terjadinya indefinite blocking( starvation). Suatu proses dengan prioritas yang rendah memiliki kemungkinan untuk tidak dieksekusi jika terdapat proses lain yang memiliki prioritas lebih tinggi darinya.
Solusi dari permasalahan ini adalah aging, yaitu meningkatkan prioritas dari setiap proses yang menunggu dalam queue secara bertahap.
Contoh:
Setiap 10 menit, prioritas dari masing-masing proses yang menunggu dalam queue dinaikkan satu tingkat. Maka, suatu proses yang memiliki prioritas 127, setidaknya dalam 21 jam 20 menit, proses tersebut akan memiliki prioritas 0, yaitu prioritas yang tertinggi (semakin kecil angka menunjukkan bahwa prioritasnya semakin tinggi).
3. Round Robin
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. Tentu proses ini cukup adil karena tak ada
proses yang diprioritaskan, semua proses mendapat jatah
waktu yang sama dari CPU yaitu (1/n), dan tak akan
menunggu lebih lama dari (n-1)q dengan q adalah
lama 1 quantum.
mendapat jatah sebesar time quantum. Jika time quantum-nya
habis atau proses sudah selesai, CPU akan dialokasikan ke
proses berikutnya. Tentu proses ini cukup adil karena tak ada
proses yang diprioritaskan, semua proses mendapat jatah
waktu yang sama dari CPU yaitu (1/n), dan tak akan
menunggu lebih lama dari (n-1)q dengan q adalah
lama 1 quantum.
Algoritma ini sepenuhnya bergantung besarnya time quantum.
Jika terlalu besar, algoritma ini akan sama saja dengan
algoritma first come first served. Jika terlalu kecil, akan
semakin banyak peralihan proses sehingga banyak
waktu terbuang.
Jika terlalu besar, algoritma ini akan sama saja dengan
algoritma first come first served. Jika terlalu kecil, akan
semakin banyak peralihan proses sehingga banyak
waktu terbuang.
Permasalahan utama pada Round Robin adalah menentukan
besarnya time quantum. Jika time quantum yang ditentukan
terlalu kecil, maka sebagian besar proses tidak akan
selesai dalam 1 quantum. Hal ini tidak baik karena akan
terjadi banyak switch, padahal CPU memerlukan waktu
untuk beralih dari suatu proses ke proses lain
(disebut dengan context switches time).
besarnya time quantum. Jika time quantum yang ditentukan
terlalu kecil, maka sebagian besar proses tidak akan
selesai dalam 1 quantum. Hal ini tidak baik karena akan
terjadi banyak switch, padahal CPU memerlukan waktu
untuk beralih dari suatu proses ke proses lain
(disebut dengan context switches time).
Sebaliknya, jika time quantum terlalu besar, algoritma Round
Robin akan berjalan seperti algoritma first come first served.
Time quantum yang ideal adalah jika 80% dari total proses
memiliki CPU burst time yang lebih kecil dari
1 time quantum.
Robin akan berjalan seperti algoritma first come first served.
Time quantum yang ideal adalah jika 80% dari total proses
memiliki CPU burst time yang lebih kecil dari
1 time quantum.
Gambar Urutan kejadian algoritma Round Robin
4. Multilevel Feedback
Algoritma ini mirip sekali dengan algoritma multilevel queue. Perbedaannya ialah algoritma ini mengizinkan proses untuk pindah antrian. Jika suatu proses menyita CPU terlalu lama, maka proses itu akan dipindahkan ke antrian yang lebih rendah.
Hal ini menguntungkan proses interaksi karena proses ini hanya memakai waktu CPU yang sedikit. Demikian pula dengan proses yang menunggu terlalu lama. Proses ini akan dinaikkan tingkatannya. Biasanya prioritas tertinggi diberikan kepada proses dengan CPU burst terkecil, dengan begitu CPU akan terutilisasi penuh dan M/K dapat terus sibuk. Semakin rendah tingkatannya, panjang CPU burst proses juga semakin besar.
Gambar Multilevel Feedback Queue
5. Last In First Out
Pada algoritma ini setiap proses yang ada di ready queue akan dieksekusi berdasarkan burst time terkecil.
Hal ini mengakibatkan waiting time yang pendek untuk setiap proses dan karena hal tersebut maka waiting time rata-ratanya juga menjadi pendek, sehingga dapat dikatakan bahwa algoritma ini adalah algoritma yang optimal.
Proses yang tiba belakangan yang akan dieksekusi terlebih dahulu.
Tidak ada komentar:
Posting Komentar