1. Sistem
operasi dapat dibedakan berdasarkan jumlah
pengguna dan program yang dapat dijalankan, juga
berdasarkan jenis software.
Jawab :
·
Single User – Single Tasking :
Satu komputer hanya bisa
digunakan oleh satu user dan hanya bisa menjalankan satu program di satu waktu,
contohnya: DOS (Disk Operating System).
- Multi User – Single Tasking :
Satu komputer dapat digunakan
oleh banyak user namun tiap user hanya bisa
menjalankan 1 program (aplikasi) di satu
waktu, contohnya: Novell Netware yang
menjalankan SO Network berbasis DR-DOS.
- Single User – Multi Tasking :
Satu komputer dipakai oleh satu
user dan dapat menjalankan banyak program disatu waktu,
contohnya: Windows, MacOS, BeOS, JDS, dll.
- Multi User – Multi Tasking :
Satu komputer dipakai bersamaan
oleh banyak user yang dapat menjalankan banyak program di satu waktu,
contohnya: Unix, Linux, FreeBSD (SO turunan Unix)
atau Windows dengan aplikasi Citrix Metaframe, dll.
2. Status proses
Jawab :
Status proses terdiri dari :
1. New : proses sedang dibuat
2. Running : proses sedang dieksekusi
3. Waiting : proses sedang menunggu beberapa event yang akan terjadi
4. Ready : proses menunggu jatah waktu dari CPU untuk diproses
5. Terminated : proses telah selesai dieksekusi
1. New : proses sedang dibuat
2. Running : proses sedang dieksekusi
3. Waiting : proses sedang menunggu beberapa event yang akan terjadi
4. Ready : proses menunggu jatah waktu dari CPU untuk diproses
5. Terminated : proses telah selesai dieksekusi
3. Jenis-jenis
antrian proses
Jawab:
·
Job Queue. Semua
proses yang masuk pada suatu sistem akan diletakkan kedalam job queue
·
Ready Queue. Proses-proses yang ada dimemori
utama dan menunggu untuk dieksekusi
diletakkan pada suatu list yang disebut dengan ready queue
·
Device Queue. Deretan proses yang sedang
menunggu peralatan I/O tertentu disebut dengan device queue
- kriteria penjadwalan cpu
Jawab:
- CPU utilization
Sebaiknya CPU bekerja sesibuk mungkin.
- Throughput
Throughput adalah banyaknya proses yang selesai dieksekusi per satuan waktu. Semakin banyak throughput, semakin baik. - Turnaround time
Turnaround time adalah waktu yang dibutuhkan untuk mengeksekusi suatu proses. Semakin kecil turnaround time, semakin baik. - Waiting time
Waiting time adalah waktu yang dibutuhkan suatu proses selama menunggu di ready queue. Semakin kecil waiting time, semakin baik. - Response
time
Response time adalah waktu yang dibutuhkan sejak suatu proses datang me-request sampai proses itu menerima response pertama. Semakin kecil response time, semakin baik.
·
Fairness . Suatu
algoritma harus memperhatikan pengawasan nilai prioritas dari suatu proses
(menghindari terjadinya starvation CPU time).
·
Efisiensi. Rendahnya overhead
dalam context switching, penghitungan prioritas dan sebagainya
menentukan apakah suatu algoritma efisien atau tidak.
5. Penjadwalan
preemtive dan non preemtive
Jawab:
Penjadwalan Non Preemptive
- Penjadwalan Preemptive mempunyai arti kemampuan sistem operasi untuk memberhentikan sementara proses yang sedang berjalan untuk memberi ruang kepada proses yang prioritasnya lebih tinggi.
Penjadwalan CPU mungkin akan
dijalankan ketika proses dalam keadaan:
- Berubah dari running ke waiting state.
- Berubah dari running ke ready state.
- Berubah dari waiting ke ready state.
- Dihentikan.
- Penjadwalan Non Preemptive ialah salah satu jenis penjadwalan dimana sistem operasi tidak pernah melakukan context switch dari proses yang sedang berjalan ke proses yang lain. Dengan kata lain, proses yang sedang berjalan tidak bisa di- interupt.
Penjadwalan Non Preemptive
terjadi ketika proses hanya:
- Berjalan dari running state sampai waiting state.
- Dihentikan.
6.algoritma penjadwalan
Jawab:
Berikut
jenis-jenis algoritma berdasarkan penjadwalan :
- Nonpre-emptive, menggunakan konsep :
- FIFO (First In First Out) atau FCFS (First Come First Serve)
- SJF (Shortest Job First)
- HRN (Highest Ratio Next)
- MFQ (Multiple Feedback Queues)
- Pre-emptive, menggunakan konsep :
- RR (Round Robin)
- SRF (Shortest Remaining First)
- PS (Priority Schedulling)
- GS (Guaranteed Schedulling)
2. Algoritma Pre-emptive
A. Round
Robin (RR)
B.
Priority Schedulling (PS)
C.
Multiple Feedback Queues (MFQ)
D.
Shortest Remaining First (SRF)
E.
Guaranteed Scheduloing (GS)
7.deadlock dan penanganan deadlock
jawab:
Deadlock adalah keadaan dimana dua program memegang kontrol terhadap sumber daya yang dibutuhkan oleh program yang lain.
Penanganan Deadlock
4 cara untuk menangani keadaan deadlock, yaitu:
1.Pengabaian. Maksud dari pengabaian di sini adalah sistem mengabaikan terjadinya deadlock dan pura-pura tidak tahu kalau deadlock terjadi.
4 cara untuk menangani keadaan deadlock, yaitu:
1.Pengabaian. Maksud dari pengabaian di sini adalah sistem mengabaikan terjadinya deadlock dan pura-pura tidak tahu kalau deadlock terjadi.
2.Pencegahan. Penanganan ini dengan cara mencegah terjadinya salah satu
karakteristik deadlock. Penanganan ini dilaksanakan pada saat deadlock belum
terjadi pada sistem. Intinya memastikan agar sistem tidak akan pernah berada
pada kondisi deadlock.
3.Penghindaran. Menghindari keadaan deadlock. penghindaran adalah
memprediksi apakah tindakan yang diambil sistem, dalam kaitannya dengan
permintaan proses akan sumber daya, dapat mengakibatkan terjadi deadlock
4.Pendeteksian dan Pemulihan. Pada sistem yang sedang berada pada kondisi
deadlock, tindakan yang harus diambil adalah tindakan yang bersifat represif.
Tindakan tersebut adalah dengan mendeteksi adanya deadlock, kemudian memulihkan
kembali sistem
8.graf dengan deadlock dan tanpa deadlock
Jawab:
Graf dengan Deadlock
|
Dari gambar diatas kita dapat melihat terjadinya deadlock yang
disebabkan oleh P0 memerlukan sumber daya R0 untuk menyelesaikan prosesnya,
sedangkan R0 dialokasikan untuk P1. Di lain pihak P1 memerlukan sumber daya R1
sedangkan R1 dialokasikan untuk P2. P2 memerlukan sumber daya R2 akan tetapi R2
mengalokasikan sumber dayanya pada P1.
- R2 ->P0 ->R0 ->P1 -> R1 -> P2 -> R2
- R2 -> P1-> R1 -> P2 -> R2
Memori virtual adalah suatu teknik yang memisahkan antara memori logis dan memori fisiknya. Memori logis merupakan kumpulan keseluruhan halaman dari suatu program. Tanpa memori virtual, memori logis akan langsung dibawa ke memori fisik (memori utama).