Anda di halaman 1dari 7

PROSES 1. Sebutkan 5 aktivitas sistem operasi yang merupakan contoh dari suatu menegemen 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. Operasi apa saja yang disimpan pada tabel proses saat alih konteks dari satu proses ke proses lain 5. 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 variabel sized massages 7. Jelaskan perbedaan short term, medium term dan long term 8. Jelaskan apa yang dilakukan oleh kernel pada alih konteks ketika proses sedang berlangsung 9. Berapa singel user mikrokomputer sistem operasi seperti MS-DOS menyediakan sedikit atau tidak sama sekali arti dari pemrosesan yang kokuren. Diskusikan dampak yang paling mungkin ketika pemrosesan yang konkuren dimasukan ke dalam sistem operasi 10. Perlihatkan semua kemungkinan keadaan dimana suatu proses dapat sedang berjalan, dan gambarkan diaagram transisi 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 suata proses sedang tidak berjalan, PCB berisi informasi tentang perlunya melakukan restart suatu proses dalam CPU. Jelaskan informasi yang harus dipunyai PCB? JAWAB 1. Membuat dan menghapus proses pengguna dan sistem proses. Sistem operasi bertugas mengalokasikan sumber daya yang dibutuhkan oleh sebuah proses kemudian mengambil sumber daya itu kembali setelah proses tersebut selesai agar dapat digunakan untuk proses lainnya. Menunda atau next process. Sistem operasi akan mengatur proses apa yang harus dijalankan terlebih dahulu berdasarkan berdasarkan prioritas dari proses-proses yang ada. Apa bila terjadi dua atau lebih proses yang mengantri untuk dijalankan, sistem operasi akan mendahulukan proses yang memiliki prioritas paling besar. Menyediakan mekanisme untuk proses sinkronisasi. Sistem operasi akan mengatur jalannya beberapa proses yang dieksekusi bersamaan. Tujuannya adalah menghindarkan terjadinya inkonsistensi data karena pengaksesan data yang sama, juga untuk mengatur urutan jalannya proses agar setiap proses berjalan dengan lancar. Menyediakan mekanisme untuk proses komunikasi. Sistem operasi menyediakan mekanisme agar beberapa proses dapat saling berinteraksi dan berkomunikasi (contohnya berbagi sumber daya antar proses) satu sama lain tanpa menyebabkan terganggunya proses lainnya. Menyediakan mekanisme untuk penanganan deadlock. Deadlock adalah 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. Saling

menunggu inilah yang disebut deadlock(kebuntuan). Sistem operasi harus bisa mencegah, menghindari, dan mendeteksi adanya deadlock. Jika deadlock terjadi, sistem operasi juga harus dapat memulihkan kondisi sistemnya. 2. 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. 3. Pada saat alih konteks terjadi, kernel akan menyimpan konteks dari proses lama kedalam PCBnya dan mengisi konteks yang telah disimpan dari proses baru yang telah terjadual untuk berjalan. Pergantian waktu konteks adalah murni overhead, karena sistem ini melakukan pekerjaan yang tidak perlu. Kecepatannya bervariasi dari mesin ke mesin, bergantung pada kecepatan memori, jumlah register yang harus di copy, dan keberadaan instruksi khusus (seperti instruksi tunggal untuk mengisi atau menyimpan seluruh register). Tingkat kecepatan umumnya berkisar antara 1 sampai 1000 mikro detik. 4. 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.

5. New: Proses sedang dikerjakan/ dibuat. Running: Instruksi sedang dikerjakan. Waiting: Proses sedang menunggu sejumlah kejadian untuk terjadi (seperti sebuah penyelesaian I/Oatau penerimaan sebuah tanda/ signal). Ready: Proses sedang menunggu untuk ditugaskan pada sebuah prosesor. Terminated: Proses telah selsesai melaksanakan tugasnya/ mengeksekusi. 6. Symmetric komunikasi langsung adalah rasa sakit karena kedua belah pihak memerlukan nama proses lain. Hal ini membuat sulit untuk membangun sebuah server. - Otomatis membuat pemrograman lebih mudah tapi adalah sebuah sistem sulit untuk membangun. - 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. - Variabel ukuran membuat pemrograman lebih mudah tapi adalah sistem lebih sulit untuk membangun. 7. 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). 8. 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. 9. Data file ada yg corrupt , dan akan terjadi hank atau eror 10. Penundaan (suspend) adalah operasi penting dan telah diterapkan dengan beragam cara. Penundaan biasanya berlangsung singkat. Penundaan sering dilakukan sistem untuk memindahkan proses-proses tertentu guna mereduksi beban sistem selama beban puncak. 11. Proses yang ditunda (suspended blocked) tidak berlanjut sampai proses lain meresume. Untuk jangka panjang, sumber daya-sumber daya proses dibebaskan (dilucuti). Keputusan membebaskan sumber daya-sumber daya bergantung sifat masing-masing sumber daya. Memori utama seharusnya segera dibebaskan begitu proses tertunda agar dapat dimanfaatkan proses lain. Resuming (pengaktifan kembali) proses, yaitu menjalankan proses dari titik (instruksi) dimana proses ditunda. 12. Ya, karena issue menyampaikan informasi ke dalam state. 13. PCB berisikan banyak bagian-dari informasi yang berhubungan dengan sebuah proses yang spesifik, termasuk ini: Keadaan proses: Keadaan mungkin, new ,ready ,running, waiting, halted, dan juga banyak lagi. Program counter: Counter mengindikasikan address dari perintah selanjutnya untuk dijalankan untuk proses ini. CPU register: Register bervariasi dalam jumlah dan jenis, tergantung pada rancangan komputer. Register tersebut termasuk accumulator, index register, stack pointer, general-puposes register, ditambah code information pada kondisi apapun. Besertaan dengan program counter, keadaan/ status informasi harus disimpan ketika gangguan terjadi, untuk memungkinkan proses tersebut

