Anda di halaman 1dari 42

File –System

Implementation

BY :
-NISA USRIFATUL JANNAH
-NI MADE TARANITA A.
-AGUSTINUS RYAN WICAKCONO
-RIFKY YUNUS KRISNABAYU
 File adalah bagian penyimpan logika yang berisi sekumpulan informasi
yang saling berhubungan.
 File-System adalah struktur logika untuk mengendalikan akses terhadap
data dalam sebuah harddisk. Sistem file berada pada penyimpanan
sekunder yakni disk.
 File-System adalah cara manajemen data pada disk.
 Sebuah sistem operasi menyediakan satu atau lebih sistem file untuk
menyimpan dan membaca data.
Sebuah sistem operasi menyediakan satu atau lebih
sistem file untuk menyimpan dan membaca data.
Sistem file diterjemahkan ke dalam beberapa
tingkatan atau layer (hirarki).
 Logical file system merupakan lapisan yang
berhubungan dengan program.
 File-organization module merupakan lapisan
yang berisi tentang file, blok-blok logika, dan blok
fisik.
 Basic file system berisi perintah bagi perangkat
driver untuk membaca dan menulis blok fisik
pada sebuah disk.
 I/O Control berisi sebuah perangkat driver dan
penanganan interupsi. I/O control berfungsi
menghubungkan komunikasi antara perangkat
I/O dengan sistem lainnya.
File-System Implementation

Disk
 Boot control block  berisi informasi yang dibutuhkan oleh sistem
untuk menjalankan sistem operasi. Disk bisa dikatakan kosong jika
disk tidak mempunyai sistem operasi.
 Volume control block  berisi detail informasi mengenai partisi
seperti jumlah blok yang dipartisi, ukuran blok, jumlah blok kosong
dan FCB (file control block).
 Directory structure  digunakan untuk mengatur sebuah file.
 File control block  berisi mengenai detail tentang file seperti file
permission, ukuran, dan lokasi dari blok.
Memori
 Mount table berisi volume sistem file, tipe sistem file.
 In-memory directory-structure cache bertugas menyimpan
informasi yang baru diakses.
 System-wide open-file table berisi FCB dari setiap file yang dibuka
 Per-process open-file table memiliki pointer menuju entri tertentu
atau yang sesuai.
 Buffer untuk menyimpan sistem file kita sebuah disk sedang dibaca
atau ditulis
Partition and Mounting

 Partisi (partitions) adalah pembagian secara logis, namun secara


fisik tidak terbagi. Partisi pada sebuah harddisk menyebabkan kita
dapat menginstal lebih dari satu sistem operasi. Berdasarkan ada
atau tidaknya sistem file yang terlibat dalam partisi, partisi dibagi
menjadi 2 yakni “raw” dan “cooked”.
 “raw” jika tidak terdapat sebuah sistem file di dalamnya
 “cooked” jika terdapat sebuah sistem file dalam partisi.
 Mounting adalah proses mengaitkan sistem file yang baru
ditemukan pada sebuah piranti ke struktur direktori utama yang
sedang dipakai
Virtual File Systems

 Sistem operasi saat mampu mengimplementasikan berbagai sistem file


dengan tipe yang berbeda dalam waktu yang bersamaan. Sehingga
solusisanya adalah menggunakan Virtual File Systems (VFS).
 Dalam VFS terdapat common file model yang berguna untuk
merepresentasikan semua tipe sistem file. Berikut adalah 4 objek di
dalam common file model.
1. Inode object, berisi informasi tentang file tertentu
2. File object, berisi informasi tentang file yang sedang dibuka
3. Superblock object, berisi informasi tentang sistem file secara
keseluruhan
4. Dentry object, berisi informasi tentang individual directory entry
Virtual File Systems
Directory Implementation

 Merupakan penentu tingkat efisiensi dan performance suatu


system berkas
 Ada 2 macam algoritma
 Linear List
 Hash Table
Linear List

 Metode yang paling sederhana


 Menggunakan daftar linear nama file dengan pointer ke blok data
 Cara membuat file:
1. Memastikan tidak ada nama file yang sama
2. Berkas baru ditambahkan didalam akhir direktori
 Cara menghapus file:
1. Mencari nama file yang hendak dihapus
2. Membebaskan space yang dialokasikan
 Memiliki kerugian, yaitu file dicari didalam list
 Banyak Sistem Operasi yang mengimplementasikan software cache.
Hash Table

 Menggunakan linear list yang ditaruh didalam tabel


 Mengurangi directory search time
 Collisions – situasi dimana dua nama file yang di hash pada lokasi
sama
 Ukurannya tetap
Allocation Methods

 Kemudahan dalam mengakses suatu disk memberikan fleksibiltas


dalam mengimplementasikan sebuah berkas
 Tetapi muncul masalah utama, yaitu bagaimana mengalokasikan
berkas – berkas ke dalam disk?
 Jawaban tersebut ada didalam buku “Applied Operating System
