Sabtu, 05 November 2011

KISI - KISI SO Pak Wury


1.      Sebutkan 5 aktivitas sistem operasi yang merupakan contoh dari suatu manajemen proses.
Jawab:
Aktivitas – aktivitas system operasi yang berkaitan dengan manajemen proses, yaitu:
a.       Pembuatan dan penghapusan proses pengguna dan sistem proses.
b.      Menunda atau melanjutkan proses.
c.       Menyediakan mekanisme untuk proses sinkronisasi.
d.      Menyediakan mekanisme untuk proses komunikasi.
e.       Menyediakan mekanisme untuk penanganan deadlock.
2.      Definisikan perbedaan antara penjadualan short term, medium term, dan long term.
Jawab:
a)      Penjadualan jangka pendek (short term scheduler)
Mempunyai tugas untuk menjadwalkan alokasi pemroses di antara proses ready di memori utama. Penjadwalan dijalankan setiap terjadi di pengalihan proses untuk memilih proses berikut yang harus dijalankan.
b)      Penjadualan jangka menengah (medium term scheduler)
Aktivitas pemindahan proses yang tertunda dari memori utama ke memori sekunder yang disebut swapping. Proses ini mempunyai kepentingan kecil saat itu sebagai proses yang tertunda. Tetapi, begitu kondisi yang membuatnya tertunda hilang dan proses dimasukkan kembali ke memori utama dan ready.
c)      Penjadualan jangka panjang (long term scheduler)
Penjadwalan ini bekerja terhadap antrian batch dan memilih batch berikutnya yang harus dieksekusi.. batch biasanya adalah proses-proses dengan penggunaan sumber daya yang intensif, program ini berprioritas rendah, digunakan sebagai pengisi selama periode aktivitas job-job interaktif rendah.
3.      Jelaskan tindakan yang diambil oleh sebuah kernel ketika alih konteks antar proses.
Jawab:
Saat alih konteks, kernel mengendalikan dan menyimpan proses running atau saat memanggil sistem call.
4.      Informasi apa saja yang disimpan pada tabel proses saat alih konteks dari satu proses ke proses yang lain.
Jawab:
Informasi yang disimpan pada saat alih konteks adalah pemroses menyimpan konteks adalah pemroses menyimpan konteks program ke dalam stack, hal tersebut bertujuan agar saat selesai penaganan interupsi konteks program dapat dipanggil kembali dari stack dan konteks program dapat kembali seperti semula tanpa terjadi pengalihan ke proses lain.
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:
a.       Proses yang baru diciptakan akan segera mempunyai state ready.
b.      Proses dengan state running menjadi blocked karena sumber daya yang diminta belum tersedia.
c.       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).
d.      Proses dengan state blocked menjadi ready saat sumber daya yang diminta telah tersedia atau layanan perangkat I/O selesai (event cours).
e.       Proses dengan state ready menjadi running karena penjadwal memutuskan penggunaan pemroses untuk proses itu karena proses yang telah running berubah menjadi ready atau blocked.
6.      Apa keuntungan dan kekurangan dari:
a.       Komunikasi Simetrik dan asimetrik
Komunikasi simetrik langsung adalah rasa sakit karena kedua belah pihak memerlukan nama proses lain. Hal ini membuat komunikasi asimetrik sulit untuk membangun server.
b.      Automatic dan explicit buffering.
Otomatis membuat pemrograman lebih mudah, tapi pada explicit buffering sebuah sistem sulit untuk membangun.
c.       Send by copy dan send by reference.
Send by copy adalah jaringan yang lebih baik bagi generasi dan masalah sinkronnisasi. Sedangkan send by reference lebih efisien untuk besar struktur data tetapi sulit untuk kodenya, karena memori bersama implikasi.
d.      Fixed size dan variable sized messages.
Fixed size membuat pemrograman lebih mudah tetapi untuk variable sized messages sistem lebih sulit untuk membangun
7.      Jelaskan perbedaan short therm, medium therm, dan long therm!
Jawab:
a.       Shot therm
Sasaran utama short term adalah memaksimumkan kinerja sistem untuk memenuhi satu kumpulan criteria yang diharapakan. Short term dijalankan setiap tejadi pengalihan proses untuk memilih proses berikutnya yang harus dijalankan.

