8

Click here to load reader

Beta

Embed Size (px)

Citation preview

Page 1: Beta

Nama : Betharia Sri FitriyantiNIM : 09111002064Jurusan / Kelas : Teknik Informatika 2011 / IF 3B

Soal – Soal Sistem Operasi

Chapter 61. Sebutkan dan jelaskan kriteria yang digunakan untuk membandingkan algoritma penjadwalan

CPUJawab:

Ada beberapa kriteria yang digunakan untuk melakukanpembandingan algoritma penjadwalan CPU, antara lain:

a. CPU utilization. Diharapkan agar CPU selalu dalam keadaan sibuk. Utilitas CPU dinyatakan dalam bentuk prosen yaitu 0-100%. Namun dalam kenyataannya hanya berkisar antara 40-90%.

b. Throughput. Adalah banyaknya proses yang selesai dikerjakan dalam satu satuan waktu.c. Turnaround time. Banyaknya waktu yang diperlukan untuk mengeksekusi proses, dari

mulai menunggu untuk meminta tempat di memori utama, menunggu di ready queue, eksekusi oleh CPU, dan mengerjakan I/O.

d. Waiting time. Waktu yang diperlukan oleh suatu proses untuk menunggu di ready queue. Waiting time ini tidak mempengaruhi eksekusi proses dan penggunaan I/O.

e. Response time. Waktu yang dibutuhkan oleh suatu proses dari minta dilayani hingga ada respon pertama yang menanggapi permintaan tersebut.

f. Fairness. Meyakinkan bahwa tiap-tiap proses akan mendapatkan pembagian waktu penggunaan CPU secara terbuka (fair).

2. Apa perbedaan yang paling mendasar pada algoritma penjadwalan preemtive dan non-preemptive ?

Jawab:Apabila model penjadwalan yang dipilih menggunakan keadaan ‘berpindah dari keadaan

running ke waiting’ dan ‘berhenti’, maka penjadwakan semacam ini disebut non-peemptive. Sebaliknya, apabila yang digunakan adalah keadaan ‘berpindah dari keadaan running ke ready’ dan ‘berpindah dari keadaan waiting ke ready’, maka disebut dengan preemptive.

3. Jelaskan menurut anda tentang konsep dasar algoritma penjadwalan CPU Round Robin.

Jawab:Konsep dasar dari algoritma ini adalah dengan menggunakan time-sharing. Pada dasarnya

algoritma ini sama dengan FCFS, hanya saja bersifat preemptive. Setiap proses mendapatkan waktu CPU yang disebut dengan waktu quantum (quantum time)untuk membatasi waktu proses, biasanya 1-100 milidetik. Setelah waktu habis, prosesditunda dan ditambahkan pada ready queue.

4. Diketahui suatu proses pada CPU

Page 2: Beta

Carilah Waktu tunggu (Waiting time) dan rata-rata waiting time dari proses tersebut menggunakan Priority SchedulingJawab:

Waktu tunggu untuk P1 adalah 6, P2 adalah 0, P3 adalah 16, P4 adalah 18 dan P adalah 1 sehingga rata-rata waktu tunggu adalah (6 + 0 +16 + 18 + 1)/5 = 8.2 milidetik.

5. Diketahui suatu proses pada CPU

Carilah Waktu tunggu (Waiting time) dan rata-rata waiting time dari proses tersebut menggunakan algoritma First Vome First Serve (FCFS)Jawab:

Waktu tunggu untuk P1 adalah 0, P2 adalah 24 dan P3 adalah 27 sehingga rata-ratawaktu tunggu adalah (0 + 24 + 27)/3 = 17 milidetik.

Chapter 71. Jelaskan secara singkat mengenai permasalahan critical sectionJawab:Suatu system terdiri dari n proses dimana semuanya berkompetisi menggunakan data yang

digunakan bersama-sama. Masing-masing proses mempunyai sebuah kodesegmen yang disebut dengan critical section, dimana proses memungkinkan untukmengubah variabel umum, mengubah sebuah tabel, menulis file dan lain sebagainya.Gambaran penting dari sistem adalah, ketika sebuah proses dijalankan di dalam critical-section, tidak ada proses lain yang diijinkan untuk menjalankan

