Sistem Operasi Mikrokomputer (4)


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 

3.  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 ?
JAWABAN :
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).


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
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
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)
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.


5).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.


6).Suatu system terdiri dari n proses dimana semuanya berkompetisi menggunakan data yang digunakan bersama-sama. Masing-masing proses mempunyai sebuah kode segmen.
Sebuah solusi dari permasalahan critical section harus memenuhi 3 syarat


sebagai berikut :
-Mutual Exclusion. Apabila proses Pi menjalankan critical section-nya, maka tidak ada proses lain yang dapat menjalankan critical section.
-Progress. Apabila tidak ada proses yang menjalankan critical section-nya dan terdapat beberapa proses yang akan memasuki critical section-nya, maka hanya proses-proses itu yang tidak diproses di dalam daerah pengingat (remainder) dapat ikut berpartisipasi di dalam keputusan proses mana yang akan memasuki critical section selanjutnya, dan pemilihan ini tidak dapat ditunda tiba-tiba.
-Bounded Waiting. Terdapat batasan jumlah waktu yang diijinkan oleh proses lain untuk memasuki critical section setelah sebuah proses membuat permintaan untuk memasuki critical section-nya dan sebelum permintaan dikabulkan.
7).Algoritma Bakery adalah algoritma yang digunakan untuk pemecahan permasalahan critical section pada n proses. Sebelum memasuki critical section, proses menerima nomo. Proses yang mempunyai nomor terkecil dapat memasuki critical section. Jika proses Pi dan Pj menerima nomor yang sama, jika i < j maka Pi dilayani lebih dahulu, sebaliknya Pj akan dilayani lebih dahulu. Skema pemberian nomor selalu membangkitkan nomor dengan menaikkan nilai urut misalnya 1, 2, 3, 3, 3, 3, 4, 5, …..Pada algoritma bakery terdapat notasi <≡ untuk urutan nomor (ticket #, process id #)

sebagai berikut :

(a,b) < (c,d) if a < c or if a = c and b < d
 

max (a0,…, an-1) is a number, k, such that k ≥ ai for i - 0,

…, n – 1

Variabel umum yang digunakan adalah :

boolean choosing[n];

int number[n];

Struktur data diatas diinisialisasi false dan 0. Struktur dari proses Pi adalah :

do {

choosing[i] = true;

number[i] = max(number[0], number[1], …, number [n – 1])+1;

choosing[i] = false;

for (j = 0; j < n; j++) {

while (choosing[j]) ;

while ((number[j] != 0) && (number[j],j < number[i],i)) ;

}

critical section

number[i] = 0;

remainder section

} while (1);



8).Semaphore adalah alat untuk sinkronisasi yang tidak membutuhkan  busy waiting.  Semaphore S  berupa variable integer.  Semaphore hanya dapat diakses melalui operasi atomic yang tak dapat diinterupsi sampai kode selesai.  Operasi dari semaphore S adalah wait dan signal berikut :
wait (S):
while S≤ 0 do no-op;
S--;


signal (S):
S++;
Adanya semaphore mempermudah penyelesaian persoalan critical section pada n proses.


9).a.Bounded-Buffer (Producer-Consumer) Problem
Produsen menghasilkan barang dan konsumen yang akan menggunakannya.
Ada beberapa batasan yang harus dipenuhi, antara lain :
-  Barang yang dihasilkan oleh produsen terbatas
-  Barang yang dipakai konsumen terbatas
-  Konsumen hanya boleh menggunakan barang yang dimaksud setelah produsen
menghasilkan barang dalam jumlah tertentu
-  Produsen hanya boleh memproduksi barang jika konsumen sudah kehabisan barang
Untuk penyelesaian permasalahan  bounded buffer  menggunakan  semaphore
menggunakan variabel umum berikut :
semaphore full, empty, mutex;
Inisialisasi untuk variable diatas, full = 0, empty = n, mutex = 1.   Struktur
program untuk produsen adalah
do {
   …
    menghasilkan item pada nextp
    …
  wait(empty);
  wait(mutex);
    …
    menambah nextp ke buffer
    …
  signal(mutex);
  signal(full);
 } while (1);
Sedangkan struktur program untuk konsumen adalah
do {
  wait(full)
  wait(mutex);
    …
   mengambil item dari buffer ke nextc
    …
  signal(mutex);
  signal(empty);
    …
   menggunakan item pada nextc
    …
 } while (1);


b.Reader and Writer Problem
Terdapat dua variasi pada masalah ini, yaitu :
-seorang  reader tidak perlu menuggu  reader lain untuk selesai hanya karena ada
writer menunggu (reader memiliki prioritas lebih tinggi disbanding dengan writer)
-Jika ada  writer yang sedang menunggu, maka tidak boleh ada  reader  lain yang
bekerja (writer memiliki prioritas yang lebih tinggi)
Jika terdapat  writer dalam  critical section dan terdapat  n  reader  yang
menunggu, maka satu  reader  akan antri di wrt dan n-1  reader  akan antri di mutex.
Jika  writer mengeksekusi  signal(wrt), maka dapat disimpulkan bahwa eksekusi
adalah menunggu reader atau menunggu satu writer.  Variabel umum yang digunakan
adalah
semaphore mutex, wrt;
Inisialisasi variable diatas adalah  mutex = 1, wrt = 1, readcount = 0.
Struktur proses writer adalah
wait(wrt);
   …
   menulis
   …
  signal(wrt);
