1. Pengertian sistem operasi: program yang
• menjadi perantara pengguna komputer dengan perangkat keras komputer • mengalokasi resource untuk proses-proses yang dieksekusi pengguna • mengontrol eksekusi program
2. Gambar organisasi sistem komputer • ruang lingkup khusus:
3. Model komunikasi antar proses:
• shared memory: antar proses menggunakan memori bersama dengan acuan yang sama (lingkup lokasi memori ada pada keseluruhan proses)
• message passing: antar proses menggunakan memori dengan acuan yang berbeda (lingkup lokasi memori pada masing-masing proses)
4. Pengelolaan proses pada sistem operasi multiprogramming:
• beberapa proses di-load ke antrian di memori untuk dieksekusi bergantian dengan prioritas tertentu.
• ketika ada proses yang harus menunggu, eksekusi akan dipindahkan (switch) ke proses lain dalam antrian.
5. Protokol komunikasi antar proses: • socket:
◦ dua proses yang terlibat dalam komunikasi, menggunakan pasangan socket berupa IP dan port sebagai end point.
◦ sebuah proses akan menunggu proses lain meminta layanan, sementara proses lainnya menunggu untuk dilayanani.
◦ koneksi antar proses dikelola manual.
◦ layanan spesifik yang umum dikenal antara lain ftp (transfer file), dan http (web).
◦ komunikasi dapat diterapkan secara connectionless (tanpa handshake untuk sinkronisasi, hanya menggunakan parameter time out) seperti UDP atau connection oriented (dengan handshake/acknowledge) seperti TCP • RPC (Remote Procedure Call):
◦ secara umum sama dengan socket
◦ koneksi tidak perlu dikelola manual karena dengan menspesifikasi proxy, komunikasi dapat terbangun layaknya memanggil prosedur
• RMI (Remote Method Invocation): pola komunikasi RPC yang khusus diterapkan di pemrograman Java
6. Diketahui, proses-proses yang sedang berada dalam antrian memiliki waktu eksekusi seperti tabel di bawah ini (asumsi, seluruh proses dimasukkan ke dalam antrian pada saat yang sama).
Proses Burst Time Prioritas
P0 13 5
P1 7 1
P2 9 3
P3 21 4
P4 19 2
• Dengan algoritma SJF (Sortest Job First), diagram Gantt adalah sebagai berikut
• Waktu yang dibutuhkan tiap proses sejak disubmit ke antrian hingga selesai dieksekusi (waktu akhir tiap proses)
◦ P0=29 ◦ P1=7 ◦ P2=16 ◦ P3=69 ◦ P4=48
• Waktu yang dibutuhkan tiap proses untuk menunggu di antrian (waktu awal tiap proses) ◦ P0=16 ◦ P1=0 ◦ P2=7 ◦ P3=48 ◦ P4=29
7. Diketahui, proses-proses yang sedang berada dalam antrian memiliki waktu eksekusi seperti pada nomor 6 (asumsi, seluruh proses dimasukkan ke dalam antrian pada saat yang sama).
• Dengan prioritas yang ditetapkan, diagram Gantt adalah sebagai berikut (nilai prioritas kecil menunjukkan prioritas eksekusi diutamakan).
• Waktu yang dibutuhkan tiap proses sejak disubmit ke antrian hingga selesai dieksekusi (waktu akhir tiap proses)
◦ P0=69 ◦ P1=7 ◦ P2=35 ◦ P3=56 ◦ P4=26
• Waktu yang dibutuhkan tiap proses untuk menunggu di antrian (waktu awal tiap proses) ◦ P0=56 ◦ P1=0 ◦ P2=26 ◦ P3=35 ◦ P4=56
8. Diketahui, proses-proses yang sedang berada dalam antrian memiliki waktu eksekusi seperti pada nomor 6 (asumsi, seluruh proses dimasukkan ke dalam antrian pada saat yang sama).
• Dengan algoritma RR (round robin) dan waktu quantum=11, diagram Gantt adalah sebagai berikut.
• Waktu yang dibutuhkan tiap proses sejak disubmit ke antrian hingga selesai dieksekusi (waktu akhir tiap proses)
◦ P0=51 ◦ P1=18 ◦ P2=27 ◦ P3=61 ◦ P4=69
• Waktu yang dibutuhkan tiap proses untuk menunggu di antrian (waktu awal tiap proses) ◦ P0=38 ◦ P1=11 ◦ P2=18 ◦ P3=40 ◦ P4=50
9. Diketahui, proses-proses yang sedang berada dalam antrian memiliki matriks kebutuhan resource seperti tabel di bawah ini.
Alokasi Maximum Available
A B C D A B C D A B C D P0 0 0 1 2 0 0 1 2 1 5 2 0 P1 1 0 0 0 1 7 5 0 P2 1 3 5 4 2 3 5 6 P3 0 6 3 2 0 6 6 2 P4 0 0 1 4 0 6 5 6 • Matriks kebutuhan A B C D P0 0 0 0 0 P1 0 7 5 0 P2 1 0 0 2 P3 0 0 3 0 P4 0 6 4 2
• Antrian dengan kondisi aman (opsi 1) ◦ P0
Saat akan dieksekusi A B C D
Kebutuhan maksimum 0 0 1 2
Alokasi 0 0 1 2
Tambahan yang diperlukan 0 0 0 0 Ketersediaan resource sebelum
eksekusi
1 5 2 0
Tambahan yang diperlukan 0 0 0 0 Ketersediaan resource saat eksekusi 1 5 2 0
Resource yang digunakan saat eksekusi
0 0 1 2
Resource yang tersedia saat eksekusi 1 5 2 0 Ketersediaan resource setelah eksekusi 1 5 3 2
◦ P2
Saat akan dieksekusi A B C D
Kebutuhan maksimum 2 3 5 6
Alokasi 1 3 5 4
Tambahan yang diperlukan 1 0 0 2 Ketersediaan resource sebelum
eksekusi 1 5 3 2
Tambahan yang diperlukan 1 0 0 2 Ketersediaan resource saat eksekusi 0 5 3 0
Resource yang digunakan saat eksekusi
2 3 5 6
Resource yang tersedia saat eksekusi 0 5 3 0 Ketersediaan resource setelah eksekusi 2 8 8 6
◦ P1
Saat akan dieksekusi A B C D
Kebutuhan maksimum 1 7 5 0
Alokasi 1 0 0 0
Tambahan yang diperlukan 0 7 5 0 Ketersediaan resource sebelum
eksekusi
2 8 8 6
Tambahan yang diperlukan 0 7 5 0 Ketersediaan resource saat eksekusi 2 1 3 6
Resource yang digunakan saat eksekusi
1 7 5 0
Resource yang tersedia saat eksekusi 2 1 3 6 Ketersediaan resource setelah eksekusi 3 8 8 6
◦ P3
Saat akan dieksekusi A B C D
Kebutuhan maksimum 0 6 6 2
Alokasi 0 6 3 2
Tambahan yang diperlukan 0 0 3 0 Ketersediaan resource sebelum
eksekusi
3 8 8 6
Tambahan yang diperlukan 0 0 3 0 Ketersediaan resource saat eksekusi 3 8 5 6
Resource yang digunakan saat
eksekusi 0 6 6 2
Resource yang tersedia saat eksekusi 3 8 5 6 Ketersediaan resource setelah eksekusi 3 14 11 8
◦ P4
Saat akan dieksekusi A B C D
Kebutuhan maksimum 0 6 5 6
Alokasi 0 0 1 4
Tambahan yang diperlukan 0 6 4 2 Ketersediaan resource sebelum
eksekusi
3 14 11 8
Tambahan yang diperlukan 0 6 4 2 Ketersediaan resource saat eksekusi 3 8 7 6
Resource yang digunakan saat eksekusi
0 6 5 6
Resource yang tersedia saat eksekusi 3 8 7 6 Ketersediaan resource setelah eksekusi 3 14 12 12 • Antrian dengan kondisi aman (opsi 2)
◦ P0
Saat akan dieksekusi A B C D
Kebutuhan maksimum 0 0 1 2
Alokasi 0 0 1 2
Tambahan yang diperlukan 0 0 0 0 Ketersediaan resource sebelum
eksekusi
1 5 2 0
Tambahan yang diperlukan 0 0 0 0 Ketersediaan resource saat eksekusi 1 5 2 0
Resource yang digunakan saat eksekusi
0 0 1 2
Resource yang tersedia saat eksekusi 1 5 2 0 Ketersediaan resource setelah eksekusi 1 5 3 2
◦ P2
Saat akan dieksekusi A B C D
Kebutuhan maksimum 2 3 5 6
Alokasi 1 3 5 4
Tambahan yang diperlukan 1 0 0 2 Ketersediaan resource sebelum
eksekusi
1 5 3 2
Tambahan yang diperlukan 1 0 0 2 Ketersediaan resource saat eksekusi 0 5 3 0
Resource yang digunakan saat eksekusi
2 3 5 6
Resource yang tersedia saat eksekusi 0 5 3 0 Ketersediaan resource setelah eksekusi 2 8 8 6
◦ P3
Saat akan dieksekusi A B C D
Kebutuhan maksimum 0 6 6 2
Alokasi 0 6 3 2
Tambahan yang diperlukan 0 0 3 0 Ketersediaan resource sebelum
eksekusi
2 8 8 6
Tambahan yang diperlukan 0 0 3 0 Ketersediaan resource saat eksekusi 2 8 5 6
Resource yang digunakan saat
eksekusi 0 6 6 2
Resource yang tersedia saat eksekusi 2 8 5 6 Ketersediaan resource setelah eksekusi 2 14 11 8
◦ P4
Saat akan dieksekusi A B C D
Kebutuhan maksimum 0 6 5 6
Alokasi 0 0 1 4
Tambahan yang diperlukan 0 6 4 2 Ketersediaan resource sebelum
eksekusi
2 14 11 8
Tambahan yang diperlukan 0 6 4 2 Ketersediaan resource saat eksekusi 2 8 7 6
Resource yang digunakan saat eksekusi
0 6 5 6
Resource yang tersedia saat eksekusi 2 8 7 6 Ketersediaan resource setelah eksekusi 2 14 12 12
◦ P1
Saat akan dieksekusi A B C D
Kebutuhan maksimum 1 7 5 0
Alokasi 1 0 0 0
Tambahan yang diperlukan 0 7 5 0 Ketersediaan resource sebelum
eksekusi
2 14 12 12
Tambahan yang diperlukan 0 7 5 0 Ketersediaan resource saat eksekusi 2 7 7 12 Resource yang digunakan saat eksekusi 1 7 5 0
Resource yang tersedia saat eksekusi 2 7 7 12 Ketersediaan resource setelah eksekusi 3 14 12 12
Catatan:
Skenario urutan eksekusi proses untuk kondisi safe state, dapat diuji dengan total resource yang tersedia. Ini dapat dihitung dengan menjumlahkan seluruh resource yang telah dialokasi ke setiap proses ditambahan resource yang masih tersedia sebelum ada eksekusi proses. Total resource yang tersedia di awal proses sama dengan total resource yang tersedia di akhir proses.
Jenis resource A B C D
Resource yang tersedia 1 5 2 0 Alokasi resource untuk proses P0 0 0 1 2 Alokasi resource untuk proses P1 1 0 0 0 Alokasi resource untuk proses P2 1 3 5 4 Alokasi resource untuk proses P3 0 6 3 2 Alokasi resource untuk proses P4 0 0 1 4 Total resource 3 14 12 12