Tugas Sistem Operasi 04TPLE005 Sesi 2
  1. Apa yang di maksud dengan thread?
  2. Perbedaan antara proses dengan thread tunggal dengan proses thread yang banyak?
  3. Sebutkan macam - macam thread!
  4. Jelaskan tindakan yang di ambil oleh sebuah kernel saat alih konteks antara kernel level thread!
  5. Sebutkan keuntungan dan kerugian multithreading!
  6. Apa yang di maksud penjadwalan CPU?
  7. Sebutkan kriteria penjadwalan yang optimal!
  8. Apa yang di maksud SJF dan berikan contoh algoritmanya?
  9. Sebutkan jenis penjadwalan!
  10. Definisikan perbedaan antara penjadwalan secara preemptive dan non preemptive!

Jawaban...
  1. Thread adalah sebuah alur kontrol dari sebuah proses. Suatu proses yang multithreaded mengandung beberapa perbedaan alur kontrol dengan ruang alamat yang sama. Keuntungan dari multithreaded meliputi peningkatan respon dari user, pembagian sumber daya proses, ekonomis, dan kemampuan untuk mengambil keuntungan dari arsitektur multiprosesor. 
  2. Perbedaan antara proses dengan thread tunggal dengan proses dengan thread yang banyak adalah proses dengan thread yang banyak dapat mengerjakan lebih dari satu tugas pada satu satuan waktu.
  3. Single-Threading dan Multi-Threading Single
  4. Kernel-level threading; thread ini dibuat oleh pengguna yang berkorespondensi 1-1 dengan entitas-entitas yang terjadwalkan yang berada di kernel. Ini merupakan implementasi (penerapaan) paling sederhana dari threading. Pembuatan, penjadwalan, dan manajemen thread dilakukan oleh kernel pada kernel space.
  5. Keuntungan Multi-Threading : Responsive, Ekonomis dan bisa melakukan pembagian sumber daya. Sementara kerugiannya adalah Multiple thread bisa mengganggu satu sama lain saat berbagi hardware resource, execution time (waktu proses) dari sebuah single-thread tidak dapat diimprove (ditambah), tapi malah bisa diturunkan. Harus ada dukungan dari hardware ataupun software untuk melakukan multi-Threading.
  6. Ketika CPU mengalami waktu idle, sistem operasi harus memilih salah satu proses untuk masuk kedalam antrian yang akan dieksekusi. Pemilihan tersebut dilakukan oleh penjadwal jangka pendek atau penjadwal CPU.
  7. Dalam penjadwalan CPU diperlukan beberapa kriteria diantaranya adalah : CPU Utilization, Throughput, Turnaround time, Waiting time dan Response Time
  8. SJF atau Shortest-Job First adalah algoritma yang mempunyai cara penjadwalan yang berbeda dengan FCFS. Dengan algoritma ini maka setiap proses yang ada di antrian ready akan dieksekusi berdasarkan burst time terkecil. Hal ini mengakibatkan waiting time yang pendek untuk setiap proses sistem hal tersebut maka waiting time rata-ratanya juga menjadi pendek, sehingga dapat dikatakan bahwa algoritma ini adalah algoritma yang optimal.
  9. Ada beberapa algoritma penjadwalan CPU, beberapa diantaranya adalah : First-Come First-Served (FCFS), Shortest-Job First (SJF), Penjadwalan dengan prioritas (Priority Scheduling), Round-Robin Scheduling, Antrian Multilevel (Multilevel Queue), dan Multilevel Feedback Queue.
  10. Preemptive, Jika ada proses yang sedang dieksekusi oleh CPU dan terdapat proses di  antrian ready dengan burst time yang lebih kecil daripada proses yang sedang dieksekusi tersebut, maka proses yang sedang dieksekusi oleh CPU akan digantikan oleh proses yang berada di antrian ready tersebut. Sedangkan Non-preemptive, CPU tidak memperbolehkan proses yang ada di antrian ready untuk menggeser proses yang sedang dieksekusi oleh CPU meskipun proses yang baru tersebut mempunyai burst time yang lebih kecil.

Comments