Soal dan Penyelesaian Desain dan Pratek Sitem Operasi
1.
Swapping
memori yang terdiri
dari ukuran hole sebagai berikut: 420 kb, 321 kb, 654 kb,
125 kb, 70 kb, 19 kb, 16 kb, dan 256 kb. Data yang akan diswap untuk permintaan
berturut-turut
(i)
18 kb ; (ii) 86 kb; (iii) 42 kb. Gambarkan dan Jelaskan mekanisme swapping untuk (a) first fit? (b) untuk best fit, (c) untuk worst fit, dan (d) untuk next fit Algorithm.
penyelesaian :
Terdapat
antrian dengan ukuran hole :
|
420 kb |
321
kb |
654
kb |
125
kb |
70
kb |
19 kb |
16
kb |
16
kb |
256
kb |
Permintaan
I = 18 kb
II = 86 kb
III = 42 kb
A. first fit
Pencarian dimulai dari awal
dan akan berhenti jika ditemukan lokasi pertama yang cukup besar untuk
menempatkan proses tersebut.
|
420 kb |
321
kb |
654
kb |
125
kb |
70
kb |
19 kb |
16
kb |
16
kb |
256
kb |
|
18kb,86kbdan42kb |
|
|
|
|
|
|
|
|
Maka permintaan 1, 2, 3 dengan ukuran
18 kb, 86 kb dan 42 kb di tempatkan pada partisi awal yakni 420 kb karna mampu
menampung 3 permintaan tersebut.
B. Best fit
Pencarian dimulai dari awal
dan akan berhenti jika ditemukan lokasi terkecil pertama yang cukup untuk
menempatkan proses tersebut.
|
420 kb |
321
kb |
654
kb |
125 kb |
70 kb |
19 kb |
16
kb |
16
kb |
256
kb |
|
|
|
|
(ii) 125kb |
(iii) 42 kb |
(i) 18 kb |
|
|
|
Untuk permintaan pertama yaitu 18 kb
di letakkan pada partisi 19 kb
Permintaan kedua yaitu 86 kb di
letakkan pada partisi 125 kb
Permintaan ketiga yaitu 42 kb di
letakkan pada partisi 70 kb
C. worst
fit
Pencarian dimulai dari awal
dan akan berhenti jika ditemukan lokasi yang paling besar yang cukup untuk
menempatkan proses tersebut.
|
420 kb |
321
kb |
654 kb |
125 kb |
70 kb |
19 kb |
16
kb |
16
kb |
256
kb |
|
|
|
18kb,86kbdan42kb |
|
|
|
|
|
|
Maka ketiga permintaan pertama di
tempatkan di partisi dengan lokasi paling besar yaitu partisi 654 kb
D. next
fit
Sama dengan first-fit hanya
saja pencarian tidak dimulai dari awal, tapi dari lokasi terakhir kali
menemukan segmen yang cocok dan akan berhenti jika ditemukan lokasi pertama
yang cukup besar untuk menempatkan proses tersebut
Permintaan pertama : 18 kb
|
420 kb |
321
kb |
654 kb |
125 kb |
70 kb |
19 kb |
16
kb |
16
kb |
256 kb |
|
|
|
|
|
|
|
|
|
18 kb |
bila
datang data yang berukuran 18 Kb dan pencarian partisi
dimulai dari urutan ke tujuh karena sebelumnya posisi terakhir pencarian di partisi keenam (19kb),
maka data tersebut akan menempati
partisi ukuran 256 Kb.
Permintaan 86 Kb
|
420 kb |
321
kb |
654 kb |
125 kb |
70 kb |
19 kb |
16
kb |
16
kb |
256 kb |
|
|
|
|
|
|
|
|
|
86 Kb |
bila
datang data yang berukuran 86 Kb dan pencarian partisi
dimulai dari urutan ke lima karena sebelumnya posisi terakhir pencarian di partisi ke empat(125kb),
maka data tersebut akan menempati
partisi ukuran 256 Kb.
Permintaan 42 Kb
|
420 kb |
321
kb |
654 kb |
125 kb |
70 kb |
19 kb |
16
kb |
16
kb |
256 kb |
|
|
|
|
|
|
|
|
|
42 Kb |
bila datang data yang berukuran 42 Kb dan pencarian partisi dimulai dari urutan ke enam karena sebelumnya posisi terakhir pencarian di partisi ke lima (70kb) , maka data tersebut akan menempati partisi ukuran 256 Kb.
2. Ada 4 proses A, B, C, D. tiba pada daerah critical
pada waktu yang berbeda, dimana A tiba 4ms (ms = milli second) lebih lambat
dari B yang waktu tunggunya adalah 5ms, dan 8ms berikutnnya setelah B tiba,
proses C tiba. Proses C tiba lebih cepat 10ms dari D. Jika waktu layanan masing-masing proses adalah
: A = 210ms; B = 110ms; C =140ms; D = 50ms. Buatlah gant chart dan
Hitunglah AWT (Average Waiting Time) untuk algoritma: (1) Round Robin dengan quantum time 3 (2). SJF. (3) FCFS.
penyelesaian :
Round Robin
|
Proses |
Burst Time |
|
Proses A |
210 ms |
|
Proses B |
110 ms |
|
Proses C |
140 ms |
|
Proses D |
50 ms |
Quantum time = 3 ms
Gant chart = (210 + 110 + 140 + 50)
= 510
|
PA |
PB |
PC |
PD |
PA |
PA |
PA |
PA |
PA |
PA |
PA |
PA |
PA |
…. |
PA |
0
4 114 254 304 307 310 313 316 319 322 325 328 331 334…510
AWT.PA
= PA(Qt) – PA(i)
= 304 – 3
= 301
PA =
( 304 + 110 + 140 + 50)/4
= 604 / 5
= 120.8 ms
B. SJF
|
Proses |
Burst Time |
|
Proses A |
210 ms |
|
Proses B |
110 ms |
|
Proses C |
140 ms |
|
Proses D |
50 ms |
Gantchart
|
PD |
PA |
PC |
PB |
0 50 260 400 510
AWT = (0 + 50 + 260 + 400) /3
= 710 / 3
= 236.6 ms
C. FCFS
|
Proses |
Burst Time |
|
Proses A |
9ms |
|
Proses B |
5ms |
|
Proses C |
13ms |
|
Proses D |
23ms |
|
PA |
PB |
PC |
PD |
![]()
|
PB |
PA |
PC |
PD |
0 5 14 27 50
AWT = (0 + 5 + 14 + 27) / 4
= 46 / 5
= 9.2 ms
3. Andaikan posisi head/arm pada disk berada pada cylinder 40. Kemudian ada new request untuk cylinders 37, 26, 15, 45, 21, 16, 34, 79, dan 17. Buatlah skematis untuk disk arm scheduling algoritms dan hitung total pergerakan head dengan:
(a). FCFS, (b). SSF, (c) SCAN, (d). C-LOOK.
penyelesaian :
(A) FCFS
Bentuk algoritma penjadwalan disk yang paling sederhana adalah First Come First Served (FCFS). Sistem kerja dari algoritma ini melayani permintaan yang lebih dulu datang di queue. Algoritma ini pada hakekatnya adil bagi permintaan M/K yang mengantri di queue karena penjadwalan ini melayani permintaan sesuai waktu tunggunya di queue. Tetapi yang menjadi kelemahan algoritma ini adalah bukan merupakan algoritma dengan layanan yang tercepat.
Head Start = 40
Queue = 37, 26, 15, 45, 21, 16, 34, 79, 17
Total Pergerakan Head =
209 Silinder
|
Next cylinder accessed |
Number of cylinder traversed |
|
37 |
3 |
|
26 |
11 |
|
15 |
11 |
|
45 |
30 |
|
21 |
24 |
|
16 |
5 |
|
34 |
18 |
|
79 |
45 |
|
17 |
62 |
|
Total Pergerakan
Head |
209 silinder |
|
0 |
15 |
16 |
17 |
21 |
26 |
34 |
37 |
40 |
45 |
79 |
(A) SSF
Shortest-Seek-Time-First (SSTF) merupakan algoritma yang melayani
permintaan berdasarkan waktu pencarian yang paling kecil dari posisi head terakhir.
Sangat beralasan untuk melayani semua permintaan yang berada dekat dengan posisi head yang
sebelumnya, sebelum menggerakan head lebih jauh untuk
melayani permintaan yang lain.
Head Start = 40
Queue = 37, 26, 15, 45, 21, 16, 34, 79, 17
Total Pergerakan Head =
51 Silinder
|
Next cylinder accessed |
Number of cylinder traversed |
|
37 |
3 |
|
34 |
3 |
|
26 |
8 |
|
21 |
5 |
|
17 |
4 |
|
16 |
1 |
|
15 |
1 |
|
0 |
15 |
|
45 |
45 |
|
79 |
34 |
|
Total Pergerakan
Head |
51 silinder |
|
0 |
15 |
16 |
17 |
21 |
26 |
34 |
37 |
40 |
45 |
79 |
Scan
Pada algoritma
SCAN, head bergerak ke silinder paling ujung dari disk.
Setelah sampai disana maka head akan berbalik arah menuju
silinder di ujung yang lainnya. Head akan melayani
permintaan yang dilaluinya selama pergerakannya ini. Algoritma ini disebut juga
sebagai Elevator Algorithm karena sistem kerjanya yang sama
seperti yang digunakan elevator di sebuah gedung tinggi dalam melayani
penggunanya. Elevator akan melayani pengguna yang akan menuju ke atas dahulu
sampai lantai tertinggi, baru setelah itu dia berbalik arah menuju lantai
terbawah sambil melayani penggunanya yang akan turun atau sebaliknya. Jika melihat
analogi yang seperti itu maka dapat dikatakan head hanya
melayani permintaan yang berada di depan arah pergerakannya. Jika ada
permintaan yang berada di belakang arah geraknya, maka permintaan tersebut
harus menunggu sampai head menuju silinder di salah satu
disk, lalu berbalik arah untuk melayani permintaan tersebut.
Head Start = 40
Queue = 37, 26, 15, 45, 21, 16, 34, 79, 17
Disk arm bergerak ke silinder terkecil
Total Pergerakan Head =
51 Silinder
|
Next cylinder accessed |
Number of cylinder traversed |
|
37 |
3 |
|
34 |
3 |
|
26 |
8 |
|
21 |
5 |
|
17 |
4 |
|
16 |
1 |
|
15 |
1 |
|
0 |
15 |
|
45 |
45 |
|
79 |
34 |
|
Total Pergerakan
Head |
51 silinder |
|
0 |
15 |
16 |
17 |
21 |
26 |
34 |
37 |
40 |
45 |
79 |
(A)
C-LOOK
Algoritma
C-LOOK berhasil memperbaiki kelemahan-kelemahan algoritma SCAN, C-SCAN, dan
LOOK. Algoritma C-LOOK memperbaiki kelemahan LOOK sama seperti algoritma C-SCAN
memperbaiki kelemahan SCAN. Algoritma C-LOOK adalah algoritma penjadwalan disk
yang secara konsep hampir sama dengan algoritma C-SCAN. Bedanya pada algoritma
C-LOOK, disk arm tidak berjalan sampai ujung disk,
tetapi hanya sampai pada permintaan yang paling dekat dengan ujung disk.
Setelah melayani permintaan tersebut, disk arm akan berbalik
arah dari arah pergerakannya yang pertama dan langsung berjalan ke permintaan
yang paling dekat dengan ujung disk yang lain kemudian melayani permintaan
tersebut. Setelah selesai melayani permintaan tersebut, disk
arm akan berbalik arah kembali dan melayani permintaan-permintaan
lain yang ada di depannya sesuai dengan arah pergerakannya.
Head Start =
40
Queue = 37, 26, 15, 45, 21, 16, 34, 79, 17
Disk arm bergerak ke silinder dengan no terbesar
Total Pergerakan Head =
125 Silinder
|
Next cylinder accessed |
Number of cylinder traversed |
|
45 |
5 |
|
79 |
34 |
|
15 |
64 |
|
16 |
1 |
|
17 |
1 |
|
21 |
4 |
|
26 |
5 |
|
34 |
8 |
|
37 |
3 |
|
Total Pergerakan
Head |
125 silinder |
|
0 |
15 |
16 |
17 |
21 |
26 |
34 |
37 |
40 |
45 |
79 |
4. Beberapa resource pada
komputer direquest oleh proses-proses sebagai berikut:
1. Proses A holds M and wants L
2. Proses B holds K and wants M
3. Proses C holds H and P
4. Proses D holds P and wants M and L
5. Proses E holds N and wants O
6. Proses F holds V and wants L
7. Proses G holds O and wants N
8. Proses Z hold nothing, request M and Q
a. Buatlah resource graph dari kondisi
tersebut.
b. Jelaskan state mana yang terjadi terjadi
deadlock dan mana yang tidak deadlock?
penyelesaian :
a. .....
b. State yang terjadi deadlock adalah V, H dan K. State yang tidak terjadi deadlock adalah P, D, L, F, C, Q, Z, A, M, B, E, O, G, dan N
5. Andaikan kapasitas memori
= 8 M, menggunakan management memori dengan Buddy System. Jika terjadi request dengan ukuran
page 76kb, 32kb, 126kb, 123kb, 70kb, 64kb
a. Buatlah
“tree” dan tabelnya dengan urutan permintaan pemakaian memori tersebut.
b. Hitunglah berapa kb internal
fragmentation.
c. Hitunglah berapa kb eksternal fragmentation
penyelesaian :
a).....
b) Hitunglah berapa kb internal fragmentation.
= (64-76) + (64-32) +
(32-126) + (32-123) + (32-70) + (32- 64)
= -44 + (-32) – (-94) – (-91)
+ (-38) – (-32)
= 147 kb
c) Hitunglah berapa kb eksternal fragmentation
= (64+76) - (64+32) - (32+126) - (32+123) - (32+70) - (32+ 64)
= 140 + 96 – 128 – 155 + 102
– 96
= -41kb
6. Suatu memori
diinisialisasikan mula-mula kosong, kemudian terjadi page refrences order 0 0 0 1 2 3 0 1 4 0 1 2 3 4 dengan algoritma
FIFO. (a). gambarkan dan jelaskan proses pergantian page dan hitung jumlah page fault untuk 3 page frame. (b). Lakukan lagi untuk 4 page frame, (c) Apakah terjadi Anomaly Belady? Jelaskan.
penyelesaian :
a.
Proses
pergantian page dan jumlah page fault untuk 3 page frame
|
Old
Page |
0 |
1 |
2 |
3 |
0 |
1 |
4 |
0 |
1 |
2 |
3 |
4 |
|
Page Frame 1 |
0 |
0 |
0 |
3 |
3 |
3 |
4 |
|
|
4 |
4 |
|
|
Page Frame 2 |
|
1 |
1 |
1 |
0 |
0 |
0 |
|
|
2 |
2 |
|
|
Page Frame 3 |
|
|
2 |
2 |
2 |
1 |
1 |
|
|
1 |
3 |
|
|
Page Fault |
F |
F |
F |
F |
F |
F |
F |
|
|
F |
F |
|
Proses Fault = 9 Fault
b.
Proses
pergantian page dan jumlah page fault untuk 4 page frame
|
Old
Page |
0 |
1 |
2 |
3 |
0 |
1 |
4 |
0 |
1 |
2 |
3 |
4 |
|
Page Frame 1 |
0 |
0 |
0 |
0 |
|
|
4 |
4 |
|
|
|
|
|
Page Frame 2 |
|
1 |
1 |
1 |
|
|
1 |
0 |
|
|
|
|
|
Page Frame 3 |
|
|
2 |
2 |
|
|
2 |
2 |
|
|
|
|
|
Page Frame 3 |
|
|
|
3 |
|
|
3 |
3 |
|
|
|
|
|
Page Fault |
F |
F |
F |
F |
|
|
F |
F |
|
|
|
|
Proses Fault = 6 Fault
c. Tidak terjadi anomaly belady karena seiring bertambahnya page frame, jumlah page fault berkurang.