b.      Medium therm
Medium term bertugas menangani proses-proses swapping. Proses-proses yang mempunyai kepentingan kecil saat itu adalah proses yang tertunda, medium term mengendalikan transisi dari suspensed ke ready.
c.       Long therm
Long term bekerja terhadap antrian batch berikutnya yang harus dieksekusi sistem. Batch biasanya berupa proses-proses dengan penggunaan sumber daya yang intensif.
8.      Jelaskan apa yang akan dilakukan oleh kernel kepada alih konteks ketika proses sedang berlangsung?
Jawab:
Yang dilakukan pertama kali adalah pemroses menyimpan konteks program saat itu yang sedang dieksekusi ke dalam stack, selanjutnya pemroses menge-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 konkruen dimasukkan ke dalam suatu sistem operasi.
Jawab:
Dampaknya antara lain yaitu:
·         Mutual Exclusion
·         Deadlock
·         Starvation
·         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:
<Untuk Gambar Silahkan Cari di Buku Refrensi>

11.  Apakah suatu proses memberikan ‘issue’ ke suatu disk I/O ketika, proses tersebut dalam ‘ready’ state, Jelaskan?
Jawab:
“YA” karena kalau 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 yang harus dipunyai PCB.
Jawab:
Informasi yang harus dipunyai PCB adalah:
a.       Informasi Identifikasi Proses
Adalah informasi yang berkaitan dengan identitas proses yang unik. Ke tabel-tabel yang lain. Identifier tersebut antara lain (identifier proses, identifier proses yang menciptakan dan identifier pemakai).
b.      Informasi Status Pemroses
Informasi status pemroses berisi informasi-informasi yang esensinya merupakan nilai atau isi dari register-register pemroses. Saat proses berstatus RUNNING, informasi-informasi tersebut berada di register. Ketika proses di interupsi, semua informasi register harus disimpan agar dapat dikembalikan saat proses dieksekusi kembali.
c.       Informasi Kendali Proses
Adalah informasi-informasi lain yang diperlukan sistem operasi untuk mengendalikan dan koordinasi beragam proses aktif.
A.    Soal Thread
1.      Tunjukkan 2 contoh pemrograman dari multithreading yang dapat meningkatkan sebuah solusi thread tunggal.!
Penyelesaian
a.       Dalam web browser yang multithreading, sebuah thread dapat melayani permintaan pengguna sementara thread lain berusaha menampilkan image
b.      Dalam pembuatan sebuah proses banyak dibutuhkan pengalokasian memori dan sumber daya. Alternatifnya adalah dengan penggunaan thread, karena thread berbagi memori dan sumber daya proses yang memilikinya maka akan lebih ekonomis untuk membuat dan context switch thread. Akan susah untuk mengukur perbedaan waktu antara proses dan thread dalam hal pembuatan dan pengaturan, tetapi secara umum pembuatan dan pengaturan proses lebih lama dibandingkan thread. Pada Solaris, pembuatan proses lebih lama 30 kali dibandingkan pembuatan thread, dan context switch proses 5 kali lebih lama dibandingkan context switch thread




2.      Tunjukkan 2 contoh penrograman dari multithreading yang tidak dapat meningkatkan sebuah solusi thread tunggal.
Penyelesaian