Page 3: Beta

critical section-nya. Sehingga eksekusi dari critical section oleh proses-proses tersebut berlaku eksklusif (mutually exclusive). Permasalahan critical section digunakan untuk mendesain sebuah protokol dimana proses-proses dapat bekerja sama. Masing-masing proses harus meminta ijin untuk memasuki critical section-nya. Daerah kode yang mengimplementasikan perintah ini disebut daerah entry. Critical section biasanya diikuti oleh daerah exit. Kode pengingat terletak di daerah remainder.

2. Jelaskan tentang syarat untuk solusi permasalahan critical sectionJawab:

Sebuah solusi dari permasalahan critical section harus memenuhi 3 syarat sebagai berikut :a. Mutual Exclusion. Apabila proses P menjalankan critical section-nya, maka tidak

ada proses lain yang dapat menjalankan critical section. b. Progress. Apabila tidak ada proses yang menjalankan critical section-nya dan terdapat

beberapa proses yang akan memasuki critical section-nya, maka hanya proses-proses itu yang tidak diproses di dalam daerah pengingat (remainder) dapat ikut berpartisipasi di dalam keputusan proses mana yang akan memasuki critical section selanjutnya, dan pemilihan ini tidak dapat ditunda tiba-tiba.

c. Bounded Waiting. Terdapat batasan jumlah waktu yang diijinkan oleh proses lain untuk memasuki critical section setelah sebuah proses membuat permintaan untuk memasuki critical section-nya dan sebelum permintaan dikabulkan.

3. Apa yang anda ketahui tentang algoritma BakeryJawab:Algoritma Bakery adalah algoritma yang digunakan untuk pemecahan permasalahan critical

section pada n proses. Sebelum memasuki critical section, proses menerima nomo. Proses yang mempunyai nomor terkecil dapat memasuki critical section. Jika proses Plebih dahulu, sebaliknya P i dan P j j menerima nomor yang sama, jika i < j maka P akan dilayani lebih dahulu. Skema pemberian nomor selalu membangkitkan nomor dengan menaikkan nilai urut misalnya 1, 2, 3, 3, 3, 3, 4, 5, …..

4. Jelaskan tentang pendekatan semaphoreJawab:Semaphore adalah pendekatan yang dikemukakan Dijkstra. Prinsip semaphore adalah sebagai

berikut : Dua proses atau lebih dapat bekerja sama dengan menggunakan penanda-penanda sederhana. Proses dipaksa berhenti sampai proses memperoleh penanda tertentu. Sembarang kebutuhan koordinasi kompleks dapat dipenuhi dengan strukstur penanda yang sesuai kebutuhannya. Variabel khusus untuk penandaan ini disebut semaphore. Semaphore adalah alat untuk sinkronisasi yang tidak membutuhkan busy waiting. Semaphore S berupa variable integer. Semaphore hanya dapat diakses melalui operasi atomic yang tak dapat diinterupsi sampai kode selesai.

5. Jelaskan sedikit mengenai proses sinkronisasi pada Solaris 2Jawab:Pada Solaris 2, sinkronisasi diimplementasikan dengan menggunakan beberapa kunci untuk

mendukung sistem multitasking, multithreading (termasuk thread real time) dan multiprosessing. Solaris 2 menggunakan adaptive mutex untuk efisiensi sistem pada saat proteksi data dari kode segment yang pendek. Selain itu juga menggunakan variabel kondisi dan kunci reader writer apabila kode segmen lebih panjang memerlukan akses ke data. Solaris 2 juga menggunakan turnstile untuk mengurutkan daftar thread yang menunggu untuk memperoleh baik adaptive mutex atau kunci reader writer.

Chapter 8

Page 4: Beta

1. Mengapa suatu proses mengalami deadlock?Jawab:

