Anda di halaman 1dari 55

MODUL PRAKTIKUM SISTEM OPERASI

Ketika seorang pelanggan (A) tiba, ia mengeksekusi costumer,


dan mendapatkan mutex untuk memasuki critical region. Jika
pelanggan lain (B) tiba segera setelahnya, ia tidak dapat
melakukan apa - apa sampai A melepaskan mutex.A akan
mengecek apakah jumlah pelanggan yang sedang menunggu
kurang dari jumlah kursi tunggu. Jika tidak ada ia melepaskan
mutex dan pergi meniggalkan toko. Jika ada kursi kosong,
pelanggan tersebut meng-increment variable waiting, kemudian
dia melakukan UP pada semaphore customers, sehingga
membangunkan tukang tidur (jika sedang tertidur). Ketika
pelanggan melepaskan mutex, tukang cukur mengambil mutex,
meng-decrement jumlah pelanggan yang sedang menunggu,
dan mulai mencukur rambut pelanggan tersebut.
Jika pelanggan telah selesai di cukur, maka ia keluar dari
prosedur dan meninggalkan toko. Tidak ada loop pada
prosedur customer karena setiap pelanggan hanya
mendapatkan satu kali cukur rambut. pada prosedur barber
terdapat loop karena ia mencoba mendapatkan pelanggan
berikutnya yang akan di cukur. jika ada pelanggan maka
prosedur cukur di ulang. Jika tidak, tukang cukur akan sleep.
3. PENJADWALAN PROSES

Dalam sebuah sistem, jika ada dua atau lebih proses runnable
yang siap di eksekusi oleh CPU, maka ada bagian dari sistem
operasi yang bertugas memilih salah satu dari proses - proses
tersebut untuk di eksekusi. bagian tersebut adalah scheduler
dan algoritma yang di gunakan di sebut scheduling algorithm
(algoritma penjadwalan).
strategi yang memungkinkan proses yang secara logika
runnable tetapi eksekusinya di tunda untuk sementara di sebut
preemptive, lawan dari preemptive scheduling adalah
nonpreemptive scheduling, yang artinya bahwa sebuah proses
harus di eksekusi hingga selesai, sekali ia di eksekusi oleh
CPU. beberapa algoritma penjadwalan proses adalah sebagai
berikut:

14

Anda mungkin juga menyukai