4. Implementasi Sistem File
• Struktur Sistem File
• IImplementasi Sistem File
• Implementasi direktori
• Metode Alokasi
• Manajemen
• Ruang Bebas Efisiensi dan Kinerja
• Pemulihan
• Sistem File Log-Terstruktur
• NFS
• Contoh: Sistem Berkas WAFL
5. Tujuan :
• Untuk menjelaskan rincian penerapan sistem file
lokal dan struktur direktori
• Untuk menggambarkan implementasi sistem file
remote
• Untuk membahas alokasi blok dan algoritma blok
bebas dan trade-off
6. Struktur Sistem File
• Gambar berikut menggambarkan struktur sistem
berkas yang diperlukan yang disediakan oleh sistem
operasi.
• Gambar 12-3 (a) mengacu pada pembukaan sebuah
file.
• Gambar 12-3 (b) mengacu pada membaca sebuah file
10. Sistem Berkas Virtual
Sistem Berkas VirtualSistem Berkas VirtualSistem Berkas Virtual
• Virtual File Systems (VFS) menyediakan cara berorientasi obyek
untuk mengimplementasikan sistem file.
• VFS memungkinkan antarmuka panggilan sistem yang sama (API)
digunakan untuk berbagai jenis sistem file.
• API adalah antarmuka VFS, bukan tipe sistem file tertentu.
12. Implementasi direktori
• Linear list Nama file dengan pointer ke blok data.
- Mudah diprogram
- Memakan waktu untuk mengeksekusi
• Hash Table - Daftar linier dengan struktur data hash.
- Mengurangi waktu pencarian direktori
- collisions : situasi di mana dua nama file hash ke lokasi
yang sama
- ukuran tetap
13. Metode Alokasi
Metode alokasi mengacu pada
bagaimana blok disk dialokasikan
untuk file:
• Alokasi yang berdekatan
• Alokasi terkait
• Alokasi indeks
14. a. Alokasi yang berdekatan
• Setiap file menempati satu set blok bersebelahan
pada disk
• Lokasi sederhana - hanya blok (blok #) dan panjang
(jumlah blok) diperlukan
• Akses acak
• Pemborosan ruang (dynamic storage-allocation
problem)
• File tidak bisa tumbuh
15. Pemetaan dari logis ke fisik
LA/512
Q
R
Blokir untuk diakses =! + alamat
awal Perpindahan ke blok = R
17. Sistem Berbasis Luas
• Banyak sistem berkas yang lebih baru (I.e Veritas
File System) menggunakan skema alokasi
bersebelahan yang dimodifikasi
• Sistem file berbasis luas mengalokasikan blok disk
secara luas
• extent adalah blok disk yang bersebelahan
• Luas dialokasikan untuk alokasi file
• File terdiri dari satu atau lebih luasan.
18. b. Alokasi Yang Ditautkan
• Setiap file adalah daftar blok piringan yang terhubung: blok bisa
tersebar di manapun pada disk.
block =
pointer
19. Alokasi yang Ditautkan (Lanjutan)
• Sederhana - hanya perlu alamat awal
• Sistem manajemen ruang bebas - tidak ada pemborosan
ruang T
• Tidak ada akses acak
• Pemetaan
LA/511
Q
R
Blok yang akan diakses adalah blok Qth dalam rantai blok yang terkait yang
mewakili berkas.
Perpindahan ke blok = R + 1
Tabel alokasi file (FAT) - alokasi ruang disk yang digunakan oleh MS-DOS
dan OS / 2.
24. Alokasi indeks (Lanjutan)
• Butuh tabel indeks
•Akses acak
• Akses dinamis tanpa fragmentasi eksternal, namun memiliki overhead blok
indeks
• Pemetaan dari logis ke fisik dalam file dengan ukuran maksimal 256K kata dan
ukuran blok 512 kata. Kami hanya membutuhkan 1 blok untuk tabel indeks
LA/512
Q
R
Q = perpindahan ke tabel indeks
R = perpindahan ke blok
25. Alokasi Indeks – Pemetaan (lanjutan)
• Pemetaan dari logis ke fisik dalam file dengan panjang tak terbatas (ukuran
blok 512 kata).
• Skema Linked - Link blok tabel indeks (tidak ada batas ukuran).
LA / (512 x 511)
Q1
R1
Q1 = block of index table
R1 is used as follows:
R1 / 512
Q2
R2
Q2 = displacement into block of index table
R2 displacement into block of file:
26. Alokasi Indeks - Pemetaan (Lanjutan)
• Indeks dua tingkat (ukuran file maksimum adalah 5123)
LA / (512 x 512)
Q1
R1
Q1 = perpindahan ke luar-indeks
R1 digunakan sebagai berikut:
R1 / 512
Q2
R2
Q2 = perpindahan ke dalam blok tabel indeks
Perpindahan R2 ke dalam blok file:
28. Alokasi Indeks - Pemetaan (Lanjutan)
• Indeks dua tingkat (ukuran file maksimum adalah 5123)
LA / (512 x 512)
Q1
R1
Q1 = perpindahan ke luar-indeks
R1 digunakan sebagai berikut:
R1 / 512
Q2
R2
Q2 = perpindahan ke dalam blok tabel indeks Perpindahan
R2 ke dalam blok file:
30. Manajemen Ruang Bebas
…
0 1 2 n-1
bit[i] =
0 block[i] free
1 block[i] occupied
Penghitungan jumlah blok
(jumlah bit per kata) *
(jumlah kata 0-nilai) +
offset pertama 1 bit
31. Manajemen Ruang Bebas (Lanjutan)
• Peta bit membutuhkan ruang ekstra
Contoh:
ukuran blok = 212 byte
ukuran disk = 230 byte (1 gigabyte)
n = 230/212 = 218 bit (atau 32K byte)
• Mudah untuk mendapatkan file bersebelahan
• Daftar tertaut (daftar gratis)
• Tidak bisa mendapatkan ruang bersebelahan
dengan mudah
• Tidak ada pemborosan ruang
• Pengelompokan
•Perhitungan
32. Manajemen Ruang Bebas (Lanjutan)
• Perlu untuk melindungi:
• Pointer ke daftar gratis
• Peta bit
- Harus disimpan di disk S
- alin di memori dan disk mungkin berbeda T
- idak dapat membiarkan blok [i] memiliki situasi di mana bit [i] =
1 di memori dan bit [i] = 0 pada disK
• Larutan:
- Setel bit [i] = 1 dalam disk
- Alokasikan blok [i]
- Setel bit [i] = 1 di memori
34. Efisiensi dan Kinerja
• Efisiensi tergantung pada:
- Alokasi disk dan algoritma direktori
- Jenis data yang disimpan dalam entri direktori file
Performance
- Disk cache – separate section of main memory
for frequently used blocks
- Free-behind dan read-ahead - teknik untuk
mengoptimalkan akses sekuensial
- Meningkatkan kinerja PC dengan
mendedikasikan bagian memori sebagai disk
virtual, atau disk RAM
35. Halaman cache
• A page cache adlah halaman pada blok disk menggunakan
teknik memori virtual .
• Memory-mapped I /O menggunakan cache halaman
• Rutin I/O melalui sistem file menggunakan buffer (disk) cache
• Hal ini mengarah pada gambar berikut
37. Cache Buffer Terpadu
• Cache buffer terpadu menggunakan cache halaman yang sama
untuk menyimpan kedua halaman yang dipetakan memori dan
sistem berkas biasa I / O
39. Pemulihan
• Pemeriksaan konsistensi - membandingkan data dalam
struktur direktori dengan blok data pada disk, dan mencoba
memperbaiki inkonsistens
• Gunakan program sistem untuk membuat cadangan data
dari disk ke perangkat penyimpanan lain (floppy disk,
magnetic tape, magnetic disk, optical)
• Pulihkan file atau disk yang hilang dengan mengembalikan
data dari cadangan
40. Log Sistem File Terstruktur
• Log structured (atau journal) merekam setiap pembaruan ke
sistem file sebagai transaksi
• Semua transaksi ditulis ke log
•Transaksi dianggap dilakukan setelah ditulis ke log
•Namun, sistem berkas mungkin belum diperbarui
• Transaksi di log ditulis secara asynchronous ke sistem file
•Bila sistem berkas dimodifikasi, maka transaksi akan dihapus
dari log
•Jika sistem file macet, semua transaksi yang tersisa di log
tetap harus dilakukan
41. Sun Network File System (NFS)
• Implementasi dan spesifikasi sistem perangkat lunak untuk
mengakses file jarak jauh melintasi LAN (atau WAN)
• Implementasinya adalah bagian dari sistem operasi Solaris dan
SunOS yang berjalan di workstation Sun menggunakan protokol
datagram yang tidak dapat diandalkan (protokol UDP / IP dan
Ethernet
42. NFS (Lanjutan)
• Workstation yang saling berhubungan dipandang sebagai satu set mesin
independen dengan sistem file independen, yang memungkinkan pembagian di
antara sistem file ini secara transparan
•Direktori jarak jauh dipasang di atas direktori sistem file lokal
-Direktori yang di-mount tampak seperti subtree yang tidak terpisahkan
dari
sistem file lokal, menggantikan subtree yang turun dari direktori lokal
•Spesifikasi direktori remote untuk operasi mount tidak transparan; nama
host dari direktori remote harus disediakan
- File di direktori remote kemudian bisa diakses secara transparan
•Sesuai dengan akreditasi hak akses, berpotensi sistem berkas (atau direktori
dalam sistem file), dapat dipasang dari jauh di atas direktori lokal manapun.
43. NFS (Lanjutan)
• NFS dirancang untuk beroperasi di lingkungan heterogen dari
berbagai mesin, sistem operasi, dan arsitektur jaringan; spesifikasi
NFS tidak bergantung pada media ini
• Independensi ini dicapai melalui penggunaan primitif RPC yang
dibangun di atas protokol Representasi Data Eksternal (XDR) yang
digunakan antara dua antarmuka implementasi-independen.
• Spesifikasi NFS membedakan antara layanan yang diberikan oleh
mekanisme mount dan layanan akses-file-akses yang sebenarnya
46. NFS Mount Protocol
• Menetapkan koneksi logis awal antara server dan client
• Mount operation mencakup nama remote directory yang akan dipasang
dan nama mesin server menyimpannya
-Mount request dipetakan ke RPC yang sesuai dan diteruskan ke mount
server yang berjalan pada mesin server
-Daftar ekspor - menentukan sistem file lokal yang diekspor server
untuk dipasang, beserta nama mesin yang diizinkan untuk
memasangnya
•FSetelah permintaan mount yang sesuai dengan daftar ekspornya, server
mengembalikan pegangan file-kunci untuk akses lebih jauh
•ile handle - pengenal sistem file, dan nomor inode untuk mengidentifikasi
direktori yang terpasang dalam sistem file yang diekspor
•Operasi mount hanya mengubah tampilan pengguna dan tidak
mempengaruhi sisi server
47. Protokol NFS
• Menyediakan satu set panggilan prosedur jarak jauh untuk operasi file jarak jauh.
Prosedur mendukung operasi berikut:
-Mencari file dalam direktori
-membaca satu set entri direktori
-Memanipulasi link dan direktori
-mengakses atribut berkas
-Membaca dan menulis file
• Server NFS tidak memiliki kewarganegaraan; setiap permintaan harus menyediakan
satu set argumen lengkap
(NFS V4 baru saja tersedia - sangat berbeda, stateful)
• Data yang dimodifikasi harus berkomitmen pada disk server sebelum hasil
dikembalikan ke klien (kehilangan kelebihan caching)
• Protokol NFS tidak menyediakan mekanisme kontrol konkurensi
48. Tiga Lapisan Utama Arsitektur NFS
• Antarmuka sistem file UNIX (berdasarkan panggilan terbuka, baca, tulis, dan tutup,
dan deskriptor file)
• Lapisan Sistem File Virtual (VFS) - membedakan file lokal dari file jarak jauh, dan file
lokal selanjutnya dibedakan sesuai dengan jenis sistem file mereka.
-VFS mengaktifkan operasi spesifik sistem file untuk menangani permintaan lokal
sesuai dengan jenis sistem file mereka
- Memanggil prosedur protokol NFS untuk permintaan jarak jauh
• Lapisan layanan NFS - lapisan bawah arsitektur
-Mengimplementasikan protokol NFS
50. NFS Path-Name Translation
• Dilakukan dengan memecah jalan menjadi beberapa nama komponen dan
melakukan panggilan pencarian NFS terpisah untuk setiap pasangan nama
komponen dan vnode direktor
• Untuk membuat lookup lebih cepat, cache lookup nama direktori di sisi klien
menyimpan vnodes untuk nama direktori jarak jauh
51. Operasi Jarak Jauh NFS
• Hampir satu-ke-satu korespondensi antara reguler UNIX sistem panggilan dan
RPC protokol NFS (kecuali membuka dan menutup file)
• NFS menganut paradigma remote-service, namun menggunakan teknik buffering
dan caching demi kinerja
• File-blocks cache - ketika sebuah file dibuka, kernel akan mengecek dengan
remote server apakah akan mengambil atau merubuhkan ulang atribut cache
-Blok file dalam cache hanya digunakan jika atribut cache yang sesuai
mutakhir
• Cache atribut file - cache atribut diperbarui setiap kali atribut baru tiba dari
server
• Klien tidak membebaskan blok-blok yang tertunda sampai server
mengkonfirmasikan bahwa data telah ditulis ke disk
52. Contoh: Sistem Berkas WAFL
•Digunakan pada Perangkat Jaringan "Filers" - peralatan
sistem berkas terdistribusi
•"Write-anywhere file layout"
•Server NFS, CIFS, http, ftp
•Random I / O dioptimalkan, tulis dioptimalkan
-NVRAM untuk menulis caching
• Mirip dengan Berkeley Fast File System, dengan modifikasi
yang luas