Minggu, 15 Maret 2020

Jawaban Pertanyaan Kuis Sistem Operasi 04TPLE005 Sesi 2



Sistem Operasi 04TPLE005 Sesi 2

 1.      Apa yang di maksud dengan thread?

 Thread adalah prinsip yang memperbolehkan sebagian dari program untuk berjalan secara independen dengan sebagian program lainnya.

2. Perbedaan antara proses dengan thread tunggal dengan proses thread yang banyak?

1.Single thread >> process hanya mengeksekusi satu thread saja pada satu waktu
2.Multi thread >> process dapat mengeksekusi sejumlah thread dalam satu waktu.

3.  Sebutkan macam - macam thread!

     Macem-macem Thread
Single threading : proses hanya mengeksekusi satu thread dalam satu waktu.
Multi-threading : proses dapat mengeksekusi sejumlah thread dalam satu waktu.

4. Jelaskan tindakan yang di ambil oleh sebuah kernel saat alih konteks antara kernel level thread!

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. Sebutkan keuntungan dan kerugian multithreading!

      Keuntungan dari sistem yang menerapkan multithreading dapat kita kategorikan menjadi 4
bagian:
a. Responsif. Aplikasi interaktif menjadi tetap responsif meskipun sebagian dari program sedang
diblok atau melakukan operasi lain yang panjang.
b. Berbagi sumber daya. Beberapa thread yang melakukan proses yang sama akan berbagisumber daya. Keuntungannya adalah mengizinkan sebuah aplikasi untuk mempunyai beberapa
thread yang berbeda dalam lokasi memori yang sama.
c. Ekonomis. Pembuatan sebuah proses memerlukan pengalokasian memori dan sumber daya.
d. Utilisasi arsitektur multiprosesor. Keuntungan dari multithreading dapat sangat meningkat
pada arsitektur multiprosesor, dimana setiap thread dapat berjalan secara paralel di atas procesor yang berbeda. 


       Adapun kerugian dari multithreading adalah :
1. Jika digunakan secara berlebihan, multithreading akan berdampak pada pemborosan resource dan CPU yang dialokasikan untuk switching threads. Misalnya jika heavy disk I/O terlibat, akan lebih cepat jika hanya memiliki 1 atau 2 thread yang melaksanakan tugas secara berurutan, daripada menggunakan multithread yang masing-masing mengeksekusi sebuah task pada waktu yang sama.
2. Sistem yang memiliki kecepatan prosesor dan memory yang cenderung sama, sehingga tidak
ada efisiensi yang hilang (mengacu kepada latency), tidak akan memperoleh peningkatan bandwidth yang signifikan jika menggunakan multithreading.
3. Multithreading menghasilkan program yang lebih kompleks. Menggunakan multiple thread sendiri tidak akan menciptakan kerumitan, tapi interaksi antar thread-lah yang mengakibatkan kompleksitas tersebut.
4. Thread yang banyak bisa saling berinterferensi ketika saling berbagi sumber daya hardware
seperti cache.

6. Apa yang di maksud penjadwalan CPU?

            Penjadwalan CPU adalah pemilihan proses dari antrian ready untuk dapat dieksekusi. Penjadwalan CPU merupakan konsep dari multiprogramming, dimana CPU digunakan secara bergantian untuk proses yang berbeda. Suatu proses terdiri dari dua siklus yaitu Burst I/O dan Burst CPU yang dilakukan bergantian hingga proses selesai.

7. Sebutkan kriteria penjadwalan yang optimal!

    Kriteria untuk mengukur dan optimasi kinerja penjadwalan adalah sbb:

  1. 1.      Adil (fairness)
  2. 2.      Efisiensi
  3. 3.      Waktu Tanggap (response time)
  4. 4.      Turn arround Time
  5. 5.      Troughput

8. Apa yang di maksud SJF dan berikan contoh algoritmanya?

SJF (SHORTEST JOB FIRST)
      Pada algoritma ini setiap proses yang ada di ready queue akan dieksekusi berdasarkan burst time terkecil. Hal ini mengakibatkan waiting time yang pendek untuk setiap proses dan karena hal tersebut maka waiting time rata-ratanya juga menjadi pendek, sehingga dapat dikatakan bahwa algoritma ini adalah algoritma yang optimal.

9. Sebutkan jenis penjadwalan!

           Nonpreemptive, menggunakan konsep :
a. FIFO (First In First Out) atau FCFS (First Come First Serve)
b. SJF (Shortest Job First)
c. HRN (Highest Ratio Next)
d. MFQ (Multiple Feedback Queues)
           Preemptive, menggunakan konsep :
a. RR (Round Robin)
b. SRF (Shortest Remaining First)
c. PS (Priority Schedulling)
d. GS (Guaranteed Schedulling)

10. Definisikan perbedaan antara penjadwalan secara preemptive dan non preemptive!

>Penjadwalan Preemptive
Penjadwalan Preemptive adalah kemampuan sistem operasi untuk memberhentikan sementara proses yang sedang berjalan untuk memberi ruang kepada proses yang prioritasnya lebih tinggi. Penjadwalan ini memungkinkan sistem untuk menjamin bahwa setiap proses mendapat  slice waktu operasi, dan membuat sistem lebih cepat merespon event luar.
Penjadwalan Preemptive melibatkan mekanisme interupsi yang menyela proses yang sedang berjalan dan memaksa sistem menentukan proses mana yang dieksekusi.
Windows 95, Windows XP, Linux, Unix, AmigaOS, MacOS X, dan Windows NT adalah beberapa contoh sistem operasi yang menerapkan penjadwalan Preemptive.
Lama waktu proses diizinkan untuk dieksekusi dalam penjadwalan Preemptive disebut time slice/quantum. Penjadwalan berjalan setiap satu satuan time slice untuk memilih proses mana yang berjalan selanjutnya.

>Penjadwalan NonPreemptive
Penjadwalan Non Preemptive ialah penjadwalan dimana sistem operasi tidak melakukan context switch dari proses yang sedang berjalan ke proses lain (proses yang berjalan tidak bisa di- interupt).
CPU menjaga proses sampai proses pindah ke waiting state ataupun dihentikan (proses tidak diganggu). Metode ini digunakan Microsoft Windows 3.1 dan Macintosh. Ini adalah metode yang digunakan untuk platforms hardware tertentu, karena tidak memerlukan hardware khusus.

Tidak ada komentar:

Posting Komentar

Kritik dan Saran silahkan di komentar.
Terima kasih sudah berkunjung gaess..