4 File-System Performance
Teknik yang paling umum digunakan untuk mengurangi akses disk adalah cache blok atau cache buffer.
Cache adalah kumpulan blok yang secara logis termasuk dalam disk tetapi disimpan dalam memori karena
alasan kinerja.
Berbagai algoritma dapat digunakan untuk mengelola cache, tetapi yang umum adalah memeriksa semua
permintaan yang dibaca untuk melihat apakah blok yang diperlukan ada dalam cache. Jika ya, permintaan
baca dapat dipenuhi tanpa akses disk. Jika blok tidak dalam cache, itu pertama kali dibaca ke cache dan
kemudian disalin ke mana pun itu diperlukan. Permintaan selanjutnya untuk blok yang sama dapat dipenuhi
dari cache
Beberapa sistem operasi mengintegrasikan cache buffer dengan cache halaman. Ini sangat menarik ketika
file yang didukung memori didukung. Jika sebuah file dipetakan ke dalam memori, maka beberapa
halamannya mungkin ada di dalam memori karena permintaan-permintaan itu masuk. Halaman-halaman
semacam itu hampir tidak berbeda dari blok-blok file di dalam buffer cache. Dalam hal ini, mereka dapat
diperlakukan dengan cara yang sama, dengan satu cache untuk kedua blok file dan halaman.
Block Read Ahead
Teknik kedua untuk meningkatkan kinerja file-sistem yang dirasakan adalah mencoba memasukkan blok
ke cache sebelum diperlukan untuk meningkatkan hit rate. strategi read-ahead ini hanya berfungsi untuk
file yang benar-benar sedang dibaca secara berurutan. Jika file sedang diakses secara acak, read-ahead tidak
membantu. Untuk melihat apakah read-ahead layak dilakukan, sistem file dapat melacak pola akses ke
setiap file yang terbuka. Misalnya, sedikit yang terkait dengan setiap file dapat melacak apakah file dalam
'' mode akses sekuensial '' atau '' mode akses acak. '' Awalnya, file tersebut diberikan manfaat dari keraguan
dan dimasukkan ke dalam mode akses sekuensial. Jika membaca berurutan mulai terjadi lagi, bit diatur
sekali lagi. Dengan cara ini, sistem file dapat membuat tebakan logic tentang apakah itu harus read-ahead
atau tidak. Jika terjadi kesalahan mungkin hanya sedikit bandwidth disk yang terbuang.
Defragmenting Disk
File yang telah dibuat dan dihapus dan biasanya disk menjadi sangat terpecah, dengan file dan lubang di
semua tempat. Sebagai akibatnya, ketika file baru dibuat, blok-blok yang digunakan untuknya dapat
menyebar ke seluruh disk, memberikan kinerja yang buruk. Kinerja dapat dipulihkan dengan memindahkan
file di sekitar untuk membuat mereka berdekatan dan untuk menempatkan semua (atau setidaknya sebagian
besar) dari ruang kosong di satu atau lebih daerah bersebelahan besar pada disk.
Windows memiliki program, defrag, yang melakukan hal ini. Pengguna Windows harus menjalankannya
secara teratur, kecuali pada SSD. Defragmentasi bekerja lebih baik pada sistem file yang memiliki banyak
ruang kosong di wilayah yang berdekatan di akhir partisi. Ruang ini memungkinkan program defragmentasi
untuk memilih file yang terfragmentasi dekat awal partisi dan menyalin semua bloknya ke ruang kosong.
Proses ini kemudian dapat diulang dengan potongan ruang disk berikutnya, dll.
Beberapa file tidak dapat dipindahkan, termasuk file paging, file hibernasi, dan jurnal jurnal, karena
administrasi yang diperlukan untuk melakukan ini lebih banyak masalah daripada yang seharusnya dan
pengguna ingin mengurangi ukuran partisi. Satu-satunya cara untuk memecahkan masalah ini adalah
dengan menghapusnya sama sekali, mengubah ukuran partisi, dan kemudian membuatnya kembali
setelahnya.
EXAMPLE FILE SYSTEMS
MS-DOS File System
Untuk membaca file, program MS-DOS harus terlebih dahulu membuat panggilan sistem terbuka.
Panggilan sistem terbuka menentukan jalur, yang mungkin baik absolut atau relatif ke direktori. Jalur
mencari komponen komponen hingga direktori terakhir dan membaca ke dalam memori. Kemudian
mencari file yang akan dibuka.
Meskipun direktori MS-DOS berukuran variabel, mereka menggunakan entri direktori 32-byte File read-
only tidak dapat ditulis., untuk melindungi mereka dari kerusakan yang tidak disengaja. Bit yang diarsipkan
tidak memiliki fungsi sistem operasi Tujuannya adalah untuk memungkinkan program arsip tingkat
pengguna untuk menghapusnya setelah mengarsipkan file dan agar program lain mengaturnya saat
memodifikasi file Bit tersembunyi dapat diatur untuk mencegah file dari muncul dalam daftar direktori.
Penggunaan utamanya adalah untuk menghindari membingungkan pengguna pemula dengan file yang
mungkin tidak mereka pahami.
MS-DOS menyimpan ukuran file sebagai angka 32-bit, sehingga dalam file secara teori bisa sebesar 4 GB.
Namun, batasan lain membatasi ukuran file maksimum hingga 2 GB atau kurang. Bagian entri yang sangat
besar (10 byte) tidak digunakan.
MS-DOS melacak blok file melalui tabel alokasi file di memori utama. Entri direktori berisi nomor blok
file pertama. Nomor ini digunakan sebagai indeks ke entri FAT 64K di memori utama. MS-DOS
menggunakan FAT untuk melacak blok disk kosong. Blok apa pun yang saat ini tidak dialokasikan ditandai
dengan kode khusus. Ketika MS-DOS membutuhkan blok disk baru, ia mencari FAT untuk entri yang berisi
kode ini. Jadi tidak ada bitmap.
SO 9660 mendefinisikan apa yang disebut tiga level. Level 1 adalah yang paling ketat dan menetapkan
bahwa nama file dibatasi hingga 8 + 3 dan juga mengharuskan semua file untuk bersebelahan. Level 2
merupakan batasan panjang. Level 3 menggunakan batasan nama yang sama dengan level 2, tetapi sebagian
merelaksasi asumsi bahwa file harus bersebelahan.
Ekstensi dengan nama Rock Ridge. Ekstensi menggunakan Sistem untuk membuat CD-ROM Rock Ridge
dapat dibaca di komputer mana pun. Ekstensi dibagi ke dalam bidang-bidang berikut:
Microsoft menciptakan beberapa ekstensi yang disebut Joliet. Mereka dirancang untuk memungkinkan
sistem file Windows untuk disalin ke CD-ROM dan kemudian dipulihkan, dengan cara yang persis sama
bahwa Rock Ridge dirancang untuk UNIX. Hampir semua program yang berjalan di bawah Windows dan
menggunakan CD-ROM mendukung Joliet, termasuk program yang bisa burn CD-recordable. Biasanya,
program-program ini menawarkan pilihan antara berbagai level ISO 9660 dan Joliet. Ekstensi utama yang
disediakan oleh Joliet adalah:
1. Nama file panjang.
2. Set karakter Unicode.
3. Direktori bersarang lebih dari delapan level.
4. Nama direktori dengan ekstensi