Concepts: First Edition”
 Ada 3 Allocation methods, yaitu contiguous, linked dan indexed
Contiguous Allocation

 Metode ini menempatkan setiap berkas pada himpunan blok


yang berurut di dalam disk.
 Metode yang simple karena hanya membutuhkan block# (starting
location) dan number of block (length).
 Memiliki beberapa masalah seperti mencari space untuk file,
mengetahui ukuran file.
Linked Allocation

 Metode ini menyelesaikan semua masalah yang tedapat pada


contiguous allocation.
 Setiap file merupakan linked list dari blok – blok disk.
 Memiliki keuntungan seperti mudah digunakan dan menggunakan
blok kosong yang terdapat dalam daftar ruang kosong.
 Memiliki kerugian seperti hanya dapat digunakan secara efektif
untuk pengaksesan berkas secara sequential.
Indexed Allocation

 Setiap file memiliki index masing – masing didalam satu blok yang
disebut blok index
 Mendukung akses secara langsung, tanpa mengalami fragmentasi
eksternal
 Metode ini memiliki kerugian, yaitu indexed block berukuran lebih
Manajemen Free Space

 Untuk mencatat tempat kosong pada disk, sistem mempunyai daftar


tempat kosong (free space list). Daftar ini menyimpan semua blok disk
yang kosong yang tidak dialokasikan pada sebuah berkas atau direktori.
Untuk membuat berkas baru, sistem mencari ke daftar tersebut untuk
mencarikan tempat kosong yang di butuhkan, lalu tempat tersebut
dihilangkan dari daftar. Ketika berkas dihapus, alamat berkas tadi
ditambahkan pada daftar.
JENIS MANAJEMEN FREE SPACE

 Menggunakan Bit Vektor


- Tiap blok direpresentasikan sebagai 1 bit. Jika blok tersebut kosong maka isi
bitnya 1 dan jika bloknya sedang dialokasikan maka isi bitnya 0.
- Kelebihan:
1. relatif sederhana dan efisien untuk mencari blok pertama yang kosong atau
berturut-turut n blok yang kosong pada disk.
2. Banyak komputer yang menyediakan instruksi manipulasi bit
- Kelemahan:
1. tidak efisien kecuali seluruh vektor disimpan dalam memori utama (dan ditulis di
disk untuk kebutuhan pemulihan). Menyimpan dalam memori utama
dimungkinkan untuk disk yang kecil pada mikro komputer, tetapi tidak untuk disk
yang besar.
 Linked List
- menghubungkan semua blok yang kosong, menyimpan pointer ke blok
pertama yang kosong di tempat yang khusus pada disk dan
menyimpannya di memori.
- Kekurangan:
1. metode ini tidak efisien karena untuk traverse daftar tesebut kita perlu
membaca tiap blok yang membutuhkan waktu I/O
 Grouping
- menyimpan alamat dari n blok kosong pada blok kosong pertama. Pada
n-1 pertama dari blok-blok ini adalah kosong. Blok terakhir menyimpan
alamat n blok kosong lainnya dan seterusnya
- Kelebihan:
1. implementasi seperti ini adalah alamat dari blok kosong yang besar sekali
dapat ditemukan dengan cepat
 Counting
beberapa blok yang berkesinambungan akan dialokasikan atau
dibebaskan secara simultan. Maka dari itu dari pada menyimpan daftar
dari banyak alamat disk, kita dapat menyimpan alamat dari blok kosong
pertama dan jumlah dari blok kosong yang berkesinambungan yang
mengikuti blok kosong pertama.
 Space maps
kombinasi teknik, dimulai dengan membagi disk ke dalam (ratusan detik)
metaslabs yang dapat dikelola berbagai ukuran, masing-masing memiliki
peta ruang mereka sendiri.
Efisiensi dan Kinerja

 Efisiensi
- efisien tergantung dari teknik alokasi disk serta algoritma pembentukan
direktori yang digunakan.
- keefesiensian pada ukuran penunjuk yang digunakan untuk mengakses
data.
 Kinerja
- Meningkatkan kinerja ketika disk telah dipilih:
- cache, merupakan memori lokal pada pengendali disk, dimana cache
cukup besar untuk menampung seluruh track pada satu waktu.
- Free-behind memindahkan sebuah blok dari penyangga secepatnya
ketika blok berikutnya diminta.
- read ahead, blok yang diminta dan beberapa blok berikutnya dibaca
dan ditempatkan pada cache.
- membagi suatu seksi dari memori untuk disk virtual atau RAM disk
- Perbedaan antara RAM disk dan disk cache adalah dalam masalah siapa
yang mengendalikan disk tersebut. RAM disk dikendalikan oleh peng guna
sepenuhnya, sedangkan disk cache dikendalikan oleh sistem operasi.
Recovery

 memastikan bahwa kegagalan pada sistem tidak menyebabkan