Permasalahan deadlock terjadi karena sekumpulan proses-proses yang di-blok dimana setiap proses membawa sebuah sumber daya dan menunggu mendapatkan sumber daya yang dibawa oleh proses lain. Misalnya sistem mempunyai 2 tape drive dan terdapat dua proses P1 dan P2 yang masing masing membawa satu tape drive dan masing-masing memerlukan tape drive yang dibawa proses lain sehingga terjadi keadaan saling menunggu resource dansistem di-blok.

2. Pada kondisi apa deadlock dapat terjadi?Jawab:

Deadlock terjadi bila terdapat empat kondisi berikut ini secara simultan.a. Mutual Exclusion : hanya satu proses pada satu waktu yang dapat menggunakan sumber daya.b. Genggam dan Tunggu (Hold and Wait) : suatu proses membawa sedikitnya satu sumber daya menunggu mendapatkan tambahan sumber daya baru yang dibawa oleh prosesc. Non-Preemption : sebuah sumber daya dapat dibebaskan dengan sukarela oleh proses yang memegangnya setelah proses menyelesaikan task.d. Menunggu Secara Sirkuler (Circular Wait) : Terdapat sekumpulan proses {P,P1, …, P0} yang menunggu sumber daya dimana P menunggu sumber daya yang dibawa P1, P1 menunggu sumber daya yang dibawa P2, dan seterusnya,Pn–1 menunggu sumber daya yang dibawa oleh Pn, dan Pn menunggu sumber daya yang dibawa P0.

3. Bagaimana cara mencegah mutual exclusion pad deadlock?Jawab:Mutual exclusion benar-benar tak dapat dihindari. Hal ini dikarenakan tidak ada sumber daya

yang dapat digunakan bersama-sama, jadi sistem harus membawa sumber daya yang tidak dapat digunakan bersama-sama.

4. Bagaimana cara mencegah non preemption pada deadlock?Jawab:Peniadaan non preemption mencegah proses-proses lain harus menunggu. Seluruh proses

menjadi preemption, sehingga tidak ada tunggu menunggu. Cara mencegah kondisi non preemption : a. Jika suatu proses yang membawa beberapa sumber daya meminta sumber daya lain yang

tidak dapat segera dipenuhi untuk dialokasikan pada proses tersebut, maka semua sumber daya yang sedang dibawa proses tersebut harus dibebaskan.

b. Proses yang sedang dalam keadaan menunggu, sumber daya yang dibawanya ditunda dan ditambahkan pada daftar sumber daya.

c. Proses akan di restart hanya jika dapat memperoleh sumber daya yang lama dan sumber daya baru yang diminta.

5. Menurut anda, bagaimana cara menghindari terjadinya deadlock?Jawab:Metode alternatif untuk menghindari deadlock adalah digunakan informasi tambahan tentang

bagaimana sumber daya diminta. Misalnya pada sistem dengan satutape drive dan satu printer, proses P pertama meminta tape drive dan kemudian printer sebelum melepaskan kedua sumber daya tersebut. Sebaliknya proses Q pertama meminta printer kemudian tape drive. Dengan mengetahui urutan permintaan dan pelepasan sumber daya untuk setiap proses, dapat diputuskan bahwa untuk setiap permintaan apakah proses harus menunggu atau tidak. Setiap permintaan ke sistem harus dipertimbangkan apakah sumber daya tersedia, sumber daya sedang dialokasikan untuk proses dan permintaan kemudian serta pelepasan oleh proses untuk menentukan apakah permintaan dapat dipenuhi atau harus menunggu untuk menghindari deadlock. Model yang sederhana dan sangat penting dibutuhkan adalah setiap proses menentukan jumlah maksimum sumber daya dari setiap tipe yang mungkin diperlukan.

Page 5: Beta

Algoritma deadlock avoidance secara dinamis memeriksa status sumber daya yang dialokasikan untuk menjamin tidak pernah terjadi kondisi menunggu sirkular. Status alokasi sumber daya ditentukan oleh jumlah sumber daya yang tersedia dan yang dialokasikan dan maksimum permintaan oleh proses-proses. Untuk penghindaran deadlock diperlukan pengertian mengenai state aman (safestate) dan state tak aman (unsafe state).

Chapter 9