berjalan/bekerja dengan benar setelahnya. Informasi manajemen memori: Informasi ini dapat termasuk suatu informasi sebagai nilai dari dasar dan batas register, tabel page/ halaman, atau tabel segmen tergantung pada sistem memori yang digunakan oleh sistem operasi (ch 9). Informasi pencatatan: Informasi ini termasuk jumlah dari CPU dan waktu riil yang digunakan, batas waktu, jumlah akun, jumlah job atau proses, dan banyak lagi. Informasi status I/O: Informasi termasuk daftar dari perangkat I/O yang di gunakan pada proses ini, suatu daftar open file dan banyak lagi. PCB hanya berfungsi sebagai tempat menyimpan/gudang untuk informasi apapun yang dapat bervariasi dari prose ke proses. THREAD 1. Tunjukan 2 contoh pemrograman dari multithreading yang dapat meningkatkan sebuah solusi thread tunggal 2. Tunjukan 2contoh pemrograman dari multithreading yang tidak dapat meningkatkan sebuah solusi thread tunggal 3. Sebutkan 2 perbedaan antara user level thread dan kernel thread. Saat kondisi bagaimana salah satu thread tersebut lebih baik 4. Jelaskan tindakan yang diambil oleh sebuah kernel saat alih konteks antara kernel level thread 5. Sumber daya apakah yang digunakan ketika sebuah tread dibuat? Apa yang membedakannya dengan pembentukan sebuah proses 6. Tunjukan tindakan yang diambil oleh sebuah thread library saat alih konteks antara user level thread JAWAB 1. 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. Program 1 class CobaThread2 implements Runnable { public void run() { for(int ii = 0; ii<4; ii++){ System.out.println("Ini CobaThread2"); Test.istirohat(7); } } public class Test { public static void main (String[] args)

{ Thread t1 = new CobaThread1(); Thread t2 = new Thread (new CobaThread2()); t1.start(); t2.start(); for (int ii = 0; ii<8; ii++){ System.out.println("Thread UTAMA"); istirohat(5); } } public static void istirohat(int tunda) { try{ Thread.sleep(tunda*100); } catch(InterruptedException e) {} } } Program 2 class CobaThread3 implements Runnable { public void run(){ while (true){ System.out.println("saya thread CobaThread3"); if (Thread.currentThread.isInterrupted()) //cek status break; } } } 3. 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. 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. M 6. 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. PENJADWALAN CPU 1. Definisikan penjadwalan secara preemptive dan nonpreemptive 2. Jelaskan mengapa penjadwalan strict nonpreemptive tidak seperti yang digunakan komputer pusat 3. Apakah keuntungan menggunakan time quantum size dilevel yang berbeda dari sebuah antrian sistem multilevel Pertanyaan no 4-5 dibawah menggunakan soal berikut: Misal diberikan beberapa proses dibawah ini dengan panjang CPU burst (dalam milidetik)semua proses diasumsikan datang pada saat t=0 Tabel 2-1 tabel untuk soal no 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 dari dari proses-proses tersebut menggunakan FCFS, SJF, prioritas nonpreemptive dan round robin 5. Hitung waktu tunggu dari setiap untuk setiap algoritma penjadwalan 6. Jelaskan perbedaan algoritma penjadwalan berikut : FCFS Round robin Antrian multilevel feedback 7. Penjadwalan CPU mendefinisikan suatu urutan eksekusi dari proses terjadwal. Diberikan n buah proses yang akan dijadwalkandalam satu prosesor, berapa banyak kemungkinan penjadwalan yang berbeda? Berikan formula dari n 8. Tentukan perbedaan antara penjadwalan preemptive dan nonpreemptive (cooperative). Nyatakan kenapa nonpreemptive scheduling tidak dapat digunakan pada suatu komputer center. Disistem komputer nonpreemptive, penjadwalan yang lebih baik digunakan JAWAB 1. 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. 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. teu acan sapalih jawaban na......lmun gaduh nu komplit mangga sharekn.....

Anda mungkin juga menyukai