3.      Sebutkan 2 perbedaan antara user level thread dan kernel thread. Saat kondisi bagaimana salah satu dari thread tersebut lebih baik.
Penyelesaian
User Level Thread
User thread didukung di atas kernel dan diimplementasi oleh thread library pada user level. Library menyediakan fasilitas untuk pembuatan thread, penjadualan thread, dan managemen thread tanpa dukungan dari kernel. Karena kernel tidak menyadari user-level thread maka semua pembuatan dan penjadualan thread dilakukan di user space tanpa intervensi dari kernel. Oleh karena itu, user-level thread biasanya cepat untuk dibuat dan diatur. Tetapi user thread mempunyai kelemahan yaitu apabila kernelnya merupakan thread tunggal maka apabila salah satu user-level thread menjalankan blocking system call maka akan mengakibatkan seluruh proses diblok walaupun ada thread lain yang dapat jalan dalam aplikasi tersebut. Contoh user-thread libraries adalah POSIX Pthreads, Mach C-threads, dan Solaris threads.
Kernel Level Thread
Kernel thread didukung langsung oleh sistem operasi. Pembuatan, penjadualan, dan managemen thread dilakukan oleh kernel pada kernel space. Karena pengaturan thread dilakukan oleh sistem operasi maka pembuatan dan pengaturan kernel thread lebih lambat dibandingkan user thread. Maka Kernel Level Thread dapat dikatakan lebih baik dari User Level Thread adalah thread diatur oleh kernel, karena itu jika sebuah thread menjalankan blocking system call maka kernel dapat menjadualkan thread lain di aplikasi untuk melakukan eksekusi. Kemudian pada lingkungan multiprocessor, kernel dapat menjadual thread-thread pada processor yang berbeda. Contoh sistem operasi yang mendukung kernel thread adalah Windows NT, Solaris, Digital UNIX.
4.      Jelaskan tindakan yang diambil oleh sebuah kernel saat alih konteks antara kernel level thread.
Penyelesaian
Karena pengaturan thread dilakukan oleh sistem operasi maka pembuatan dan pengaturan kernel thread lebih lambat dibandingkan user thread. Maka Kernel Level Thread dapat dikatakan lebih baik dari User Level Thread adalah thread diatur oleh kernel, karena itu jika sebuah thread menjalankan blocking system call maka kernel dapat menjadualkan thread lain di aplikasi untuk melakukan eksekusi. Kemudian pada lingkungan multiprocessor, kernel dapat menjadual thread-thread pada processor yang berbeda.

5.      Sumber daya apa sajakah yang digunakan ketika sebuah thread dibuat? Apa yang membedakannnya dengan pembentukan sebuah proses.
Penyelesaian


6.      Tunjukkan tindakan yang diambil oleh sebuah thread library saat alih konteks antara user level thread.
Penyelesaian

              <Untuk Gambar Silahkan Cari di Buku Refrensi>

User thread didukung oleh kernel dan diimplementasikan oleh thread library ditingkat pengguna. Library mendukung untuk pembentukan thread, penjadualan dan managemen yang tidak didukung oleh kernel.

B.     Soal penjadualan CPU
1.      Definisikan perbedaan antara penjadualan secara preemptive dan nonpreemptive!
Penyelesaian
a.       Penjadualan preemptive
Proses diberi jatah waktu oleh pemroses, maka pemroses dapat diambil alih oleh proses lain, sehingga proses disela sebelum selesai dan harus dilanjutkan menunggu jatah waktu pemroses tiba kembali pada proses itu.
b.      Penjadualan nonpreemptive
Proses diberi jatah waktu oleh pemroses, maka pemroses tidak dapat diambil alih oleh proses lain sampai proses itu selesai.

2.      Jelaskan mengapa penjadualan strict nonpreemptive tidak seperti yang digunakan di sebuah komputer pusat.
Penyelesaian


3.      Apakah keuntungan menggunakan time quantum size di level yang berbeda dari sebuah antrian sistem multilevel?
Penyelesaian


Pertanyaan nomor 4 sampai dengan 5 dibawah menggunakan soal berikut:
Misal diberikan beberapa proses dibawah ini dengan panjang CPU burst (dalam mili detik). Semua proses diasumsikan datang pada saat t=0.

Tabel 2-1. Tabel untuk soal 4-5
Proses
Burst Time
Prioritas
P1
10
3
P2
1
1
P3
2
3
P4
1
4
P5
5
2

4.      Gambarkan 4 diagram chart yang mengilustrasikan eksekusi dan proses-proses tersebut menggunakan FCFS, SJF, prioritas nonpreemptive dan round robin.

Penyelesaian
a.       Gantt chart untuk FCFS
 


0                                 10      11          13      14             19
b.      Gantt chart untuk SJF

5.      Hitung waktu tunggu dari setiap proses untuk setiap algoritma penjadualan.
Penyelesaian
a.       FCFS
·         Waiting time for P1=0; P2=10; P3=11; P4=13; P5=14
·         Average waiting time: (0+10+11+13+14)/5=9,6
b.      SJF

6.      Jelaskan perbedaan algoritma penjadualan berikut:
a.       FCFS
Penyelesaian
·         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.
b.      Round Robin
Penyelesaian
·         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
Penyelesaian
·         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.
Penyelesaian


8.      Tentukan perbedaan antara penjadualan preemptive dan penjadualan nonpreemptive (cooperative). Nyatakan kenapa nonpreemptive scheduling tidak dapat digunakan pada suatu komputer center. Di sistem komputer nonpreemptive, penjadualan yang lebih baik digunakan.
Penyelesaian

2 komentar: