1. Sebutkan perbedaan antara penjadwalan preemptive dan nonpreemptive.
2. Terdapat 5 job yang datang hampir pada saat yang bersamaan. Estimasi waktu eksekusi (burst time) masing-masing 10, 6, 2, 4 dan 8 menit dengan prioritas masing-masing 3, 5, 2, 1 dan 4, dimana 5 merupakan prioritas tertinggi. Tentukan rata-rata waktu turnaround untuk penjadwalan CPU dengan menggunakan algoritma
a) Round Robin (quantum time -2)
b) Priority
c) Shortest job first Diketahui proses berikut:
Proses
Arrival Time
Burst Time
P1
0
8
P2
0.4
4
P3
1
1
Tentukan rata-rata waktu tunggu dan rata-rata waktu turnaround dengan algoritma penjadwalan :
a) FCFS
b) SJF non preemptive
c) SJF preemptive / SRTF
d) Round Robin dengan quantum time = 1
4. Suatu algoritma penjadwalan CPU kemungkinan melibatkan algoritma yang lain, contohnya algoritma FCFS adalah algoritma RR dengan waktu quantum tertentu. Apakah ada hubungan antara pasangan algoritma berikut ?
a) Priority dan SJF
b) Priority dan FCFS
c) RR dan SJF
5. Apa yang dimaksud dengan race condition?
6. Apakah yang dimaksud dengan critical section ? Untuk menyelesaikan masalah critical section , ada tiga hal yang harus dipenuhi, sebutkan dan jelaskan !
7. Bagaimana algoritma Bakery untuk sinkronisasi banyak proses (n proses) ?
8. Apa yang dimaksud semaphore dan sebutkan operasi pada semaphore
9. Bagaimana struktur semaphore permasalahan :
a) bounded buffer problem.
b) reader and writer problem.
c) dining philosopher problem.
10. Apa yang dimaksud dengan sumber daya ? Berikan contohnya.
11. Apa yang dimaksud deadlock ?
12. Sebutkan 4 kondisi yang menyebabkan deadlock.
13. Sebutkan cara mencegah deadlock dari 4 kondisi tersebut pada soal 12.
14. Diketahui snapshot dari suatu sistem :
Allocation
Max
Available
ABCD
ABCD
ABCD
PO
PI
00 12 1000
00 12 17 5 0
15 2 0
P3
1632
1652
P4
00 14
065 6
Jawablah pertanyaan berikut:
a) Bagaimana isi matrik Need ?
b) Apakah sistem dalam state selamat ?
c) Jika proses PI meminta (0,4,2,0) dapatkah permintaan dipenuhi segera ?
15. Terdapat partisi memori lOOK, 500K, 200K, 300K dan 600K, bagaimana algoritma
First-fit, Best-fit dan Worst-fit menempatkan proses 212K, 417K, 112K dan 426K (berurutan) ? Algoritma mana yang menggunakan memori secara efisien ?
16. Apa yang dimaksud dengan fragmentasi eksternal dan fragmentasi internal ?
17. Diketahui ruang alamat logika dengan 8 page masing-masing 1024 word dipetakan
ke memori fisik 32 frame.
18. Berapa bit alamat logika ?
19. Berapa bit alamat fisik ?
20. Diketahui sistem paging dengan page table disimpan di memori
21. Jika acuan ke memori membutuhkan 200 nanosecond, berapa lama waktu
melakukan paging ?
22. Jika ditambahkan associative register, dan 75 persen dari semua acuan ke page-table
ditemukan dalam associative register, berapa efective access time (EAT) acuan ke memori ? (diasumsikan bahwa menemukan entri pada page table di associative register membutuhkan waktu 0, jika entri ada).
23. Diketahui sistem memory demand paging. Page table menggunakan register.
Membutuhkan 8 milisecond untuk melayani page fault jika frame kosong tersedia atau page yang di-replace tidak dimodifikasi dan 20 milisecond jika page yang di-replace dimodifikasi. Waktu akses memori adalah 100 nanosecond. Diasumsikan page yang di-replace akan dimodifikasi adalah 70 persen dari waktu. Berapa rata-rata page fault yang diterima untuk effective access time tidak lebih dari 200 nanosecond ?
24. Diketahui string acuan dari page : 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6
Berapa banyak page fault yang terjadi untuk algoritma page replacement berikut dengan satu, dua, tiga, empat, lima, enam atau tujuh frame ? Ingat bahwa semua frame diinisialisasi kosong, sehingga setiap page unik pertama akan bernilai masing-masing satu fault
a. LRU
b. FIFO
c. Optimal
25. Diketahui array 2 dimensi A sebagai berikut:
var A : array[1..100] of array{1..100] of integer
Dimana A[l][l] berada pada lokasi 200 pada sistem page memory dengan page-page berukuran 200. Suatu proses kecil pada page 0 (lokasi 0 s/d 199) untuk manipulasi matriks, sehingga setiap instruksi dimulai dari page 0. Untuk 3 frame page, berapa banyak page fault yang dibangkitkan oleh loop inisialisasi array berikut menggunakan LRU dan asumsi frame page 1 sudah terdapat proses dan 2 frame page lainnya diinisialisasi kosong.
a. For (j = 1; j <= 100; j++) , For (i = 1; i <- 100; i++) A[i][j] = 0; b.For (i=1;i<=100; i++) For (j = 1; j <= 100; j++) A[i][j] := 0; A[i][j] = 0;
26. Diketahui sistem demand paging dengan paging disk mempunyai waktu akses dan transfer rata-rata 20 milisec. Alamat ditranslasikan melalui page table di memory, dengan waktu akses 1 microsec per akses memory. Sehingga acuan ke memori melalui page table sama dengan 2 kali akses memory. Untuk memperbaiki waktu, ditambahkan associative memory yang menurunkan waktu akses menjadi satu acuan memori, jika entri page table berada di associative memory. Diasumsikan 80 % akses pada associative memory dan dari sisanya (20%), 10% nya (atau 2 persen dari total) menyebabkan page fault. Berapakah effective access time-nya?
27. Apakah keuntungan dan kerugian menyimpan nama pembuat program pada atribut file (seperti pada SO Machintosh)
28. Terdapat beberapa metode akses misalnya sequential access dan direct access. Jelaskan !
29. Sebutkan dan jelaskan Tree-structured directory dan acyclic-graph directory
30. Diketahui sebuah system mendukung 5000 user. Misalnya akan mengijinkan 4990 userdapat mengakses sebuah file. Bagaimana spesifikasi proteksi pada UNIX ?
31. Sistem file biasanya diimplementasikan dalam struktur layer atau modular. Jelaskan struktur layer pada system file.
32. Ada beberapa cara file dialokasikan pada ruangdisk, yaitu contiguous, linked atau berindeks. Jelaskan ketiga cara alokasi file diatas dan berikan contoh.
33. Sebutkan dan jelaskan cara untuk memperbaiki sistem dari kegagatan sehingga tidak kehilangan data atau data inconsistency.
34. Apakah permasalahan yang timbul bila sebuah system memperbolehkan system file di-mount secara simultan lebih dari satu lokasi ?
JAWAB..!!
1. - Penjadwalan preemptive
Keputusan penjadwalan CPU dilakukan apabila proses berpindah dari keadaan running
ke ready atau proses berpindah dari waiting ke ready.
- Penjadwalan non preemptive
Keputusan penjadwalan CPU dilakukan apabila proses berpindah dari running
ke waiting atau apabila proses berhenti.
2. a) 3.6 menit
b)
c)
3. a). Menggunakan Algoritma FCFS
Waktu tunggu untuk P1 = 0, P2 = 8, P3 = 12
Rata-rata waktu tunggu (turn around) = (0 + 8 + 12) / 3 = 6,6
b). Menggunakan Algoritma SJF non preemptive (gambar 2 diatas)
Waktu tunggu untuk P1 = 0
P2 = 9 – 0,4 = 8,6
P3 = 8 – 1 = 7
Rata-rata waktu tunggu (turn around) = (0 + 8,6 + 7) / 3 = 5,2
c). Menggunakan Algoritma SJF preemptive / SRTF (gambar 3 diatas)
Waktu tunggu untuk P1 = 5 – 0 = 5
P2 = 4,8 – 0,4 = 4,4
P3 = 1 – 1 = 0
Rata-rata waktu tunggu (turn around) = (5 + 4,4 + 0) / 3 = 3,13
d). Menggunakan Algoritma Round Robin (quantum time = 1)(gambar 4 diatas)
Waktu tunggu untuk P1 = 8, P2 = 4, P3 = 2
Rata-rata waktu tunggu (turn around) = (8 + 4 + 2) / 3 = 4,6
4. Hubungan antara pasangan algoritma
a). Priority dan SJF
Algoritma SJF adalah Algoritma Priority untuk menyelesaikan suatu kasus khusus
b). Priority dan FCFS
Algoritma FCFS adalah Algoritma Priority yang memiliki prioritas sama.
c). Round Robin dan FCFS
Algoritma Round Robin adalah Algoritma FCFS yang bersifat preemptive
dan menggunakan time-sharing.
1. Race condition adalah suatu kondisi dimana dua atau lebih proses mengakses shared memory/sumber daya pada saat yang bersamaan dan hasil akhir dari data tersebut tergantung dari proses mana yang terakhir selesai dieksekusi sehingga hasil akhirnya terkadang tidak sesuai dengan yang dikehendaki.
2. Critical section adalah dengan mendesain sebuah protokol di mana proses-proses dapat menggunakannya secara bersama-sama.
1. Mutual Exclusion.
Jika suatu proses sedang menjalankan critical section-nya, maka proses-proses lain tidak dapat menjalankan critical section mereka. Dengan kata lain, tidak ada dua proses yang berada dicritical section pada saat yang bersamaan.
2. Terjadi kemajuan (progress).
Jika tidak ada proses yang sedang menjalankan critical section-nya dan ada proses-proses lain yang ingin masuk ke critical section, maka hanya proses-proses yang yang sedang berada dalamentry section saja yang dapat berkompetisi untuk mengerjakan critical section.
3. Ada batas waktu tunggu (bounded waiting).
Jika seandainya ada proses yang sedang menjalankan critical section, maka proses lain memiliki waktu tunggu yang ada batasnya untuk menjalankan critical section -nya, sehingga dapat dipastikan bahwa proses tersebut dapat mengakses critical section-nya (tidak mengalamistarvation: proses seolah-olah berhenti, menunggu request akses ke critical sectiondiperbolehkan).
3. #define BUFFER_SIZE 10
typedef struct {
. . .
} item;
item buffer[BUFFER_SIZE];
int in = 0;
int out = 0;
int counter = 0;
item nextProduced;
while (1) {
while (counter == BUFFER_SIZE)
; /* do nothing */
buffer[in] = nextProduced;
in = (in+1) % BUFFER_SIZE;
counter++;
4. Semaphore adalah lokasi di dalam memori yang nilainya dapat diuji dan di set oleh lebih dari satu proses. Tes dan operasi yang dapat diset adalah, selama masing-masing proses tekait, atomik atau uninterrupable; sekali dijalankan tidak dapat dihentikan. Hasil dari operasi tes dan set operasi merupakan penambahan nilai semaphore dan set nilai, yang dapat bernilai positif maupun negatif. Hasil test dan set operasi sebuah proses akan berhenti sampai nilai semaphore diubah oleh proses yang lain. Semaphore biasanya digunakan untuk memonitor dan mengontrol ketersediaan sumberdaya sistem, seperti pembagian segmen memori.
Operasi Down (P)
operasi ini menurunkan nilai semaphore
jika nilai semaphore menjadi non positif maka proses yang mengeksekusinya diblocked
Operasi Up (V)
Operasi ini menaikkan nilai semaphore
jika satu proses atau lebih telah di blocked pada suatu semaphore tak dapat menyelesaikan operasi Down, maka salah satu dipilih oleh sistem dan dibolehkan menyelesaikan operasi Down-nya
urutan proses yang dipilih tidak ditentukan oleh Dijkstra dapat dipilih secara acak, FIFO dll sesuai kepentingan
operasi UP menaikkan nilai semaphore, memindahkan dari antrian dan menempatkan proses ke antrian.
Operasi P dan V adalah sebagai berikut :
Wait(S) : while(S) <= 0 do no-op;
S:=S-1;
Signal(S) : S:=S+1;
Keterangan :
- Pada kondisi Wait(S) dimana S<=0, maka modifikasi yang mungkin adalah S:=S-1;
- Operasi Wait dan Signal ini dijalankan secara individual.
5. a)Source code implementasi Bounded-Buffer Problem (Masalah Produsen Konsumen).
Source code ini diprogram dengan menggunakan bahasa pemrograman Java.Bounded buffer adalah tempat penampung data yang ukurannya terbatas, contohnya pada proses produsen dan konsumen. Beberapa masalah produsen-konsumen : produsen menaruh data pada buffer. Jika buffer tersebut sudah terisi penuh, maka produsen tidak melakukan apa-apa dan menunggu sampai konsumen mengosongkan isi buffer dan konsumen mengambil data dari buffer. Jika buffer tersebut kosong, maka konsumen tidak melakukan apa-apa dan menunggu sampai buffer tersebut diisi oleh produsen.
b) Problem lain yang terkenal adalah readers-writer problem yang memodelkan proses yang mengakses database. Sebagai contoh sebuah sistem pemesanan sebuah perusahaan penerbangan, dimana banyak proses berkompetisi berharap untuk membaca (read) dan menulis (write). Hal ini dapat diterima bahwa banyak proses membaca database pada saat yang sama, tetapi jika suatu proses sedang menulis database, tidak boleh ada proses lain yang mengakses database tersebut, termasuk membaca database tersebut.
Dalam solusi ini, pertama-tama pembaca mengakses database kemudian melakukan DOWN pada semaphore db.. Langkah selanjutnya readers hanya menaikkkan nilai sebuah counter. Hasil dari pembaca nilai counter diturunkan dan nilai terakhir dilakukan UP pada semaphore, mengizinkan memblok writer.
Misalkan selama sebuah reader menggunakan database, reader lain terus berdatangan. Karena ada dua reader pada saat bersamaan bukanlah sebuah masalah, maka reader yang kedua diterima, reader yang ketiga juga dapat diterima jika terus berdatangan reader-reader baru.
Sekarang misalkan writer berdatangan terus menerus. Writer tidak dapat diterima ke database karena writer hanya bisa mengakses data ke database secara ekslusif, jadi writer ditangguhkan. Nanti penambahan reader akan menunjukkan peningkatan. Selama paling tidak ada satu reader yang aktif, reader berikutnya jika datang akan diterima.
Sebagai konsekuensi dari strategi ini, selama terdapat suplai reader yang terus-menerus, mereka akan dilayani segera sesuai kedatanga mereka. Writer akan ditunda sampai tidak ada reader lagi. Jika sebuah reader baru tiba, katakan, setiap dua detik, dan masing-masing reader mendapatkan lima detik untuk melakukan tugasnya, writer tudak akan pernah mendapatkan kesempatan.
Untuk mencegah situasi seperti itu, program dapat ditulis agak sedikit berbeda: Ketika reader tiba dan writer menunggu, reader ditunda dibelakang writer yang justru diterima dengan segera. Dengan cara ini, writer tidak harus menunggu reader yang sedang aktif menyelesaikan pekerjaannya, tapi tidak perlu menunggu reader lain yang datang berturut-turut setelah itu.
c) Dinning Philosophers Simulation
Sistem operasi merupakan suatu program yang bertindak sebagai interface antara user dan sistem komputer. Sistem operasi ini harus mampu melakukan pengontrolan penggunaan resource. Dalam proses perancangan sistem operasi, terdapat suatu landasan umum yang disebut dengan kongkurensi.
6. Sumber daya adalah suatu nilai potensi yang dimiliki oleh suatu materi atau unsur tertentu dalam kehidupan. Sumber daya tidak selalu bersifat fisik, tetapi juga non-fisik (intangible).
Sumber daya ada yang dapat berubah, baik menjadi semakin besar maupun hilang, dan ada pula sumber daya yang kekal (selalu tetap). Selain itu, dikenal pula istilah sumber daya yang dapat pulih atau terbarukan (renewable resources) dan sumber daya tak terbarukan (non-renewable resources). Ke dalam sumber daya dapat pulih termasuk tanaman dan hewan (sumber daya hayati). contohnya : sumber daya berulang-ulang dan sumber daya sekali pakai.
7. Deadlock . Deadlock adalah suatu kondisi dimana dua proses atau lebih saling menunggu proses yang lain untuk melepaskan resource yang sedang dipakai. Karena beberapa proses itu saling menunggu, maka tidak terjadi kemajuan dalam kerja proses-proses tersebut. Deadlock adalah masalah yang biasa terjadi ketika banyak proses yang membagi sebuah resource yang hanya boleh dirubah oleh satu proses saja dalam satu waktu. Di kehidupan nyata, deadlock dapat digambarkan dalam gambar berikut.Pada gambar diatas, deadlock dianalogikan sebagai dua antrian mobil yang akan menyeberangi jembatan. Dalam kasus diatas, antrian di sebelah kiri menunggu antrian kanan untuk mengosongkan jembatan (resource), begitu juga dengan antrian kanan. Akhirnya tidak terjadi kemajuan dalam kerja dua antrian tersebut.Misal ada proses A mempunyai resource X, proses B mempunyai resource Y. Kemudian kedua proses ini dijalankan bersama, proses A memerlukan resource Y dan proses B memerlukan resource X, tetapi kedua proses tidak akan memberikan resource yang dimiliki sebelum proses dirinya sendiri selesai dilakukan. Sehingga akan terjadi tunggu-menunggu.
8. Mutual Eksklusif: hanya ada satu proses yang boleh memakai sumber daya, dan proses lain yang ingin memakai sumber daya tersebut harus menunggu hingga sumber daya tadi dilepaskan atau tidak ada proses yang memakai sumber daya tersebut.
Memegang dan menunggu: proses yang sedang memakai sumber daya boleh meminta sumber daya lagi maksudnya menunggu hingga benar-benar sumber daya yang diminta tidak dipakai oleh proses lain, hal ini bisa menyebabkan kelaparan sumber daya sebab bisa saja sebuah proses tidak mendapat sumber daya dalam waktu yang lama.
Tidak ada Preemption: sumber daya yang ada pada sebuah proses tidak boleh diambil begitu saja oleh proses lainnya. Untuk mendapatkan sumber daya tersebut, maka harus dilepaskan terlebih dahulu oleh proses yang memegangnya, selain itu seluruh proses menunggu dan mempersilahkan hanya proses yang memiliki sumber daya yang boleh berjalan
Circular Wait: adanya kondisi seperti rantai, yaitu sebuah proses membutuhkan sumber daya yang dipegang proses berikutnya.
9. Mengabaikan masalah deadlock.
Mendeteksi dan memperbaiki
Penghindaran yang terus menerus dan pengalokasian yang baik dengan menggunakan protokol untuk memastikan sistem tidak pernah memasuki keadaan deadlock . Yaitu dengan deadlock avoidance sistem untuk men- data informasi tambahan tentang proses mana yang akan meminta dan menggunakan sumber daya.
Pencegahan yang secara struktur bertentangan dengan 4 kondisi terjadinya deadlock dengan deadlock prevention sistem untuk memasti- kan bahwa salah satu kondisi yang penting tidak dapat menunggu.
10. Isi matrik Need didefinisikan dengan Max – Allocation.
Need
A B C
P0 7 4 3
P1 1 2 2
P2 6 0 0
P3 0 1 1
P4 4 3 1
Sistem dalam keadaan state selamat dengan urutan < P1, P3, P4, P2, P0> yang memenuhi
kriteria algoritma safety.
Misalnya proses P1 meminta tambahan anggota tipe sumber daya A dan dua
anggota tipe sumber daya C sehingga Request1 = (1, 0, 2). Untuk menentukan apakah
permintaan dapat segera dipenuhi, pertama harus diperiksa apakah Request1 ≤ Available
((1, 0, 2) ≤ (3, 3, 2)) ternyata benar. Maka akan diperoleh state baru berikut :
Allocation Need Available
A B C A B C A B C
P0 0 1 0 7 4 3 2 3 0
P1 3 0 2 0 2 0
P2 3 0 1 6 0 0
P3 2 1 1 0 1 1
P4 0 0 2 4 3 1
Kemudian harus ditentukan apakah sistem berada dalam state selamat. Setelah
mengeksekusi algoritma safety ternyata urutan memenuhi criteria
safety.
Setelah sistem berada pada state doatas, permintaan (3, 3, 0) oleh P4 tidak dapat
dipenuhi karena sumber daya tidak tersedia. Permintaan (0, 2, 0) oleh P1 juga tidak
dapat dipenuhi karena meskipun sumber daya tersedia, state hasil tak selamat.
b). State Selamat (Safe State)
Ketika suatu proses meminta sumber daya yang tersedia, sistem harus
menentukan apakah alokasi sumber daya pada proses mengakibatkan sistem dalam state
selamat. Sistem dikatakan dalam state selamat jika sistem dapat mengalokasikan
sumber daya untuk setiap proses secara berurutan dan menghindari deadlock. Urutan
proses selamat jika untuk setiap Pi, sumber daya yang masih diminta Pi
masih memenuhi sumber daya yang tersedia dan sumber daya yang dibawa oleh setiap
Pj, dimana j < i. Jika sumber daya yang diperlukan Pi tidak dapat segera disediakan, maka Pi dapat menunggu sampai semua Pj selesai. Ketika Pj selesai, Pi dapan memperoleh sumber daya yang diperlukan, mengeksekusi, mengembalikan sumber daya yang dialokasikan dan terminasi. Ketika Pi selesai, Pi+1 dapat memperoleh sumber daya yang diperlukan dan seterusnya. Jika sistem dalam state selamat maka tidak terjadi deadlock, sedangkan jika sistem dalam state tidak selamat (unsafe state) maka kemungkinan terjadi deadlock seperti Gambar 6-4. Metode menghindari deadlock menjamin bahwa sistem tidak pernah memasuki state tidak selamat.
Gambar 6-4 : Ruang state selamat, tak selamat dan deadlock
Untuk menggambarkan sistem dapat berpindah dari state selamat ke state tidak
selamat dapat dilihat ilustrasi berikut ini. Misalnya sistem mempunyai 12 magnetic tape
drive dan 3 proses P0, P1 dan P2. Proses P0 membutuhkan 10 tape drive, proses P1
membutuhkan 4 dan proses P2 membutuhkan 9 tape drive. Misalnya pada waktu t0,
proses P0 membawa 5 tape drive, P1 membawa 2 dan P2 membawa 2 tape drive
sehingga terdapat 3 tape drive yang tidak digunakan.
Kebutuhan Maksimum Kebutuhan Sekarang
P0 10 5
P1 4 2
P2 9 2
Pada waktu t0, sistem dalam state selamat. Urutan < P1, P0, P2> memenuhi kondisi
selamat karena P1 dapat segera dialokasikan semua tape drive dan kemudian
mengembalikan semua tape drive sehingga sistem tersedia 5 tape drive. Kemudian P0
dapat memperoleh semua tape drive dan mengembalikan semua sehingga sistem
tersedia 10 tape drive dan terakhir proses P2 dapat memperoleh semua tape drive dan
mengembalikan semua tape drive sehingga system tersedia 12 tape drive.
kemudian mengembalikan semua tape drive sehingga hanya tersedia 4 tape drive.
Karena proses P0 sudah dialokasikan 5 tape drive tetapi membutuhkan maksimum 10
tape drive sehingga meminta 5 tape drive lagi. Karena tidak tersedia, proses P0 harus
menunggu demikian juga P2 sehingga system menjadi deadlock
c).
15. 15. First-fit : alokasi lubang pertama yang cukup untuk proses.
• Best-fit : alokasi lubang terkecil yang cukup untuk proses. Strategi ini
memerlukan pencarian keseluruhan lubang, kecuali bila ukuran sudah terurut.
• Worst-fit : alokasi lubang terbesar yang cukup untuk proses. Strategi ini memerlukan pencarian keseluruhan lubang, kecuali disimpan berdasarkan urutan ukuran.
Diantara algoritma diatas, first-fit dan best-fit lebih baik dibanidngkan worst-fit
dalam hal menurunkan waktu dan utilitas penyimpan. Tetapi first-fit dan best-fit lebih baik dalam hal utilitas penyimpanan tetapi first-fit lebih cepat.
16. Fragmentasi internal terjadi saat penyimpanan dialokasikan tanpa pernah ingin menggunakannya. [1] Ini adalah ruang-siakan. Sementara ini tampaknya bodoh, sering diterima dalam kembali untuk meningkatkan efisiensi atau kesederhanaan. Istilah "internal" merujuk pada kenyataan bahwa unusable penyimpanan yang dialokasikan di dalam wilayah namun tidak sedang digunakan.
Fragmentasi eksternal adalah fenomena yang gratis menjadi dibagi menjadi beberapa bagian kecil dari waktu ke waktu. [1] Ini adalah kelemahan dari beberapa algoritma alokasi penyimpanan, terjadi ketika aplikasi dan mengalokasikan deallocates ( "frees") dari daerah penyimpanan berbagai ukuran, dan alokasi oleh algoritma merespon meninggalkan dialokasikan dan deallocated daerah interspersed. Hasilnya adalah bahwa, walaupun gratis tersedia, maka secara efektif unusable karena dibagi menjadi potongan-potongan yang terlalu kecil untuk memenuhi kebutuhan dari aplikasi.
17. Ruang alamat logika dari suatu proses dibagi ke dalam 2 partisi :
• Partisi 1 terdiri dari 8K segmen yang pribadi (private) untuk proses tersebut.
• Partisi 2 terdiri dari 8K segmen yang digunakan bersama untuk semua proses
Informasi mengenai partisi pertama disimpan dalam local descriptor table
(LDT) sedangkan informasi mengenai partisi kedua disimpan dalam global descriptor
table (GDT). Setiap entry pada tabel LDT dan GDT terdiri dari 8 byte, dengan
informasi detail tentang segmen tertentu termasuk lokasi basis dan panjang segmen.
Alamat logika adalah pasangan (selector, offset), dimana selector sebanyak 16 bit.
1 page = 64 byte.
Menurut page table diatas page 0 akan dipetakan ke frame 8, maka alamat logika 0 akan
dipetakan ke alamat fisik (8 * 64) + 0 = 512.
Keadaan memori logika dapat digambarkan sebagai berikut :
Dari gambar tersebut dapat dilihat bahwa :
•alamat logika 50 berada di page 0, offset 50 sehingga
alamat fisiknya (8 * 64) + 50 = 562
•alamat logika 121 berada di page 1,offset 57 sehingga
alamat fisiknya (2 * 64) + 57 = 185
•alamat logika 380 berada di page 5,offset 60 sehingga
alamat fisiknya (1 * 64) + 60 = 124
Keterangan :
alamat offset diperoleh dari nilai absolut alamat logika
yang ditentukan dikurangi dengan alamat logika awal
dari page yang diketahui. Contoh : jika alamat logika
380 berarti alamat offsetnya adalah
absolut(380 – 320) = 60
18. Pada sistem segmentasi alamat logika pada kode instruksi program juga perlu ditranslasi pada saat dieksekusi. Misalnya sistem memori computer menggunakan alamat 16 bit sehingga maksimal kapasitas memori utama adalah 64 kbyte. Bit alamat logika dapat dipecah atas nomor segmen dan alamat offset. Misalnya, nomor segmen menggunakan 4 bit atas alamat logika, yang berarti terdapat maksimal 212=4 kbyte. Misalnya dalam program terdapat instruksi jump[4848]
19. Dati tabel segmen proses terlihat bahwa segmen 1 dialokasikan pada memori fisik pada alamat awal 8224 sehingga pada saat dieksekusi alamat 4848 akan ditranslasi menjadi 8224 + 752 = 8976.
20. Paging merupakan kemungkinan solusi untuk permasalahan fragmentasi eksternal dimana ruang alamat logika tidak berurutan; mengijinkan sebuah proses dialokasikan pada memori fisik yang terakhir tersedia. Memori fisik dibagi ke dalam blok-blok ukuran tetap yang disebut frame. Memori logika juga dibagi ke dalam blok- blok dg ukuran yang sama yang disebut page. Semua daftar frame yang bebas disimpan. Untuk menjalankan program dengan ukuran n page, perlu menemukan n frame bebas dan meletakkan program pada frame tersebut. Tabel page (page table) digunakan untuk menterjemahkan alamat logika ke alamat fisik.
21. 40ms
23. Waktu akses memory = 200 nanosecond
Rata-rata waktu page-fault service time = 8 milliseconds
1 ms=106 ns
EAT = ((1 – p) x 200) + (p x (8 milliseconds))
= ((1 – p) x 200) + (p x 8,000,000)
= 200 + (p x 7,999,800)
Jika 1 dari 1.000 kali akses terjadi fault, maka EAT = 8.2 microseconds.
28) Sequential Access: Adalah suatu cara pengaksesan record, yang didahului pengaksesan record-record didepannya.Contoh : Magnetic Tape
Direct access: Adalah suatu cara pengaksesan record yang langsung, tanpa mengakses seluruh recordyang ada.Contoh : Magnetic Disk.
30) Pada sistem UNIX, proteksi direktori ditangani sama dengan proteksi file, misalnya, diasosiasikan dengan setiap subdirektory menggunakan owner, group dan universe (others) sebagai 3 bit RWX.
Informasi yang terdapat pada file dari kiri ke kanan terdiri dari proteksi file atau direktori, jumlah link ke file, nama pemilik, nama group, ukuran file dalam byte, tanggal membuat, nama file:
-rw-rw-r-- 1 pbg staff 31200 Sep 3 08:30 intro.ps
drwx------ 5 pbg staff 512 Jul 8 09:33 private/
drwxrwxr-x 2 pbg staff 512 Jul 8 09:35 doc/
drwxrwx--- 2 pbg student 512 Aug 3 14:13 student-proj/
-rw-r—-r-- 1 pbg staff 9423 Feb 24 1993 program.c
-rwxr-xr-x 1 pbg staff 20471 Feb 24 1993 program
drwx—-x--x 4 pbg faculty 512 Jul 31 10:31 lib/
drwx------ 3 pbg staff 1024 Aug 29 06:52 mail/
drwxrwxrwx 3 pbg staff 512 Jul 8 09:35 test/
31)
Pada level terendah, I/O control berisi device driver dan interrupt handler untuk mengirim informasi antara memori dan sistem disk. Basic file system berisi perintah bagi device driver untuk membaca dan menulis blok fisik pada disk. File organization module berisi modul untuk mengetahui blok logika pada blok fisik. Logical file system menggunakan struktur direktori untuk memberikan ke file organization module informasi tentang kebutuhan terakhir. Informasi mengenai sebuah file disimpan pada struktur penyimpan yang disebut file control block seperti Gambar 10-2. Gambar 10-3 mengilustrasikan pentingnya struktur sistem file disediakan oleh sistem operasi. Pada saat membuka file (dengan menjalankan perintah open) blok-blok dari struktur direktori disimpan pada struktur direktori di memori dan mengubah file control block. Pada saat membaca file (dengan menjalankan perintah read), indeks yang dibaca di cari lokasi blok pada disk melalui tabel open file yang berada di memori.Virtual File Systems (VFS) merupakan implementasi sistem file yang berorientasi obyek. VFS memungkinkan antarmuka system call (API) yang sama digunakan untuk sistem file yang berbeda. API adalah lebih sebagai antarmuka VFS dan bukan untuk tipe sistem file tertentu.
32) Alokasi Berurutan (Contiguous Allocation)
Pada alokasi berurutan, setiap file menempati sekumpulan blok yang berurutan pada disk (Gambar 10-5). Model ini sangat sederhana karena hanya membutuhkan lokasi awal (block #) dan panjang (jumlah blok). Akses pada blok disk dilakukan secara random dan memakan banyak ruang permasalahan dynamic storage-allocation). File yang disimpan secara berurutan tidak dapat berkembang.
Beberapa sistem file yang baru (misalnya Veritas File System) menggunakan skema alokasi berurutan yang dimodifikasi. File sistem Extent-based mengalokasikan blok pada disk secara berkembang (extent). Extent adalah blok berurutan pada disk. Extent dialokasikan untuk alokasi file. Sebuah file terdiri dari satu atau lebih extent.
Alokasi Berhubungan (Linked Allocation)
Pada alokasi berhubungan, setiap file adalah sebuah linked list dari blok-blok terpisah pada disk (Gambar 10-6). Pada setiap blok terdapat satu pointer yang menunjuk ke blok lain.
Alokasi berhubungan mempunyai bentuk yang sederhana, hanya memerlukan alamat awal. Sistem manajemen ruang bebas pada alokasi berhubungan tidak memakan banyak ruang. Model ini tidak menggunakan random access. Blok yang diakses adalah blok ke-Q pada rantai link dari blok pada file. Perpindahan ke blok = R + 1. Contoh sistem file yang menggunakan alokasi berhubungan adalah file-allocation table (FAT) yang digunakan MS-DOS dan OS/2. Bentuk file allocation tabel dapat dilihat pada
Gambar 10-7.
Alokasi Berindeks (Indexed Allocation)
Pada alokasi berindeks, terdapat satu blok yang berisi pointer ke blok-blok file (Gambar 10-7). Alokasi berindeks berupa bentuk logika.
Pada alokasi berindeks, memerlukan tabel indeks yang membawa pointer ke blok-blok file yang lain. Akses dilakukan secara random. Merupakan akses dinamis tanpa fragmentasi eksternal, tetapi mempunyai blok indeks yang berlebih. Pemetaan dari logika ke fisik dalam file ukuran maksimum 256K word dan ukuran blok 512 word hanya memerlukan 1 blok untuk tabel indeks. Apabila pemetaan dari logika ke fisik dalam sebuah file dari ukuran tak hingga (ukuran blok adalah 512 word) maka digunakan skema menghubungkan blok link dari tabel indeks (ukuran tak terbatas). Untuk ukuran file maksimum 5123 digunakan skema two-level indeks (Gambar 10-8). Pada skema two-level indeks terdapat tabel indeks luar dan dalam. Indeks dipetakan ke tabel indeks luar kemudian dipetakan ke tabel indeks dalam setelah itu mengakses blok file yang dimaksud.
33) Untuk memperbaiki sistem file dilakukan dengan memeriksa konsistensi dengan cara membandingkan data pada struktur direktori dengan blok data pada disk dan mencoba memperbaiki inkonsistensi. Selain itu juga dapat menggunakan program sistem untuk back up data dari disk ke penyimpan lain (floppy disk, magnetic tape). Perbaikan akan Recover menghilangkan file atau disk dengan restoring data dari backup.
34) Mounting Sistem Berkas
Seperti halnya sebuah berkas yang harus dibuka terlebih dahulu sebelum digunakan, sistem berkas harus dimount terlebih dahulu sebelum sistem berkas tersebut siap untuk memproses dalam sistem. Sistem operasi diberikan sebuah alamat mounting (mount point) yang berisi nama device yang bersangkutan dan lokasi dari device tersebut.
Langganan:
Komentar (Atom)
