Monday, March 16, 2020


Quiz

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.     Tread dapat diartikan sebagai sekumpulan perintah (instruktur yang dapat dilaksanakan (dieksekusi) secara dengan ulir lainnya, dengan menggunakan cara time slice (ketika satu CPU melakukan perpindahan antara satu ulir ke ulir lainnya) atau multiprocess (ketika ulir-ulir tersebut dilaksakan oleh CPU yang berbeda dalam satu sistem).

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.     Macam-macam thread :
·        Singel threading  proses hanya mengeksekusi satu thread dalam satu waktu.
·        Multi-threading : proses dapat mengeksekusi sejumlah thread dalam satu waktu.

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 sistem call maka kernel dapat menjadwalkan thread lain di aplikasi untuk melakukan eksekusi.

5.     Keuntungannya :
·        Responsi
·        Berbagi sumber daya
·        Ekonomi
·        Utilisasi arsitektur multirocessor
Kerugiannya :
·        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.
·        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.
·        Multithreading menghasilkan program yang lebih kompleks. Menggunakan multiple thread sendiri tidak akan menciptakan kerumitan, tapi interaksi antar thread-lah yang mengakibatkan kompleksitas tersebut.
·        Thread yang banyak bisa saling berinterferensi ketika saling berbagi sumber daya hardware seperti cache.

6.     Penjadwalan CPU adalah pemilihan proses dari Ready Queue untuk dapat dieksekusi. Penjadwalan CPU didasarkan pada sistem operasi yang menggunakan prinsip Multiprogramming.

7.     Kriteria penjadualan yang optimal
·        Memaksimuman utilitas CPU
·        Memaksimumkan throughput
·        Meminimumkan turnaround time
·         meminimumkan waiting time
·        Meminimumkan response time

8.      SJF merupakan proses penjadwalan yang ada di ready queue dan akan dieksekusi berdasarkan burst time terkecil. Hal ini mengakibatkan waiting time yang pendek untuk setiap proses. Karena hal tersebut, maka waiting time rata-ratanya juga menjadi pendek, sehingga dapat dikatakan bahwa algoritma ini adalah algoritma yang optimal.

9.     Jenis penjadwalan :
·        Preemptive: OS dapat mengambil (secara interrupt, preempt) CPU dari satu proses setiap saat.
·        Non-preemptive: setiap proses secara sukarela (berkala) memberikan CPU ke OS.
·        Modul Dispatcher: mengatur dan memberikan control CPU kepada proses yang dipilih oleh “short-term scheduler”.
·        Dispatch latency – terdapat waktu yang terbuang (CPU idle) dimana dispatcher menghentikan satu proses dan menjalankan proses lain.

10.             Perbedaan penjadwalan preemtive dan Penjadwalan non preemtive :
·        Penjadwalan preemtive adalah Pada saat proses sedang menggunakan CPU, CPU dapat diambil alih oleh proses lain.Dalam hal ini harus selalu dilakukan perbaikan data. Proses ini adalah kebalikan dari proses Non-preemptive tadi yakni saat proses ini bekerja, maka proses dapat disela oleh proses lain sehingga prose ini akan kembali di proses setelah CPU menyelesaikan proses yang menyela tadi
·        Penjadwalan non preemtive adalah Jika proses sedang menggunakan CPU, proses tersebut akan membawa CPU sampai proses tersebut melepaskannya (berhenti dalam keadaan wait). Dapat dikatakan bahwa Non-Preemptive ini merupakan proses yang hanya dapat melakukan proses sekali run saja kemudian diselesaikan sampai akhir proses tersebut tanpa ada proses yang menyela proses ini.





Quiz
Pertemuan 3 :
1.     Apa itu Kernel?
2.     Apa saja komponen sistem operasi modern?
3.     Apa fungsi dari manipulasi file pada sistem calls?
4.     Apa saja keunggulan dari struktur sistem operasi Mikro Kernel?
5.     Struktur Sistem Operasi apakah yang digunakan untuk MAC OS?

Pertemuan 4 :
1.     Apa iu Multiprogramming?
2.     Aktivitas apa saja yang dilibatkan pada saat penciptaan proses?
3.     Apa alasan penghancuran proses akibat terjadinya kegagalan input/output?
4.     Jelaskan Metode apa saja yan digunakan sistem operasi dalam pengendalian antar proses?
5.     Sebutkan operasi-operasi apa saja yang dapat dilakukan sistem operasi terhadap Proses?

Jawaban :

Pertemuan 3 :
1.     Kernel adalah suatu perangkat lunak yang menjadi bagian utama dari sebuah sistem operasi. Tugasnya melayani bermacam program aplikasi untuk mengakses perangkat keras komputer secara aman.

2.     Komponen sSistem Operasi Modern, yaitu :
1       Command-Interpreter System
2       Jaringan
3       Sistem Proteksi
4       Managemen Berkas
5       Managemen Sistem I/O
6       Managemen Secondary-Strorage
7       Managemen Memori Utama
8       Managemen Proses

3.     Fungsi Manipulasi File :
·        Membuat dan mengahapus file
·        Membuka dan menutup file
·        Membaca, menulis dan mereposisi file
·        Menentukan dan mengeset atribut file

4.     Keunggulannya :
·        Ineterface yang seragam,
·        Extensibility, bisa menambahkan fitur-fitur baru tanpa perlu melakukan komplikasi ulang,
·        Flexibility, fitur-fitur yang sudah ada bisa dikurangi, atau dimodifikasi sesuai dengan kebutuhan sehingga menjadi lebih efesien,
·        Portability, pada mikto kernel, semua atau sebagian besar kode yang spesifik berada di dalamnya,

5.     Menggunakan struktur monolitic karena Mac OS adalah sistem operasi yang digunakan untuk mengoperasikan komputer notebook apple machintosh.Mac OS merupakan sistem operasi pertama yang menggunakan Graphical User Interface (GUI).

Pertemuan 4 :
1.     Multiprogramming adalah salah satu teknik penjadwalan dimana tugas (task) yang sedang berjalan tetap berjalan sampai ia melakukan operasi yang membutuhkan waktu untuk menunggu respon dari luar (external event), misalnya membaca data dari disket/CD/dsb, atau sampai komputer memaksa untuk menukar tugas yang sedang berjalan dengan tugas lainnya. Sistem operasi yang menggunakan multi-program sebagai scheduler-nya bertujuan untuk memaksimalkan penggunaan CPU.

2.     Melibatkan banyak aktivitas, yaitu :
·        Menamai (memberi identitas) proses,
·        Menyisipkan proses pada senarai atau tabel proses,
·        Menentukan prioritas awal proses,
·        Menciptakan PBC,
·        Mengalokasikan sumber daya awal bagi proses.

3.     Kegagalan muncul pada input/output :
·        Ketidakmampuan menemukan file,
·        Kegagalan membaca atau menulis setelah jumlah maksimum percobaan yang ditentukan (misalnya area rusak didapatkan pada tape, atau operasi tidak valid seperti membaca dari line printer).

4.     Dalam pengendalian antar proses, sistem operasi menggunakan metode :
Ø Saling melanjutkan (interleave), Sistem operasi hearus dapat kembali melanjutkan proses setelah melayani proses lain.
Ø Kebijakan tertentu, Sistem operasi harus mengalokasikan sumber daya ke proses berdsarkan prioritasnya.
Ø Komunikasi antar proses dan penciptaan proses, Sistem operasi harus mendukung komunikasi dan penciptaan antar proses (menstrukturkan aplikasi).

5.     Operasi-operasi pada proses :
·        Penciptaan proses
·        Penghancuran/terminasi proses
·        Penundaan proses
·        Pelanjutan kembali proses
·        Pengubah prioritas proses
·        Memblok proses
·        Membangunkan proses
·        Menjadwalkan proses
·        Memungkinkan proses berkomunikasi dengan proses lain