1. Apa yang anda ketahui tentang dynamic loading?Jawab:Untuk memperoleh utilitas ruang memori, dapat menggunakan dynamic loading. Dengan dynamic

loading, sebuah rutin tidak disimpan di memori sampai dipanggil. Semua rutin disimpan pada disk dalam format relocatable load. Mekanisme dari dynamic loading adalah program utama di-load dahulu dan dieksekusi. Bila suatu routine perlu memanggil routine lain, routine yang dipanggil lebih dahulu diperiksa apakah rutin yang dipanggil sudah di-load. Jika tidak, relocatable linking loader dipanggil untuk me-load rutin yg diminta ke memori dan meng-ubah tabel alamat.

Keuntungan dari dynamic loading adalah rutin yang tidak digunakan tidak pernah di-load. Skema ini lebih berguna untuk kode dalam jumlah besar diperlukan untuk menangani kasus-kasus yang jarang terjadi seperti error routine. Dinamicloading tidak memerlukan dukungan khusus dari sistem operasi. Sistem operasi hanya perlu menyediakan beberapa rutin pustaka untuk implementasi dynamic loading.

2. Kapan instruksi pengikatan alamat dilakukan?Jawab:

Instruksi pengikatan informasi dan data ke alamat memori dapat dilakukan pada saat : a. Compile time : Jika lokasi memori diketahui sejak awal, kode absolut dapat dibangkitkan,

apabila terjadi perubahan alamat awal harus dilakukan kompilasi ulang. Misalnya : program format .com pada MS-DOS adalah kode absolut yang diikat pada saat waktu kompilasi

b. Load time : Harus membangkitkan kode relokasi jika lokasi memori tidak diketahui pada saat waktu kompilasi.

c. Execution time : Pengikatan ditunda sampai waktu eksekusi jika proses dapat dipindahkan selama eksekusi dari satu segmen memori ke segmen memori lain.

3. Jelaskan tentang fungsi dari teknik OverlayJawab:Sebuah proses dapat lebih besar daripada jumlah memori yang dialokasikan untuk proses, teknik

overlay biasanya digunakan untuk kasus ini. Teknik Overlay biasanya digunakan untuk memungkinkan sebuah proses mempunyai jumlah yang lebih besar dari memori fisik daripada alokasi memori yang diperuntukkan. Ide dari overlayadalah menyimpan di memori hanya instruksi dan data yang diperlukan pada satu waktu. Jika intruksi lain diperlukan, maka instruksi tersebut diletakkan di ruang memori menggantikan instruksi yang tidak digunakan lagi.

4. Alokasi proses user pada memori berupa single partition allocation atau multiple partition allocation. Jelaskan sedikit mengenai Single Partition Allocation

Jawab:Pada single partition allocation diasumsikan sistem operasi ditempatkan di memori rendah dan

proses user dieksekusi di memori tinggi. Kode dan data sistem operasi harus diproteksi dari perubahan tak terduga oleh user proses. Proteksi dapat dilakukan dengan menggunakan register relokasi (relocation register) dan register limit (limit register). Register relokasi berisi nilai dari alamat fisik terkecil sedangkan register limit berisi jangkauan alamat logika dan alamat logika harus lebih kecil dari register limit.

5. Lalu jelaskan mengenai multiple partition allocation.

Page 6: Beta

Jawab:Pada multiple partition allocation, mengijinkan memori user dialokasikan untuk proses yang

berbeda yang berada di antrian input (input queue) yang menunggu dibawa ke memori. Terdapat dua skema yaitu partisi tetap (fixed partition) dimana memori dibagi dalam sejumlah

partisi tetap dan setiap partisi berisi tepat satu proses. Jumlah partisi terbatas pada tingkat multiprogramming. Digunakan oleh IBM OS/360 yang disebut Multiprogramming with a Fixed number of Task (MFT). Skema yang kedua adalah partisi dinamis (variable partition) merupakan MFT yang digeneralisasi yang disebut Multiprogramming with a Variable number of Tasks (MVT). Skema ini digunakan terutama pada lingkungan batch.