Tugas So Pra Uas [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

SOAL LATIHAN Proses 1. Sebutkan lima aktivitas sistem operasi yang merupakan contoh dari suatu manajemen proses. Jawab: - Pembuatan dan penghapusan proses pengguna dan sistem proses - Menunda atau melanjutkan proses - Menyediakan mekanisme untuk proses sinkronisasi - Menyediakan mekanisme untuk proses komunikasi - Menyediakan mekanisme untuk penanganan deadlock



2. Definisikan perbedaan antara penjadualan short term, medium term dan long term. Jawab:  Penjadwalan short term - Bertugas menjadwalkan alokasi pemroses diantara proses-proses ready yang berada di memory utama. - Sasaran utamanya adalah memaksimumkan kinerja sistem untuk memenuhi satu kumpulan criteria yang diharapkan. - Dijalankan setiap terjadi pengalihan proses untuk memilih proses berikutnya yang harus dijalankan. 



Penjadwalan medium term - Bertugas menangani proses-proses swapping. - Proses-proses yang mempunyai kepentingan kecil saat itu ditunda, tapi begitu kondisi yang membuat proses tertunda itu hilang, proses dimasukkan kembali ke memory utama dan menjadi ready.







Penjadwalan long term - Bekerja terhadap antrian batch dan memilih batch berikutnya yang harus diekseskusi sistem. Batch biasanya berupa proses-proses dengan penggunaan sumber daya yang intensif dan mempunyai prioritas yang rendah. - Sasaran utama penjadwalan ini adalah member keseimbangan proses-proses campuran.



3. Jelaskan tindakan yang diambil oleh sebuah kernel ketika alih konteks antar proses. Jawab: Ketika alih proses terjadi, kernel menyimpan konteks dari proses lama ke dalam PCB nya dan mengisi konteks yang telah disimpan dari proses baru yang telah terjadwal untuk berjalan.



4. Informasi apa saja yang disimpan pada tabel proses saat alih konteks dari satu proses ke proses lain. Jawab: - Tabel proses



-



Tabel informasi pada manajemen I/O Tabel informasi pada manajemen memory Tabel informasi pada system file



5. Di sistem UNIX terdapat banyak status proses yang dapat timbul (transisi) akibat event (eksternal) OS dan proses tersebut itu sendiri. Transisi state apa sajakah yang dapat ditimbulkan oleh proses itu sendiri. Sebutkan! Jawab: - Proses yang baru diciptakan akan segera mempunyai state ready. - Proses dengan state running menjadi blocked karena sumber daya yang diminta belum tersedia. - Proses dengan state running menjadi ready karena penjadwal memutuskan agar pemroses melakukan eksekusi proses yang lain karena jatah waktu untuk proses itu telah habis (time out). - Proses dengan state blocked menjadi ready saat sumber daya yang diminta telah tersedia atau layanan perangkat I/O selesai (event occurs). - Proses dengan state ready menjadi running karena penjadwal memutuskan penggunaan pemroses untuk prose situ karena proses yang telah running berubah state menjadi ready atau blocked.



6. Apa keuntungan dan kekurangan dari: • Komunikasi Simetrik dan asimetrik • Automatic dan explicit buffering • Send by copy dan send by reference • Fixed-size dan variable sized messages Jawab: - Komunikasi simetris dan simetris: Keuntungan utama pada tingkat programmer adalah proses tidak harus mem-block pelaksanaannya yang dapat menghasilkan kinerja yang lebih baik. Kelemahannya adlaha komuniksi asimetris lebih sulit ntuk program karena programmer harus menjamin bahwa pesan tiba di penerima jika dibutuhkan. Pada tingkat sistem, asimetris lebih rumit karena memerlukan kernel-tingkat. - Automatic dan explicit buffering: Automatic buffering membuat pemrograman lebih mudah, tetapi sebuah sistem akan sulit untuk dibangun. - Send by copy dan send by reference: Send by copy jaringan lebih baik bagi generalisasi dan masalah sinkronisasi. Send by copy dan send by reference lebih efisien untuk besar struktur data tapi sulit untuk kode karena memori implikasi bersamaan. - Fixed-size dan variable sized messages: Fixed-size messages lebih mudah untuk diterapkan di kernel-tingkat, tapi membutuhkan usaha sedikit lebih pada bagian dari programmer. Variabel sized message agak lebih kompleks untuk kernel, tapi agak lebih mudah untuk programmer.



7. Jelaskan perbedaan short-term, medium-term dan long-term? Jawab:



Short term scheduler • Short term scheduler digunakan untuk memilih diantara proses-proses yang siap di eksekusi dan salah satunya dialokasikan ke CPU. • Short term scheduler Sering digunakan untuk memilih proses baru untuk CPU. Proses dieksekusi hanya beberapa milidetik sebelum menunggu I/O. • Karena durasi yang pendek antara eksekusi, Short term scheduler harus sangat cepat Contoh : jika Short term scheduler membutuhkan 10ms untuk memutuskan mengeksekusi proses 100ms, maka 10/110=9% CPU digunakan untuk menjadwalkan pekerjaan. • Pada system time sharing, setiap proses baru ditempatkan di memori. Short term scheduler digunakan untuk memilih dari proses-proses tersebut di memori untuk diekseskusi. Medium term scheduler • Beberapa OS seperi system sharing, membutuhkan penjadwalan level tambahan (intermediate), yang disebut “medium term scheduler”. • Memperkenalkan konsep swapping proses : proses di “swap out “ dan di “swap in” pada medium term scheduler. • Swapping diperlukan untuk meningkatkan “process mix” atau karena perubahan pada kebutuhan memori melebihi memori yang tersedia, memori perlu dibebaskan. Long term scheduler • Proses-proses pada system batch di spool ke mass storage device (disk), disimpan sebagai eksekusi selanjutnya. • Long term scheduler digunakan untuk memilih proses dari pool dan menyimpannya ke memori. • Long term scheduler tidak sering mengeksekusi, digunakan hanya jika proses meninggalkan system. • Karena antar eksekusi terjadi interval yang panjang, Long term scheduler mempunyai waktu lebih banyak untuk memutuskan proses mana yang dipilih untuk eksekusi. • Long term scheduler memilih dengan baik “process mix” antara I/O bound dan CPU bound. - Bila semua proses adalah I/O bound, ready queue hampir selalu kosong. - Bila semua proses adalah CPU bound, I/O queue hampir selalu kosong. • Pada beberapa system, Long term scheduler tidak digunakan (misalnya pada time sharing system) atau minimal.



8. Jelaskan apa yang akan dilakukan oleh kernel kepada alih konteks ketika proses sedang berlangsung?Jawab: Yang dilakukan adalah, pertama-tama pemroses menyimpan konteks program saat itu yang sedang dieksekusi ke dalam stack, selanjutnya pemroses men-set register PC dengan alamat awal program untuk interrupt handler. 9. Beberapa single-user mikrokomputer sistem operasi seperti MS-DOS menyediakan sedikit atau tidak sama sekali arti dari pemrosesan yang konkuren. Diskusikan dampak yang paling mungkin ketika pemrosesan yang konkuren dimasukkan ke dalam suatu sistem operasi? Jawab: 1. Mutual exclusion, yaitu terdapat dua proses yang pada saat bersamaan berada dalam critical region yang bisa menghambat proses lain 2. Deadlock, yaitu suatu keadaan dimana sistem seperti terhenti karena setiap proses memiliki sumber daya yang tidak bisa dibagi dan menunggu untuk mendapatkan sumber daya yang sedang dimiliki oleh proses lain



3. Starvation, Yaitu proses seolah-olah berhenti, menunggu request akses ke critical section diperbolehkan 4. Sinkronisasi



10. Perlihatkan semua kemungkinan keadaan dimana suatu proses dapat sedang berjalan, dan gambarkan diagram transisi keadaan yang menjelaskan bagaimana proses bergerak diantara state. Jawab: State dalam proses yaitu: - Running: pemroses sedang mengeksekusi instruksi proses itu - Ready: proses siap (ready) dieksekusi tapi pemroses mengeksekusi proses ini. - Blocked: proses menunggu kejadian tertetu selesai - Suspended ready: - Suspended blocked: Diagram transisi:



11. Apakah suatu proses memberikan ’issue’ ke suatu disk I/O ketika, proses tersebut dalam ’ready’ state, jelaskan? Jawab: Ya, karena jika tidak diberikan issue, maka akan terjadi deadlock karena terjadi perebutan sumber daya antar proses. 12. Kernel menjaga suatu rekaman untuk setiap proses, disebut Proses Control Blocks (PCB). Ketika suatu proses sedang tidak berjalan, PCB berisi informasi tentang perlunya melakukan restart suatu proses dalam CPU. Jelaskan dua informasi yang harus dipunyai PCB Jawab: Informasi yang harus ada dalam PCB:



-



Informasi identifikasi proses: Informasi-informasi yang berkaitan dengan identitas proses yang unik. Dengan identifier ini, proses dikaitkan ke table-tabel yang lain. Informasi status pemroses: Berisi informasi-informasi yang esensinya merupakan nilai atau isi dari register pemroses. Saat proses berstatus „running‟, informasi-informasi tersebut berada di register. Ketika proses diinterupsi, semua informasi register harus disimpan agar dapat dikembalikan saat proses dieksekusi kembali.



Thread 1. Tunjukkan dua contoh pemrograman dari multithreading yang dapat meningkatkan sebuah solusi thread tunggal.Jawab: a. PC atau laptop yang digunakan sehari-hari, kita dapat menjalankan beberapa program secara bersaamaan, seperti memutar music player sambil mengetik dengan menggunakan program office word. b. Web browser yang dapat menerima data dan mengelolah gambar dan text secara bersamaan.



2. Tunjukkan dua contoh pemrograman dari multithreading yang tidak dapat meningkatkan sebuah solusi thread tunggal.Jawab: 



Program 1



Class CobaThread implements Runnable { public void run() { for(int i=0; i P3 > P4 > P5







SJF (non-Preemptive)



Urutan: P2 > P4 > P3 > P5 > P1 (berdasar burst time terkecil)



 Prioritas Non Preemptive Berdasarkan prioritas Urutan : P2 > P5 > P1 > P3 > P4



 Round Robin Urutan Proses : P1 > P2 > P3 > P4 > P5 (quantum time = 4) Time



4



1



2



1



4



4



1



2



Process



P1



P2



P3



P4



P5



P1



P5



P1



5. Hitung waktu tunggu dari setiap proses untuk setiap algoritma penjadualan.



 FCFS



Waiting Time P1 = 0 P2 = 10 P3 = 11 P4 = 13 P5 = 14 Average Waiting Time AVG = 0+10+11+13+14/5 = 9,6 ms



 SJF (non-preemptive) Waiting Time P1 = 9 P2 = 0 P3 = 2 P4 = 1 P5 = 4



Average Waiting Time AVG = 9+0+2+1+4 / 5 = 3.2ms



 Prioritas Non Preemptive



Waiting Time P1 = 6 P2 = 0 P3 = 16 P4 = 18 P5 = 1 Average Waiting Time AVG = 41 / 5 = 8.2ms



 Round Robin Waiting Time P1 = 9 P2 = 0 P3 = 0 P4 = 0 P5 = 4 Average Waiting Time AVG = 9 + 4 / 5 = 2,6 ms 6. Jelaskan perbedaan algoritma penjadualan berikut: • FCFS • Round Robin • Antrian Multilevel feedback Jawab:



a.    



b.    



FCFS Penjadwalan ini tidak berprioritas Penjadualan ini tidak peduli apakah burst time-nya panjang atau pendek, sebuah proses yang sedang dikerjakan diselesaikan terlebih dahulu barulah proses berikutnya dilayani. Penjadualan ini cukup adil dalam hal bahasa, karena proses yang datang lebih dulu dikerjakan. Penjadualan ini cocok digunakan untuk sistem batch yang sangat jarang melakukan interaksi dengan user secara langsung, tapi tidak cocok digunakan untuk sistem interaktif karena tidak member waktu tanggap yang bagus, begitu juga dengan sistem waktu nyata.



Round Robin Penjadwalan paling tua, sederhana, adil, banyak digunakan algoritmanya dan mudah diimplementasikan. Penjadwalan ini bukan dipreempt oleh proses lain tetapi oleh penjadual berdasarkan lama waktu berjalannya proses (preempt by time). Penjadualan tanpa prioritas. Berasumsi bahwa semua proses memiliki kepentingan yang sama, sehingga tidak ada proiritas tertentu.



c.    



Antrian Multilevel Feedback Penjadualan berproritas dinamis Penjadualan ini untuk mencegah banyaknya swapping dengan proses-proses yang sangat banyak menggunakan pemroses. Diberi jatah waktu lebih banyak dalam satu waktu Penjadualan ini juga menghendaki kelas-kelas prioritas bagi proses-proses yang ada.



7. Penjadualan CPU mendefinisikan suatu urutan eksekusi dari proses terjadual. Diberikan n buah proses yang akan dijadualkan dalam satu prosesor, berapa banyak kemungkinan penjadualan yang berbeda? berikan formula dari n.Jawab: Sebagai contoh, jika kita mengetahui rata-rata 7 proses datang setiap detik, dan normalnya ada 14 proses dalam antrian, maka kita bisa menghitung waktu tunggu rata-rata proses dalam antrian (W) sebagai berikut: X = 7 proses/detik, N = 14 proses. Maka W = N/X = 14/7 = 2 detik per proses



8. Tentukan perbedaan antara penjadualan preemptive dan nonpreemptive (cooperative). Nyatakan kenapa nonpreemptive scheduling tidak dapat digunakan pada suatu komputer center. Di sistem komputer nonpreemptive, penjadualan yang lebih baik digunakan Jawab: Penjadwalan Non Preemptive tidak dapat diinterupsi dengan proses lain sebelum proses yang dieksekusi selesai seluruhnya. Sedangkan preemptive, suatu proses dapat dieksekusi saat proses lain masih dieksekusi. Penjadwalan non-preemptive tidak dapat digunakan untuk komputer pusat karena komputer pusat pasti akan menangani banyak computer yang lain. Sehingga, jika memakai penjadwalan non-preemptive akan memakan banyak waktu untuk menangani proses-proses yang ada.