1. Apakah keuntungan dari layer approach pada sistem design? Dan apakah kerugiannya?
Jawaban :
Keuntungan : sistem berlapis memiliki semua keunggulan rancangan yang modular yaiut sistem terbagi dalam beberapa modul. Masing-masing lapisan atau modul itu dapat dirancang, dikode, dan diuji secara independen berlapis menyederhanakan rancangan, spesifikasi, dan implementasi sistem operasi.
Kerugian : fungsi-fungsi sistem operasi yang harus diberikan ke masing-masing lapisan harus dilakukan secara hati-hati.
2. Sebutkan 5 servis/layanan yang diberikan oleh sistem operasi, jelaskan bagaimana masing-masing memberikan kemudahan kepada pengguna. Jelaskan juga dalam kasus apa yang tidak mungkin untuk user-level program untuk menyediakan layanan ini.
Jawaban :
• Eksekusi program : load program user ke memory dan menjalankannya (run)
• Operasi-operasi I/O : pengguna tidak bisa mengontrol I/O secara langsung (untuk efisiensi & keamanan), sistem harus bisa menyediakan mekanisme untuk melakukan operasi I/O
• Manipulasi file system : read, write, create & delete
• Komunikasi antar proses : Baik yang run di komputer yang sama atau berlainan via jaringan. Implementasi melalui shared memory atau message passing
• Error detection : Menjamin komputasi yang benar dengan mendeteksi error : CPU, memori, I/O device, atau user program
Kasus apa yang tidak mungkin untuk user-level program untuk menyediakan layanan ini :
• Penjadwalan (Scheduling): pengguna memesan waktu pelayanan mesin, pemesanan waktu mesin hendaknya sama dengan waktu penyelesaian pekerjaan.
• Waktu setup (Setup Time): Waktu yang diperlukan untuk pemuatan compiler dan program berbahasa tingkat tinggi (program sumber) ke dalam memori, penyimpanan program yang telah dikompilasi (program object), dan kemudian memuatkan dan melakukan link program object dengan fungsi-fungsi agar program dapat berjalan. Waktu setup harus diusahakan sependek mungkin.
3. Apakah keuntungan dari microkernel approach pada system design?
Jawaban :
Keuntungan :
– Ketika layanan baru akan ditambahkan ke user-space, kernel tidak perlu di-modif
– OS lebih mudah ditempatkan (porting) pada suatu desain perangkat keras ke desain perangkat keras lainnya (asrsitektur sistem yang baru)
– Mendukung keamanan & reliabilitas lebih
• Contoh sistem operasi :
– Tru64 UNIX, MacOSX, QNX
4. Jelaskan perbedaan antara preemptive and nonpreemptive scheduling.
Jawaban :
Penjadwalan Preemptive merupakan kemampuan sistem operasi untuk memberhentikan sementara proses yang sedang berjalan untuk memberi ruang kepada proses yang prioritasnya lebih tinggi. Penjadwalan ini bisa saja termasuk penjadwalan proses atau I/O. Penjadwalan Preemptive memungkinkan sistem untuk lebih bisa menjamin bahwa setiap proses mendapat sebuah slice waktu operasi.
Penjadwalan Non Preemptive jenis penjadwalan dimana sistem operasi tidak pernah melakukan context switch dari proses yang sedang berjalan ke proses yang lain. Dengan kata lain, proses yang sedang berjalan tidak bisa di- interupt.
5. Apakah yang membedakan PCS dan SCS scheduling.
Jawaban :
Process Contention Scope (PCS). Pustaka thread menjadwalkan thread pengguna untuk berjalan pada LWP ( lightweight process) yang tersedia.
System Contention Scope (SCS). SCS berfungsi untuk memilih satu dari banyak thread, kemudian menjadwalkannya ke satu thread tertentu (CPU / Kernel).
6. Berikan alasan mengapa Solaris, Windows XP, and Linux mengimplementasikan mekanisme multiple locking. Jelaskan keadaan dimana mereka menggunakan spinlock, mutexes, semaphores, adaptive mutexes, dan condition variables. Pada setiap kasus, jelaskan mengapa mekanisme tersebut dibutuhkan.
Jawaban :
Sistem operasi menyediakan mekanisme penguncian yang berbeda tergantung pada kebutuhan pengembang aplikasi. Spinlocks adalah berguna untuk sistem multiprosesor di mana thread dapat dijalankan dalam busy-loop (untuk jangka waktu yang pendek) daripada menimbulkan biaya overhead yang dimasukkan ke dalam sleep queue. Mutexes berguna untuk mengunci sumber daya. Solaris 2 menggunakan mutexes adaptif, berarti bahwa mutex ini diimplementasikan dengan spinlocks pada mesin multiprosesor. Semaphore dan variabel kondisi sebagai alat yang lebih tepat untuk sinkronisasi ketika sumberdaya harus dipegang untuk jangka waktu yang panjang, karena berputar secara tidak efisien untuk durasi panjang.
7. Jelaskan mengenai konsep dari transaction atomicity.
Jawaban :
Atomicity disini juga dapat diartikan all or nothing, maksudnya adalah jika terdapat beberapa perintah dalam satu waktu, perintah tersebut dijadikan sebagai suatu kesatuan, sehingga jika salah satu perintah dalam kesatuan tersebut gagal dilaksanakan maka seluruh kesatuan perintah tersebut gagal dilakukan.
8. Berikan 3 contoh dari deadlocks yang tidak ada hubungannya dengan lingkungan sistem komputer.
Jawaban :
1. Contoh Deadlock di Jembatan Gantung
disadur dari Modern Operating Systems , Tanenbaum , 1992
sehingga orang yang ada di sebelah kiri jembatan tidak dapat melaju sebab terjadi deadlock di tengah jembatan ( bagian yang dilingkari )
2. Contoh Deadlock di Persimpangan Jalan
disadur dari Modern Operating Systems , Tanenbaum , 1992
Dalam kasus ini setiap mobil bergerak sesuai nomor yang ditentukan,tetapi tanpa pengaturan yang benar, maka setiap mobil akan bertemu pada satu titik yang permanen( yang dilingkari )atau bisa dikatakan bahwa setiap mobil tidak bisa meanjutkan perjalanan lagi atau dengan kata lain terjadi deadlock
3. Contoh Deadlock Sederhana
Pada gambar diatas, tidak ada yang dapat maju karena keduanya memperebutkan jalan yang sama ( yang dilingkari ), demikian juga deadlock saat semua proses memperebutkan sumber yang sama.
9. Dapatkah system mendeteksi beberapa process adalah starving? Jika “ya” jelaskan bagaimana itu bisa. Jika “tidak” jelaskan bagaimana system dapat deal dengan starvation problem.
Jawaban :
Bisa. Apabila kondisi deadlock dapat dideteksi dengan metode penanganan deadlock secara awal.
10. Gambarkan suatu mekasisme dimana satu segmen dapat berasal dari address space dari dua proses yang berbeda.
Jawaban :
11. Berikan contoh dari sebuah aplikasi dimana data dalam sebuah file harus diakses :
a. Sequentially
b. randomly
Jawaban :
Sequentially : Database, dimana data yang diambil harus berurutan.
Randomly : Aplikasi Pemutar Musik, seperti Winamp. Winamp akan mengakses file-file yang berada di Harddisk ataupun CD/DVD secara random. Contohnya: Jika ingin mendengarkan lagu ke-10 kita bisa langsung mengaksesnya tanpa diurutkan terlebih dahulu.
Tidak ada komentar:
Posting Komentar