Week 2
Operating System
5. Jelaskan cara kerja multiprogramming pada computer yang memiliki 1 CPU
Pada sistem prosesor tunggal, tidak pernah ada proses yang berjalan lebih dari satu. Bila
ada proses yang lebih dari satu maka proses yang lain harus mengantri
sampai CPU bebas proses. Cara ini dilakukan dengan membagi main memory menjadi
beberapa partisi. Foreground partitions akan berisi program dengan prioritas yang lebih
tinggi sedang background partitions akan berisi program dengan prioritas yang lebih
rendah. sistem operasi harus menyediakan mekanisme untuk manajemen memori,
penjadwalan CPU dan manajemen disk. Sistem operasi multiprogram menyediakan
supply untuk I/O routine
7. Pada unix/linus system sebuah proses bisa menjadi “orphan” dan “zombie”. Jelaskan.
Orphan proses: merupakan proses yang terjadi karena parent proses dari suatu child
proses telah di exit atau diterminate tapi child prosesnya tetap berjalan lalu diadopsi
oleh proses init.
Zombie proses: merupakan sebuah proses yang terjadi karena adanya child proses yang
di exit namun parent prosesnya tidak tahu bahwa child proses tersebut telah
diterminate misalnya disebabkan karena putusnya network. Sehingga parent proses
tersebut tidak merelease proses yang masih digunakan oleh child proses tersebut
walaupun sudah mati.
9. Dalam menjalankan proses pada system operasi terdapat 2 mode, yaitu kernel (supervisor)dan?
Dan ada juga user mode
Operating System
Sedangkan dalam mode kernel semua kode yang berjalan dalam mode kernel berbagi
satu ruang alamat virtual. Oleh karena itu, driver mode kernel tidak terisolasi dari driver
lain dan sistem operasi itu sendiri. Jika driver mode kernel secara tidak sengaja menulis
ke alamat virtual yang salah, data milik sistem operasi atau driver lain dapat disusupi.
Jika driver mode kernel mengalami crash, seluruh sistem operasi mengalami crash.
13. Jelaskan 5-state process state. Jelaskan juga transisi antar state.
• New adalah Proses sedang dikerjakan/dibuat.
• Running adalah Instruksi sednag dikerjakan.
• Waiting adalah Proses sedang menunggu sejumlah kejadian untuk terjadi (seperti sebuah
penyelesaian I/O atau penerimaan sebuah tanda/signal).
• Ready adalah Proses sedang menunggu untuk ditugaskan pada sebuah prosesor.
• Terminated/Exit adalah Proses telah selsesai melaksanakan tugasnya/mengeksekusi.
Operating System
15. Apa yang dimaksud dengan “suspended” process? Jelaskan mengapa sebuah proses menjadi
suspended
Suspend adalah operasi penting dan telah diterapkan dengan beragam cara. Penundaan
biasanya berlangsung singkat. Suspend sering dilakukan sistem untuk memindahkan
proses-proses tertentu guna mereduksi beban sistem selama beban puncak.
17. Thread switch lebih cepat dari pada proses switch. Jelaskan sebabnya.
Beberapa factor yang mempengaruhi:
a. Responsi : Membuat aplikasi yang interaktif menjadi multithreading dapat membuat sebuah
program terus berjalan meskipun sebagian dari program tersebut diblok atau melakukan
operasi yang panjang, karena itu dapat meningkatkan respons kepada pengguna. Sebagai
contohnya dalam web browser yang multithreading, sebuah thread dapat melayani
permintaan pengguna sementara thread lain berusaha menampilkan image.
b. Berbagi sumber daya : thread berbagi memori dan sumber daya dengan thread lain yang
dimiliki oleh proses yang sama. Keuntungannya adalah mengizinkan sebuah aplikasi untuk
mempunyai beberapa thread yang berbeda dalam lokasi memori yang sama.
Operating System
20. Jelaskan dalam situasi apa single-thread akan memberikan performa lebih baik dari multi-
thread?
a. Foreground and background work
b. Asynchronous processing
c. Speed of execution
d. Modular program structure
Pada saat Execution time (waktu proses) dari sebuah single-thread tidak dapat diimprove
(ditambah), tapi malah bisa diturunkan. Ini terjadi karena penurunan frequensi yang dibutuhkan
ketika terjadi pergantian thread yang berjalan
2. Aplikasi terstruktur.
Perluasan prinsip perancangan modular dan pemrograman terstruktur adalah suatu aplikasi dapat
secara efektif diimplementasikan sebagai sekumpulan proses. Dengan sekumpulan proses, maka
tiap proses menyediakan satu layanan spesifik tertentu.
Operating System
23. Jelaskan yang dimaksud dengan critical section dan apa hubungannya dengan mutual exclusion?
Critical section merupakan bagian kode dalam proses yang memerlukan akses ke
sumber daya bersama dan tidak boleh dijalankan saat proses lain berada di bagian kode
yang sesuai
24. Berikan 2 contoh untuk reusable resource dan 2 contoh untuk consumable resource
Contoh reusable resource:
- Processor
- I/O channel
- Main memory dan secondary memory
- Device
- File
- Database
- Semaphore
Contoh deadlock akibat reusable resource:
a. Misal terdapat dua proses yang berkompetisi untuk mengakses disk file (D) dan tape drive
(T). Deadlock terjadi jika masing-masing proses memegang (hold) sumber daya dan meminta
(request) sumber daya yang lain yang dipegang oleh proses yang lain. Cara mengatasinya
dengan memberi batasan pada disain sistem untuk perintah request (Constraint on design
system).
b. Dua buah proses membutuhkan memori masing 80kb dan 90kb dengan ruang yang tersisa
yaitu 180kb. Deadlock akan terjadi bila salah satu dari proses tersebut membutuhkan
memori untuk kedua kalinya\
Operating System
a. Misalkan ada dua user sedang saling mengirim dan menerima pesan, deadlock terjadi jika
pesan Recive terblock di salah satu proses
b. Deadlock terjadi bila user 1 dapat melanjutkan eksekusi setelah menerima pesan dari user 2,
atau sebaliknya
26. Circular wait dapat menyebabkan deadlock. Bagaimana cara menghindar dari circular wait?
Ada 4 cara untuk menghindarinya:
c. Penghindaran yang terus menerus dan pengalokasian yang baik dengan menggunakan
protocol untuk memastikan sistem tidak pernah memasuki keadaan deadlock. Yaitu dengan
deadlock avoidance sistem untuk mendata informasi tambahan tentang proses mana yang akan
meminta dan menggunakan sumber daya.
d. Pencegahan yang secara struktur bertentangan dengan empat kondisi terjadinya deadlock
dengan deadlock prevention sistem untuk memastikan bahwa salah satu kondisi yang
pentingtidak dapat menunggu
Operating System
Resource allocation graph digunakan untuk mendeteksi deadlock dimana ada satu
peristiwa yang menandakan terjadinya deadlock yaitu saat grafik resource membentuk
satu putaran(cycle).
28. Jika anda akan membuat sebuah sistem operasi, dalam situasi apa anda dapat mengabaikan
deadlock? (dalam arti tidak perlu melakukan penanganan deadlock)
Dengan memastikan bahwa program memiliki maksimum permintaan. Dengan kata lain
cara sistem ini memastikan terlebih dahulu bahwa sistem akan selalu dalam kondisi
aman. Baik mengadakan permintaan awal atau pun saat meminta permintaan sumber
daya tambahan, sistem harus selalu berada dalam kondisi aman.
30. Jika deadlock tetap terjadi, maka harus melakukan recover dari deadlock. Jelaskan teknik-teknik
melakukan recovery.
1. Lewat Preemption,
Dengan cara untuk sementara waktu menjauhkan sumber daya dari pemakainya, dan
memberikannya pada proses yang lain.
2. Lewat Melacak Kembali,
Setelah melakukan beberapa langkah preemption, maka proses utama yang diambil sumber
dayanya akan berhenti dan tidak dapat melanjutkan kegiatannya, oleh karena itu
dibutuhkan langkah untuk kembali pada keadaan aman dimana proses masih berjalan dan
memulai proses lagi dari situ.
3. Lewat mematikan proses yang menyebabkan Deadlock,
Cara yang paling umum ialah mematikan semua proses yang mengalami deadlock.
Operating System