Soal-jawab Quiz 2
Oleh: Endro Ariyanto (END) Oktober 2008
Soal jawab Quiz 2
(1)
1. Apakah yang dimaksud dengan thread ? (nilai 3)
Jawab: Pecahan dari suatu proses yang dapat dieksekusi dan dijadualkan 2. Thread disebut juga LWP. Apa kepanjangan dari LWP ? (nilai 3) Jawab: LWP = Lightweight Process
3. Eksekusi proses pada sistem dengan prosesor tunggal dilakukan secara .... (nilai 3)
Jawab: interleaving, selang-seling, bergantian
4. Kalau multithreading = banyak thread, maka multiprocessing = .... (nilai
3) Jawab: multiprocessing = banyak prosesor
5. Kalau multithreading = banyak thread, maka multiprogramming = ....
(nilai 3) Jawab: multiprogramming = banyak program atau banyak proses
6. Tuliskan contoh sistem operasi yang dalam satu saat hanya dapat mengeksekusi sebuah proses dan di dalam proses tersebut hanya terdapat satu thread saja !(nilai 3)
Jawab: DOS
Sistem Operasi/Endro Ariyanto #1
Soal jawab Quiz 2
(2)
7. Salah satu kekurangan ULT dapat diatasi dengan menggunakan jacket routine. Apa manfaat jacket routine ? (nilai 3)
Jawab: Thread yang melakukan system call tidak menyebabkan thread lainnya terhenti (tidak menyebabkan proses ter-blok) 8. Tuliskan 2 manfaat thread ! (nilai total 6) Jawab: (1) Pembentukan suatu thread jauh lebih cepat daripada pembentukan proses baru (2) Terminasi suatu thread jauh lebih cepat daripada terminasi proses (3) Perpindahan eksekusi antar thread jauh lebih cepat (4) Antar thread dapat berkomunikasi tanpa melibatkan kernel 9. Sebutkan perbedaan antara ULT dan KLT ! (nilai 3) Jawab: (1) Manajemen thread: -ULT: dilakukan oleh program aplikasi -KLT: dilakukan oleh kernel Sistem Operasi/Endro Ariyanto #2
Soal jawab Quiz 2
(3)
10. Tuliskan sebuah kelebihan ULT dibanding KLT ? (nilai 3)
Jawab: (1) Pergantian thread (thread switching) tidak melibatkan kernel, sehingga overhead dapat dihindari (2) Algoritma penjadualan eksekusi thread suatu aplikasi bisa berbeda dengan aplikasi yang lain (3) Dapat dijalankan pada sistem operasi berbeda-beda, karena tidak bergantung pada kernel 11. Tuliskan sebuah kekurangan ULT dibanding KLT ? (nilai 3) Jawab: (1) Jika sebuah thread pada sebuah proses melakukan system call akan menyebabkan semua thread pada proses tersebut tidak dapat dieksekusi (semua terhenti) (2) Penggunaan multiprocessor tidak dapat dimanfaatkan secara maksimal (3) Dalam satu saat kernel hanya mengijinkan satu thread saja yang dapat dieksekusi untuk setiap proses Sistem Operasi/Endro Ariyanto #3
Soal jawab Quiz 2
(4)
12.
Tuliskan satu kekurangan arsitektur komputer model SMP ! (nilai 3)
14.
Pada SMP setiap prosesor mempunyai cache memori sendiri-sendiri. Bagaimana cara menjaga validitas data jika salah satu prosesor mengubah data tersebut ? (nilai 3)
Æ27 Jawab: (1) Implementasi kompleks (2) Dapat terjadi rebutan resource dan rebutan proses/thread bila sinkronisasi tidak ditangani secara baik 13. Tuliskan satu kelebihan arsitektur komputer model SMP ! (nilai 3) Jawab: (1) Sistem masih dapat berjalan meskipun ada prosesor yang gagal (lebih handal) (2) Bottleneck dapat dihindari
Jawab: Prosesor yang melakukan perubahan harus mengirim pemberitahuan
Sistem Operasi/Endro Ariyanto #4
Soal jawab Quiz 2 15.
(5)
Arsitektur Master/Slave merupakan salah satu arsitektur yang digunakan pada sistem multiprocessor menggunakan shared memory. Tuliskan sebuah kekurangan arsitektur tersebut ! (nilai 3)
Jawab:
Bila prosesor master gagal, maka seluruh sistem akan gagal Dapat terjadi bottle neck bila prosesor master kelebihan beban akibat melakukan penjadualan dan manajemen proses sendirian Pada model ULT, apa yang menyebabkan perubahan status dari gambar (a) ke gambar (b) ?(nilai 3)
16.
(a)
(b)
Jawab: Thread 2 yang sedang running melakukan system call
Sistem Operasi/Endro Ariyanto #5
Soal jawab Quiz 2 17.
Pada model ULT, apa yang menyebabkan perubahan status dari gambar (a) ke gambar (b) ?(nilai 3)
(a)
18. 19.
(6)
(b)
Jawab: Thread yang sedang running (thread 2) membutuhkan sesuatu dari thread lain dalam proses tersebut Selain pada sistem multiprogramming, tuliskan 2 sistem lain yang memerlukan adanya konkurensi ! (total nilai 6)
Jawab: (1) Multiprocessing (2) Distributed processing
Selain pada sistem multiprogramming dan multiprocessing, tuliskan 2 sistem lain yang memerlukan adanya konkurensi ! (total nilai 6)
Jawab: (1) Multithreading (2) Distributed processing
Sistem Operasi/Endro Ariyanto #6
Soal jawab Quiz 2
(7)
20.
Tuliskan 3 kelebihan arsitektur microkernel ! (total nilai 9)
21.
Tuliskan 3 operasi pada microkernel yang digunakan untuk mengatur memori dilengkapi dengan penjelasan masing-masing ! (total nilai 9)
Jawab: (1) Interface seragam (uniform) (2) Dapat dikembangkan (extensibility) (3) Fleksibel (4) Portabel (5) Handal (Reliability) (6) Dapat digunakan pada sistem terdistribusi (7) Termasuk jenis sistem operasi object-oriented
Jawab: (1) Grant: - Pemilik ruang alamat (proses) dapat memberikan sejumlah page-nya ke proses lain (2) Map: - Proses dapat memetakan sembarang page-nya ke ruang alamat proses yang lain, sehingga page tersebut dapat diakses bersama-sama (shared) (3) Flush: - Proses dapat meminta kembali page yang pernah diberikan atau di-shared kepada proses lain
Sistem Operasi/Endro Ariyanto #7
Soal jawab Quiz 2 22.
(8)
Apa yang dimaksud dengan mutual exclusion ? (nilai 3)
Jawab: Syarat/kondisi yang harus dipenuhi untuk mencegah terjadinya pengaksesan critical section oleh lebih dari satu proses dalam satu saat 23. Tuliskan 3 syarat untuk membentuk mutex (total nilai 9) Jawab: (1) Dalam satu waktu hanya satu proses saja yang boleh mengakses critical section (2) Proses yang berada di luar critical section harus dapat melakukan aktifitas lain dengan tidak mengganggu proses yang lain (3) Tidak boleh terjadi deadlock atau starvation (4) Dalam pengaksesan critical section tidak boleh ada tunda waktu (delay) bila sedang tidak ada yang mengakses critical section tersebut (5) Kecepatan relatif proses dan jumlah proses tidak boleh mempengaruhi mutual exclusion (race condition) (6) Sebuah proses berada pada critical section dalam waktu terbatas Sistem Operasi/Endro Ariyanto #8
Soal jawab Quiz 2
(9)
24. Berikut ini merupakan beberapa syarat yang harus dipenuhi untuk membentuk mutex.
(1) Dalam satu waktu hanya satu proses saja yang boleh mengakses critical section (2) Proses yang berada di luar critical section harus dapat melakukan aktifitas lain dengan tidak mengganggu proses yang lain Tuliskan 3 syarat lain untuk membentuk mutex (total nilai 9) Jawab: (1) Tidak boleh terjadi deadlock atau starvation (2) Dalam pengaksesan critical section tidak boleh ada tunda waktu (delay) bila sedang tidak ada yang mengakses critical section tersebut (3) Kecepatan relatif proses dan jumlah proses tidak boleh mempengaruhi mutual exclusion (race condition) (4) Sebuah proses berada pada critical section dalam waktu terbatas 25. Apa yang dimaksud dengan critical section ? (nilai 3) Jawab: Bagian dari sistem komputer yang dalam satu saat hanya boleh diakses oleh satu proses saja (secara bergantian) Sistem Operasi/Endro Ariyanto
#9
Soal jawab Quiz 2 26.
27.
28.
(10)
Selain dengan fasilitas enable-disable interrupt dan instruksi atomik, tuliskan 2 cara lain yang dapat digunakan untuk membentuk mutex !
(total nilai 6) Jawab: (1) Semaphore (2) Monitor (3) Message passing
Selain dengan fasilitas enable-disable interrupt, instruksi atomik, dan semaphore, tuliskan 2 cara lain yang dapat digunakan untuk membentuk mutex ! (total nilai 6)
Jawab: (1) Monitor (2) Message passing
Inisialisasi variabel semaphore yang digunakan untuk melindungi critical section harus bernilai satu. Apa akibatnya jika inisialisasinya adalah: (total nilai 6) (a) nol (b) lebih dari satu
Jawab: (a) Critical section tidak akan pernah dapat diakses (b) Kondisi mutex gagal, karena critical section dapat diakses oleh lebih dari satu proses dalam satu saat
Sistem Operasi/Endro Ariyanto #10
Soal jawab Quiz 2 29.
(11)
Tuliskan isi prosedur semSignal ? (total nilai 6)
Jawab: (1) Tambahkan variabel semaphore dengan 1 (2) Periksa nilai variabel semaphore, jika nilainya menjadi ≤ 0, bebaskan sebuah proses yang terblok menjadi ready 30. Tuliskan isi prosedur semWaitB ? (total nilai 6) Jawab: (1) Periksa nilai variabel semaphore (2) Jika nilai variabel = 1 Æ diubah menjadi 0 (3)Jika nilai variabel = 0 Æ proses tersebut di-blok dan dimasukkan ke dalam antrian 31. Tuliskan isi prosedur semWait ? (total nilai 6) Jawab: (1) Akan mengurangi nilai variabel semaphore (2) Jika nilai variabel menjadi negatif Æ proses yang mengeksekusi semWait akan di-blok (3) Jika tidak Æ proses tersebut akan dilayani Sistem Operasi/Endro Ariyanto #11
Soal jawab Quiz 2 32.
(12)
Tuliskan isi prosedur semSignalB ? (total nilai 6) Æ90
Jawab: (1) Akan memeriksa jumlah proses dalam antrian dengan fungsi is_empty() (2) Jika tidak ada proses dalam antrian Æ nilai variabel menjadi 1 (3) Jika ada proses dalam antrian: Æ Sebuah proses dipindahkan dari antrian ke status ready Æ Nilai variabel tetap = 0 33. Tuliskan 2 kelebihan monitor ? (total nilai 6) Æ96 Jawab: (1) Dapat menangani sinkronisasi (tidak perlu melibatkan programmer) (2) Pengecekan masalah yang berhubungan dengan mutex dapat terpusat hanya pada modul monitor, tidak tersebar di berbagai lokasi program (3) Sekali program monitor telah benar Æ akses terhadap critical resource oleh berbagai proses akan selalu benar Sistem Operasi/Endro Ariyanto #12
Soal jawab Quiz 2
(13)
34. Apa yang dimaksud dengan model sinkronisasi nonblocking send dan blocking receive pada message passing ? (nilai 3)
Jawab: Pengirim dapat terus menerus mengirimkan pesan (tidak pernah ter-blok, sedangkan penerima akan ter-blok jika pesan yang ditunggu belum datang
35. Tuliskan 2 jenis monitor yang dapat mencegah terjadinya starvation ! (total nilai 6)
Jawab: (1) Monitor notify (2) Monitor broadcast
36. Apa model sinkronisasi dengan message passing yang dapat digunakan untuk membentuk rendezvous ? (nilai 3)
Jawab: Blocking send, blocking receive
Sistem Operasi/Endro Ariyanto #13
Soal jawab Quiz 2 37.
(14)
Apa fungsi baris program semWait (x) (a) pada program di samping ? (nilai 3)
Jawab: Untuk mencegah pembaca mengakses variabel readcount saat variabel tersebut sedang diakses oleh pembaca yang lain 38.
(a) (b)
Apa fungsi baris program semWait (wsem) (b) pada program di samping ? (nilai 3)
Jawab: Untuk mencegah agar penulis tidak dapat menulis (mengakses file) saat ada pembaca yang akan membaca file Sistem Operasi/Endro Ariyanto #14
Soal jawab Quiz 2
(15)
39. Apa fungsi baris program semSignal (x) (a) pada program di samping ? (nilai 3)
Jawab: Untuk memberi kesempatan kepada pembaca lain untuk membaca
(a)
40. Apa fungsi baris program semSignal (wsem) (b) pada program di samping ?
(nilai 3) Jawab: Untuk memberi tanda pada pembaca bahwa penulis telah selesai mengakses file
(b)
Sistem Operasi/Endro Ariyanto #15