Sabtu, 15 Oktober 2011

Tugas sistem operasi

Jawaban Orcomp

1. Sebutkan lima aktivitas sistem operasi yang merupakan contoh dari suatu managemen proses.
2. Definisikan perbedaan antara penjadualan short term, medium term dan long term.
3. Jelaskan tindakan yang diambil oleh sebuah kernel ketika alih konteks antar proses.
4. Informasi apa saja yang disimpan pada tabel proses saat alih konteks dari satu proses 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!
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
7. Jelaskan perbedaan short-term, medium-term dan long-term?
8. Jelaskan apa yang akan dilakukan oleh kernel kepada alih konteks ketika proses sedang
berlangsung?
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?
10. Perlihatkan semua kemungkinan keadaan dimana suatu proses dapat sedang berjalan, dan
gambarkan diagram transisi keadaan yang menjelaskan bagaimana proses bergerak diantara state.
11. Apakah suatu proses memberikan ’issue’ ke suatu disk I/O ketika, proses tersebut dalam ’ready’
state, jelaskan?
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.

Jawabannya..
1. • Menciptakan dan menghapus proses.
• Menunda atau melanjutkan proses.
• Menyediakan mekanisme untuk proses sinkronisasi.
• Menyediakan mekanisme untuk proses komunikasi.
• Menyediakan mekanisme untuk penanganan deadlock.

2. • Short Term, Sebuah proses dapat mengeksekusi untuk hanya beberapa milidetik sebelum menunggu permintaan I/O. Seringkali, penjadualan shorterm mengeksekusi paling sedikit sekali setiap 100 milidetik. Karena durasi waktu yang pendek antara eksekusi, penjadualan shorterm haruslah cepat. Jika memerlukan 10 mili detik untuk menentukan suatu proses eksekusi selama 100 mili detik, maka 10/(100 + 10) = 9 persen CPU sedang digunakan (terbuang) hanya untuk pekerjaan penjadualan.
• Medium Term, kadang kala akan menguntungkan untuk memindahkan proses dari memori (dan dari pengisian aktif dari CPU), dan maka untuk mengurangi derajat dari multiprogramming. Dikemudian waktu, proses dapat diperkenalkan kedalam memori dan eksekusinya dapat dilanjutkan dimana proses itu di tinggalkan/ diangkat.
• Long Term, Penjadualan longterm pada sisi lain, mengeksekusi jauh lebih sedikit. Mungkin ada beberapa menit antara pembuatan proses baru dalam sistem. Penjadualan longterm mengkontrol derajat multiprogramming (jumlah proses dalam memori). Jika derajat multiprogramming stabil, lalu tingkat rata-rata dari penciptaan proses harus sama dengan tingkat kepergian rata rata dari proses yang meninggalkan sistem. Maka penjadualan longterm mungkin diperlukan untuk dipanggil hanya ketika suatu proses meninggalkan sistem. Karena interval yang lebih panjang antara eksekusi, penjadualan longterm dapat memakai waktu yang lebih lama untuk menentukan proses mana yang harus dipilih untuk dieksekusi.

3. Perpindahan antar proses melibatkan penyimpanan konteks dari proses yang sebelumnya dan proses berikutnya. Hal ini harus dapat dilakukan dengan cepat untuk mencegah terbuangnya waktu CPU. Versi baru dari Linux mengganti perpindahan konteks perangkat keras ini menggunakan piranti lunak yang mengimplementasikan sederetan instruksi mov untuk menjamin validasi data yang disimpan serta potensi untuk melakukan optimasi. Untuk mengubah konteks proses digunakan makro switch_to(). Makro tersebut akan mengganti proses dari proses yang ditunjuk oleh prev_task menjadi next_task. Makro switch_to() dijalankan oleh schedule() dan merupakan salah satu rutin kernel yang sangat tergantung pada perangkat keras (hardware-dependent).

4. status proses, program counter, stack pointer, alokasi memori, status file, informasi schedulling / penjadwalan informasi, dll dari status kerja ke status siap.

5. • Proses di blok untuk melayani input karena sumber daya yang diminta belum tersedia / meminta layanan I/O sehingga menunggu kejadian muncul.
• Penjadwalan mengambil proses lain.
• Penjadwalan mengambil proses ini (baru).
• Input telah tersedia.

6. a) Symmetric komunikasi langsung adalah rasa sakit karena kedua belah pihak memerlukan
nama proses lain. Hal ini membuat sulit untuk membangun sebuah server.
b) otomatis membuat pemrograman lebih mudah tapi adalah sebuah sistem sulit untuk membangun.
c) Kirim oleh copy jaringan yang lebih baik bagi generalisasi dan
masalah sinkronisasi. Kirim dengan referensi yang lebih efisien untuk besar
struktur data tetapi sulit kode karena memori bersama
implikasi.
d) Variabel ukuran membuat pemrograman lebih mudah tapi adalah sistem lebih sulit untuk
membangun.

7.Penjadwal jangka panjang (atau pekerjaan penjadwal) pilih proses dari kolam ini dan beban mereka ke dalam memori untuk eksekusi.

Jangka panjang scheduler mengontrol derajat multi-program.

Jangka pendek scheduler (atau CPU scheduler) memilih dari antara proses-proses yang siap untuk mengeksekusi, dan mengalokasikan CPU untuk salah satu dari mereka.
Penjadwal jangka menengah diperkenalkan oleh sistem operasi seperti waktu-saham.