Sedangkan struktur proses reader adalah
wait(mutex);
 readcount++;
 if (readcount == 1)
  wait(rt);
 signal(mutex);
    …
  membaca
   …
  wait(mutex);
 readcount--;
 if (readcount == 0)
  signal(wrt);
 signal(mutex):


c.Dining-Philosophers Problem
Permasalahan dining-philosophers digambarkan pada Gambar 5-2 dimana terdapat 5 filosof yang akan makan.  Di sana disediakan 5 supit.  Jika filosof lapar, ia akan mengambil 2 supit yaitu di tangan kanan dan kiri.  Namun adakalanya hanya diambil supit satu saja.  Jika ada filosof yang mengambil 2 supit, maka ada filosof yang harus menunggu sampai supit tersebut diletakkan.   Hal ini dapat diimplementasikan dengan wait dan signal.


Struktur data yang digunakan untuk penyelesaian permasalahan ini dengan semaphore
adalah
semaphore chopstick[5];
Dimana semua nilai array dinisialisasi 1.  Struktur program untuk filosof ke i adalah
 do {
  wait(chopstick[i])
  wait(chopstick[(i+1) % 5])
    …
    makan
    …
   signal(chopstick[i]);
  signal(chopstick[(i+1) % 5]);
    …
    berfikir
    …
 } while (1);


10).Sumber daya adalah istilah umum yang dapat merujuk pada setiap komponen dari sistem yang sanggup melakukan perkerjaan. contohnya, processor adalah sumber daya, begitu juga RAM dan disk. Sound card dan network card juga sumber daya walaupun tidak semua hardware adalah sumber daya
Sumber daya (resource): komoditas yg diperlukan oleh proses
 Sumber daya dapat berupa:
– serially reusable, contoh: CPU, memory, ruang disk perangkat I/O, file
– consummable – dibuat/ diperlukan oleh proses, contoh: pesan, buffer informasi, interrupt sumber daya habis setelah digunakan, karena itu tidak ada pelepasan sumberdaya


11).
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.

12).-Mutual Exclusion
Proses mengklaim akses eksklusif terhadap sumber daya yang mereka butuhkan
-Kondisi hold-and-wait
Proses yg dialokasikan satu sumber daya dapat meminta sumber daya lainnya
-Kondisi no-preemption
Sumber daya yang telah dialokasikan tidak dapat diambil dengan paksa
-Kondisi circular-wait
Berupa rantai sirkuler yg terdiri dari 2/lebih proses, masing-masing menunggu sumber daya yg dibutuhkan oleh proses lain pada rantai tersebut


13).--> Mencegah kondisi mutual exclusion
– penggunaan sumber daya secara eksklusif merupakan fitur penting utk sinkronisasi
– hindari pengalokasian sumber daya jika tidak benar-benar diperlukan
– usahakan sesedikit mungkin proses mengklaim sumber daya
– spooling sumber daya (mis. printer)
--> Mencegah kondisi hold-and-wait
– Proses harus meminta sumber daya sebelum mulai, tidak bisa mulai sebelum semua sumber daya
yg dibutuhkan diperoleh;
Masalah:
-Sumber daya yg diperlukan mungkin tdk diketahui pada saat proses mulai
-Mengikat sumber daya yg mungkin akan digunakan oleh proses lain
– Alternatif:
• Jika proses membutuhkan suatu sumber daya, lepaskan dulu semua sumber daya yg telah diperolehnya, setelah itu minta kembali semua yg dibutuhkan
--> Mencegah kondisi no-preemption
– Jika proses yg sdg mengakses sumber daya meminta sumber daya lain yg tdk bisa segera dialokasikan utknya, maka semua sumber daya yg sdg dialokasikan pd proses tsb harus dilepas
– Sumber daya yg di-preempted ditambahkan ke sumber daya yg ditunggu oleh proses
– Proses akan di-restart hanya jika proses tsb dpt memperoleh semua sumber daya yg dibutuhkan
– Masalah: dapat menimbulkan starvation
• Minta satu sumber daya pd satu saat; lepaskan sumber daya yg sedang diakses jika meminta sumber daya berikutnya
• Pengurutan sumber daya secara global
– Permintaan harus dilakukan secara terurut
– Req(sumberdaya1), req(sumberdaya2)..
– Mengapa tidak terjadi circular wait?
Pencegahan Deadlock: Two-Phase Locking
Fase 1
– Proses mencoba mengunci semua record yg diperlukan, satu per satu
– Jika record yg diperlukan dikunci, mulai kembali
– (tidak ada aktifitas riil yg dilakukan pd fase 1)
Jika fase 1 berhasil, mulai fase 2
– Lakukan update
– Lepaskan kunci
Mirip dgn meminta semua sumber daya sekaligus Algoritma berfungsi jika programmer dapat mengatur
– berhenti dan restart program

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

Penulis : Unknown ~ Sebuah blog yang menyediakan berbagai macam informasi

Artikel Sistem Operasi Mikrokomputer (4) ini dipublish oleh Unknown pada hari Rabu, 07 Maret 2012. Semoga artikel ini dapat bermanfaat.Terimakasih atas kunjungan Anda silahkan tinggalkan komentar.sudah ada 1comments: di postingan Sistem Operasi Mikrokomputer (4)
 

1 comments: