1.
Sebutkan 5
aktivitas sistem operasi yang merupakan contoh dari suatu manajemen proses.
Jawab:
Aktivitas – aktivitas system operasi
yang berkaitan dengan manajemen proses, yaitu:
a. Pembuatan dan penghapusan proses
pengguna dan sistem proses.
b. Menunda atau melanjutkan proses.
c. Menyediakan mekanisme untuk proses
sinkronisasi.
d. Menyediakan mekanisme untuk proses
komunikasi.
e. Menyediakan mekanisme untuk penanganan deadlock.
2. Definisikan perbedaan antara penjadualan
short term, medium term, dan long term.
Jawab:
a) Penjadualan jangka pendek (short term
scheduler)
Mempunyai tugas
untuk menjadwalkan alokasi pemroses di antara proses ready di memori utama.
Penjadwalan dijalankan setiap terjadi di pengalihan proses untuk memilih proses
berikut yang harus dijalankan.
b) Penjadualan jangka menengah (medium term
scheduler)
Aktivitas
pemindahan proses yang tertunda dari memori utama ke memori sekunder yang
disebut swapping. Proses ini mempunyai kepentingan kecil saat itu sebagai
proses yang tertunda. Tetapi, begitu kondisi yang membuatnya tertunda hilang
dan proses dimasukkan kembali ke memori utama dan ready.
c) Penjadualan jangka panjang (long term
scheduler)
Penjadwalan ini
bekerja terhadap antrian batch dan memilih batch berikutnya yang harus
dieksekusi.. batch biasanya adalah proses-proses dengan penggunaan sumber daya
yang intensif, program ini berprioritas rendah, digunakan sebagai pengisi
selama periode aktivitas job-job interaktif rendah.
3. Jelaskan tindakan yang diambil oleh
sebuah kernel ketika alih konteks antar proses.
Jawab:
Saat alih
konteks, kernel mengendalikan dan menyimpan proses running atau saat memanggil
sistem call.
4. Informasi apa saja yang disimpan pada
tabel proses saat alih konteks dari satu proses ke proses yang lain.
Jawab:
Informasi yang
disimpan pada saat alih konteks adalah pemroses menyimpan konteks adalah
pemroses menyimpan konteks program ke dalam stack, hal tersebut bertujuan agar
saat selesai penaganan interupsi konteks program dapat dipanggil kembali dari
stack dan konteks program dapat kembali seperti semula tanpa terjadi pengalihan
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!
Jawab:
a. Proses yang baru diciptakan akan segera
mempunyai state ready.
b. Proses dengan state running menjadi
blocked karena sumber daya yang diminta belum tersedia.
c. Proses dengan state running menjadi
ready karena penjadwal memutuskan agar pemroses melakukan eksekusi proses yang
lain karena jatah waktu untuk proses itu telah habis (time out).
d. Proses dengan state blocked menjadi
ready saat sumber daya yang diminta telah tersedia atau layanan perangkat I/O
selesai (event cours).
e. Proses dengan state ready menjadi
running karena penjadwal memutuskan penggunaan pemroses untuk proses itu karena
proses yang telah running berubah menjadi ready atau blocked.
6. Apa keuntungan dan kekurangan dari:
a. Komunikasi Simetrik dan asimetrik
Komunikasi
simetrik langsung adalah rasa sakit karena kedua belah pihak memerlukan nama
proses lain. Hal ini membuat komunikasi asimetrik sulit untuk membangun server.
b. Automatic dan explicit buffering.
Otomatis membuat
pemrograman lebih mudah, tapi pada explicit buffering sebuah sistem sulit untuk
membangun.
c. Send by copy dan send by reference.
Send by copy
adalah jaringan yang lebih baik bagi generasi dan masalah sinkronnisasi.
Sedangkan send by reference lebih efisien untuk besar struktur data tetapi
sulit untuk kodenya, karena memori bersama implikasi.
d. Fixed size dan variable sized messages.
Fixed size
membuat pemrograman lebih mudah tetapi untuk variable sized messages sistem
lebih sulit untuk membangun
7. Jelaskan perbedaan short therm, medium
therm, dan long therm!
Jawab:
a. Shot therm
Sasaran utama
short term adalah memaksimumkan kinerja sistem untuk memenuhi satu kumpulan
criteria yang diharapakan. Short term dijalankan setiap tejadi pengalihan
proses untuk memilih proses berikutnya yang harus dijalankan.
b. Medium therm
Medium term
bertugas menangani proses-proses swapping. Proses-proses yang mempunyai
kepentingan kecil saat itu adalah proses yang tertunda, medium term
mengendalikan transisi dari suspensed ke ready.
c. Long therm
Long term bekerja terhadap antrian batch
berikutnya yang harus dieksekusi sistem. Batch biasanya berupa proses-proses
dengan penggunaan sumber daya yang intensif.
8. Jelaskan apa yang akan dilakukan oleh
kernel kepada alih konteks ketika proses sedang berlangsung?
Jawab:
Yang dilakukan
pertama kali adalah pemroses menyimpan konteks program saat itu yang sedang
dieksekusi ke dalam stack, selanjutnya pemroses menge-set register PC dengan
alamat awal program untuk interrupt handler.
9. Beberapa single user mikrokomputer
sistem operasi seperti MS-DOS menyediakan sedikit atau tidak sama sekali arti
dari pemrosesan yang konkruen dimasukkan ke dalam suatu sistem operasi.
Jawab:
Dampaknya antara
lain yaitu:
·
Mutual
Exclusion
·
Deadlock
·
Starvation
·
Sinkronisasi.
10. Perlihatkan semua kemungkinan keadaan
dimana suatu proses dapat sedang berjalan, dan gambarkan diagram transisi
keadaan yang menjelaskan bagaimana proses bergerak diantara state.
Jawab:
<Untuk Gambar Silahkan Cari di Buku Refrensi>
11. Apakah suatu proses memberikan ‘issue’
ke suatu disk I/O ketika, proses tersebut dalam ‘ready’ state, Jelaskan?
Jawab:
“YA” karena
kalau tidak diberikan “issue” maka akan terjadi deadlock karena terjadi
perebutan sumber daya antar proses.
12. Kernel menjaga suatu rekaman untuk
setiap proses, disebut Proses Control Blocks (PCB). Ketika suatu proses sedang
tidak berjalan, PCB berisi informasi yang harus dipunyai PCB.
Jawab:
Informasi yang harus dipunyai PCB
adalah:
a. Informasi Identifikasi Proses
Adalah informasi yang berkaitan dengan
identitas proses yang unik. Ke tabel-tabel yang lain. Identifier tersebut
antara lain (identifier proses, identifier proses yang menciptakan dan
identifier pemakai).
b. Informasi Status Pemroses
Informasi status
pemroses berisi informasi-informasi yang esensinya merupakan nilai atau isi
dari register-register pemroses. Saat proses berstatus RUNNING,
informasi-informasi tersebut berada di register. Ketika proses di interupsi,
semua informasi register harus disimpan agar dapat dikembalikan saat proses
dieksekusi kembali.
c. Informasi Kendali Proses
Adalah informasi-informasi
lain yang diperlukan sistem operasi untuk mengendalikan dan koordinasi beragam
proses aktif.
A. Soal Thread
1. Tunjukkan 2 contoh pemrograman dari
multithreading yang dapat meningkatkan sebuah solusi thread tunggal.!
Penyelesaian
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. Tunjukkan 2 contoh penrograman dari
multithreading yang tidak dapat meningkatkan sebuah solusi thread tunggal.
Penyelesaian
3. Sebutkan 2 perbedaan antara user level
thread dan kernel thread. Saat kondisi bagaimana salah satu dari thread
tersebut lebih baik.
Penyelesaian
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. Jelaskan tindakan yang diambil oleh
sebuah kernel saat alih konteks antara kernel level thread.
Penyelesaian
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. Sumber daya apa sajakah yang digunakan
ketika sebuah thread dibuat? Apa yang membedakannnya dengan pembentukan sebuah
proses.
Penyelesaian
6. Tunjukkan tindakan yang diambil oleh
sebuah thread library saat alih konteks antara user level thread.
Penyelesaian
<Untuk Gambar Silahkan Cari di Buku Refrensi>
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.
B. Soal penjadualan CPU
1. Definisikan perbedaan antara penjadualan
secara preemptive dan nonpreemptive!
Penyelesaian
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. Jelaskan mengapa penjadualan strict
nonpreemptive tidak seperti yang digunakan di sebuah komputer pusat.
Penyelesaian
3. Apakah keuntungan menggunakan time
quantum size di level yang berbeda dari sebuah antrian sistem multilevel?
Penyelesaian
Pertanyaan nomor 4 sampai dengan 5
dibawah menggunakan soal berikut:
Misal diberikan beberapa proses dibawah
ini dengan panjang CPU burst (dalam mili detik). Semua proses diasumsikan
datang pada saat t=0.
Tabel 2-1. Tabel untuk soal 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 dan proses-proses tersebut menggunakan FCFS, SJF,
prioritas nonpreemptive dan round robin.
Penyelesaian
a. Gantt chart untuk FCFS
0 10 11 13 14 19
b. Gantt chart untuk SJF
5. Hitung waktu tunggu dari setiap proses
untuk setiap algoritma penjadualan.
Penyelesaian
a. FCFS
·
Waiting
time for P1=0; P2=10; P3=11; P4=13; P5=14
·
Average
waiting time: (0+10+11+13+14)/5=9,6
b. SJF
6. Jelaskan perbedaan algoritma penjadualan
berikut:
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. Penjadualan CPU mendefinisikan suatu
urutan eksekusi dari proses terjadual. Diberikan n buah proses yang akan
dijadualkan dalam satu prosesor, Berapa banyak kemungkinan penjadualan yang
berbeda? Berikan formula dari n.
Penyelesaian
8. Tentukan perbedaan antara penjadualan
preemptive dan penjadualan nonpreemptive (cooperative). Nyatakan kenapa
nonpreemptive scheduling tidak dapat digunakan pada suatu komputer center. Di
sistem komputer nonpreemptive, penjadualan yang lebih baik digunakan.
Penyelesaian
Thanks gan..
BalasHapusTeruskan, sangat berguna.kunjungi..
BalasHapus