hilangnya data atau data menjadi tidak konsiten.
Jenis recovery

 Pemeriksaan Rutin
 membandingkan data yang terdapat di struktur direktori dengan blok-
blok data pada disk, dan mencoba memperbaiki semua ketidak
konsistensian yang terjadi akibat crash-nya komputer. Algoritma
pengalokasian dan management ruang kosong menentukan tipe dari
masalah yang ditemukan oleh checker dan seberapa sukses dalam
memperbaiki masalah-masalah tersebut.
 Log-Structures File Systems
 menulis ke bagian yang tidak terpakai di dalam disk, dan kemudian
mengambil kembali ruang lama itu melalui pembersihan.
 Kelemahan dari pendekatan ini adalah bahwa ia menghasilkan garbage;
salinan data lama tersebar di seluruh disk, dan jika seseorang ingin
mengambil kembali ruang tersebut untuk penggunaan berikutnya,
seseorang harus membersihkan segmen lama secara berkala.
 Back Up and Restore
 menggunakan program sistem untuk mem-back up data dari disk ke alat
penyimpanan yang lain seperti floopy disk, magnetic tape, atau optical
disk. Pengembalian berkas-berkas yang hilang hanya masalah
menempatkan lagi data dari back up data yang telah dilakukan.
 Keuntungan dari siklus backup ini adalah kita dapat menempatkan
kembali berkas mana pun yang tidak sengaja terhapus pada waktu siklus
dengan mendapatkannya dari back up hari sebelumnya.
Network File System (NFS)

 Protokol yang digunakan untuk mengakses sistem berkas melalui jaringan


 Bekerja dengan sistem client-server
 Desain awal spesifikasi NFS dikhususkan untuk penggunaan dalam
jaringan lokal (LAN) dan tidak dioptimalkan untuk penggunaan dalam
WAN.
The Mount Protocol

 Protokol mount menetapkan koneksi logika awal antara server dan klien.
 Operasi mount mencakup nama direktori yang akan dipasang dan nama
mesin server yang menyimpannya. Permintaan mount dipetakan ke RPC
yang sesuai dan diteruskan ke server mount.
 Ketika server menerima permintaan mount yang sesuai dengan daftar
ekspornya, server memberikan ke klien file handle yang berfungsi sebagai
hak akses ke file dalam sistem file.
 File handle tersebut berisi semua informasi yang diperlukan server untuk
membedakan file-file yang disimpannya.
The NFS Protocol

 Protokol NFS menyediakan satu set RPC untuk operasi file yang
mendukung operasi berikut:
 Mencari file dalam direktori
 Membaca satu set entri direktori
 Memanipulasi tautan dan direktori
 Mengakses atribut file
 Membaca dan menulis file
 Fitur dari server NFS adalah stateless. Server tidak menyimpan informasi
tentang klien mereka dari satu akses ke yang lain
Path-Name Translation

 Path-Name Translation dalam NFS melibatkan parsing dari nama path


seperti /usr/local/dir1/file.txt ke dalam entri direktori terpisah, atau
komponen:
(1) usr, (2) lokal, dan (3) dir1.
 Path-Name Translation dilakukan dengan memecah path menjadi nama
komponen dan melakukan panggilan pencarian NFS terpisah untuk setiap
pasangan nama komponen dan direktori vnode
Remote Operations

 Ada dua cache:


cache file-atribut (inode-information) dan cache file-blok. Ketika file
dibuka, kernel memeriksa dengan server untuk menentukan apakah
atribut cahce yang akan diambil atau divalidasi ulang. Blok file yang di-
cache hanya digunakan jika atribut cache yang terkait sudah diperbarui.
Cache atribut diperbarui setiap kali atribut baru tiba dari server.
Example: The WAFL File System

sistem file WAFL adalah pohon blok dengan inode root sebagai basisnya.
Untuk mengambil snapshot, WAFL membuat salinan dari inode root. Setiap
file atau pembaruan metadata setelah itu pergi ke blok baru daripada
menimpa blok yang ada. Inode root baru menunjuk ke metadata dan
data berubah sebagai hasil dari penulisan ini. Sementara itu, snapshot
(inode root lama) masih menunjuk ke blok lama, yang belum diperbarui.
Oleh karena itu, ia menyediakan akses ke sistem file seperti pada saat
snapshot dibuat — dan mengambil sedikit ruang disk untuk
melakukannya. Intinya, ruang disk ekstra yang ditempati oleh snapshot
hanya terdiri dari blok yang telah dimodifikasi sejak snapshot diambil.
1.

Pertanyaan

1. Apa yang dimaskud dengan file sistem?


2. Apa yang dimaksud dengan inode?
3. Apa yang dimaksud dengan network file systems(NFS)?
4. Apa kegunaan index pada sebuah file system?
5. Jelaskan yang dimaksud dengan proses mounting?

TERIMA KASIH

Anda mungkin juga menyukai