Soal
1. (Poin 10) Apa tujuan dari interupsi? Apa bedanya interupsi dengan jebakan
(trap)? Bisakah jebakan (trap) dibuat dengan sengaja oleh program pengguna?
Jika ya, untuk tujuan apa?
2. (Poin 20) Identifikasi beberapa kelebihan dan beberapa kekurangan sistem
operasi open source.
3. (Poin 10) Apa tujuan dari system call?
4. (Poin 20) Jelaskan perbedaan antara penjadwalan preemptive dan non-
preemptive?
5. (Poin 30) Berikut urutan proses pada penjadwalan CPU. Kerjakan dengan
menggunakan 2 algoritma yaitu FCFS dan Round Robin. Tiap algoritma:
gambarkan gant chartnya, waiting time tiap proses dan average waiting time.
6. (Poin 10) Jelaskan deadlocks dan berikan contoh kondisi ternyata deadlocks
pada sistem operasi.
Jawaban
1. -Tujuan: Interupsi adalah mekanisme yang digunakan oleh sistem operasi dan
perangkat keras untuk mengganggu eksekusi normal program. Tujuan utama
dari interupsi adalah memberi tahu CPU bahwa ada suatu peristiwa yang
memerlukan perhatian segera
- jebakan dipicu oleh program pengguna untuk menjalankan fungsionalitas OS,
sementara interupsi dipicu oleh perangkat keras untuk memungkinkan prosesor
menjalankan rutinitas penanganan interupsi yang sesuai.
- Iya,jebakan dapat dibuat dengan sengaja oleh Programer untuk berbagai
tujuan, termasuk penanganan debugging dan pemantauan perilaku program.Ada
juga Trap yang digunakan untuk memancing pengguna untuk masuk kedalam
phising (Trap) untuk membuat progarmer memasuki database user.
FCFS :
P1 P2 P3 P4
0 6 10 13
21
Proses Waiting Time
P1 0- 0 = 0
P2 6 - 1= 5
Jadi, lama waktu tunggu dari
P3 10 - 3 = 7
keseluruhan proses tersebut
P4 13 - 6 = 7 berjumlah 19 ms
Jumlah 19 ms
AWT = P1 = 11 + 6 = 17
P2 = 3 + 4 = 7 47/4 = 11,75ms
P3 = 5 + 3 = 8
P4 = 7 + 8 = 15
6. Deadlock adalah situasi yang terjadi dalam sistem komputer, terutama dalam
sistem operasi, di mana dua atau lebih proses atau thread terjebak dan tidak
dapat melanjutkan eksekusi karena mereka saling menunggu sumber daya yang
ditempati oleh yang lain.
Contoh: -Misalkan kita memiliki dua proses, P1 dan P2, dan dua sumber daya,
R1 dan R2. P1 memegang R1 dan membutuhkan R2 untuk melanjutkan,
sementara P2 memegang R2 dan membutuhkan R1 untuk melanjutkan. Kedua
proses tersebut saling menunggu dan berakhir dalam keadaan buntu atau
deadlock.
-kasus deadlock dalam sistem operasi melibatkan penggunaan sumber daya
seperti memori, I/O devices, atau CPU cycles. Misalnya, proses X bisa
menunggu sumber daya yang dimiliki oleh proses Y, sementara proses Y
menunggu sumber daya yang dimiliki oleh proses X. Karena masing-masing
proses tidak dapat melanjutkan sampai mendapatkan sumber daya yang
dibutuhkan, maka kedua proses tersebut berada dalam keadaan deadlock.
-Dalam pengkodean multithread, deadlock bisa terjadi jika dua atau lebih thread
saling menunggu untuk mendapatkan lock pada objek yang sudah terkunci oleh
thread lain. Misalnya, jika thread A memiliki lock pada objek X dan menunggu
untuk mendapatkan lock pada objek Y, sementara thread B memiliki lock pada
objek Y dan menunggu untuk mendapatkan lock pada objek X, maka kedua
thread tersebut berada dalam keadaan deadlock.