Anda di halaman 1dari 22

Mata Kuliah:

Sistem Operasi

IMPLEMENTASI SISTEM FILE

Disusun Oleh :
Nama NIM
Syahril Sangrila Sumitro 1507055015
Irwan Ripansyah 1507055004
Yoseph Sianturi 15070550031
Niko Saputro P 1507055036
Jeri Triswanto 1507055048

Jurusan Ilmu Komputer


Fakultas Matematika Dan Ilmu Pengetahuan Alam
Universitas Mulawarman
2017
Komentar (di isi Oleh Dosen):

BAB 1
PENDAHULUAN
A. Latar Belakang

Salah satu bagian yang sangat tampak pada sebuah sistem operasi adalah sistem file. Banyak
program yang membaca atau menulis setidaknya pada sebuah file. Bagi kebanyakan
pengguna, performance dari sebuah sistem operasi sangat ditentukan oleh interface,
structure, dan reliability dari sistem file-nya. Hal ini disebabkan oleh kemampuan yang
dimiliki sistem file dalam menyediakan mekanisme penyimpanan secara online dan
pengaksesan isi file, yaitu data atau program. Sistem file terdapat pada secondary storage
yang dirancang agar mampu menampung data dalam jumlah yang besar secara permanen.

Setiap file yang telah kita simpan, dalam implementasinya membutuhkan sebuah struktur
direktori untuk mengaksesnya kembali. Sistem operasi harus mampu mengimplementasikan
sistem file dengan berbagai tipe yang berbeda. Pada bab ini akan dibahas bagaimana
penanganan yang dilakukan oleh sistem operasi. Bab ini juga membahas mengenai
implementasi sistem file, implementasi direktori, serta beberapa lapisan yang ada di file
system dan virtual file system.

B. Tujuan
- Untuk memahami bagaimana implementasi sistem file dan direktori

- Untuk memahami metode alokasi file dan direktori

- Untuk memahami bagaimana manajemen ruang bebas

- Untuk memahami bagaimana efisiensi dan performansi dari sistem file

- Untuk memahami perbaikan sistem file dari kegagalan sistem

- Untuk mengetahui beberapa sistem file seperti Log dan Network File Sistem

C. Manfaat

- Dapat memahami bagaimana implementasi sistem file dan direktori

- Dapat memahami metode alokasi file dan direktori


- Dapat memahami bagaimana manajemen ruang bebas

- Dapat memahami bagaimana efisiensi dan performansi dari sistem file

- Dapat memahami perbaikan sistem file dari kegagalan sistem

- Dapat Mengetahui beberapa sistem file seperti Log dan Network File Sistem

BAB II

PEMBAHASAN

2.1 STRUKTUR SISTEM FILE

Disk merupakan tempat penyimpanan sekunder dimana sistem file disimpan. Ada dua
karakteristik dalam penyimpanan banyak file, yaitu:

1. Sebuah disk dapat ditulis kembali, memungkinkan untuk membaca, memodifikasi,


dan menulis blok kembali pada tempat yang sama.

2. Sebuah blok yang menyimpan informasi yang kita cari, dapat diakses secara
langsung. Dalam aplikasinya, kita dapat mengakses file secara random maupun
sequential.

Sistem operasi menyediakan satu atau lebih sistem file untuk menyimpan dan
mengambil data dengan mudah. Struktur file itu sendiri terdiri dari beberapa layer.
Strukturnya dapat dilihat pada Gambar 1, Layered File System.
Gambar 1. Layered File System

Setiap level menggunakan feature-feature dari lapisan di bawahnya untuk digunakan


sebagai feature baru bagi lapisan di atasnya. Level terbawah adalah I/O control yang terdiri
dari beberapa device driver dan penanganan interupsi untuk memindahkan informasi antara
memori utama dan disk system. Device driver dapat dianggap sebagai penerjemah. Inputnya
terdiri dari perintah-perintah high level, misalkan "ambil blok 123". Outputnya berupa
instruksi-instruksi hardware yang lebih spesifik. Instruksi ini digunakan oleh pengendali
hardware yang menghubungkan I/O device dengan sistem lainnya.

Basic file system bertugas dalam hal menyampaikan perintah-perintah generic ke


device driver yang dituju untuk membaca dan menulis blok-blok fisik pada disk. Masing-
masing blok fisik diidentifikasi dengan alamat disknya.
File organization modul adalah lapisan dalam sistem file yang mengetahui tentang
file, blok-blok logis, dan blok-blok fisik. Dengan mengetahui tipe dan lokasi dari file yang
digunakan, file organization modul dapat menerjemahkan alamat blok logis ke alamat blok
fisik untuk selanjutnya diteruskan ke lapisan basic file system. File organization modul juga
mengandung free space manager yang mencatat jejak blok-blok yang tidak dialokasikan dan
menyediakannya ke file organization modul ketika dibutuhkan.

Lapisan yang terhubung dengan program aplikasi yaitu logical file system yang
bertugas dalam mengatur informasi metadata. Metadata meliputi semua struktur dari sistem
file, kecuali data sebenarnya (isi dari file). Lapisan ini juga mengatur struktur direktori untuk
menyediakan informasi yang dibutuhkan file organization modul. Struktur dari sebuah file
ditentukan oleh lapisan ini dengan adanya file control block.

2.2 FILE CONTROL BLOCK

Pada disk, sistem file bisa mengandung informasi mengenai bagaimana cara mem-
boot sistem operasi, jumlah total blok, jumlah dan lokasi dari free blocks, struktur direktori
dan file individu. Berikut ini penjelasan dari struktur-struktur tersebut.

Sebuah boot control block (per volume)

Mengandung informasi yang dibutuhkan oleh sistem untuk mem-boot sistem operasi
dari volume yang dimilikinya. Jika disk tidak mempunyai sistem operasi, blok disknya
bisa saja kosong. Pada UFS, ini disebut boot block, sedangkan pada NTFS, ini disebut
partition boot sector.

Volume control block (per volume)

Mengandung informasi khusus mengenai partisi, misalnya jumlah blok yang dipartisi,
ukuran blok, free block count dan free block pointer, free FCB count, dan FCB
pointer. Pada UFS, disebut superblock, dan pada NTFS, disimpan di tabel master file.
Directory structure per file system

Digunakan untuk mengorganisasi file. Pada UFS, struktur direktori ini meliputi nama
file serta jumlah inode yang terkait dan disimpan dalam tabel master file.

Per-file FCB

Mengandung semua informasi tentang file yaitu meliputi file permission,


kepemilikan, ukuran, dan lokasi dari blok data.

Informasi yang ada di dalam memori digunakan untuk pengaturan sistem file dan
peningkatan performance dengan caching. Berikut ini adalah penjelasan mengenai
strukturnya :

In-memory mount table mengandung informasi setiap volume yang di-mount.


In-memory directory structure cache menyimpan informasi direktori yang baru
diakses.
System-wide open file table menyimpan hasil copy FCB.

Untuk membuat file baru, program aplikasi memanggil logical file system karena
logical file system mengetahui format dari struktur direktori. Kemudian, FCB yang baru
dialokasikan dan sistem membaca direktori yang dituju ke memori, mengubahnya dengan
nama file, dan FCB yang baru menulisnya ke dalam disk. Contoh struktur FCB, bisa dilihat
pada Gambar 16.2, File Control Block
Gambar 2. File Control Block

Beberapa sistem operasi termasuk UNIX, memperlakukan file sama seperti direktori.
Sistem operasi yang lain, seperti Windows NT, mengimplementasikan system call yang
terpisah untuk file dan direktori, direktori diperlakukan sebagai objek yang berbeda dari file.

Pada tahap selanjutnya, logical file system memanggil file organization module untuk
memetakan direktori M/K ke disk-block number yang dikirimkan ke sistem file dasar dan
sistem kendali M/K.

Setelah file berhasil dibuat, file tersebut dapat digunakan untuk operasi M/K. Pertama,
tentu saja file tersebut harus dibuka terlebih dahulu. Perintah open() mengirim nama file ke
sistem file. System call open() mencari system-wide open-file table untuk melihat apakah file
yang ingin dibuka sedang digunakan oleh proses lain. Jika benar, maka entry dari per-process
open-file table menunjuk system-wide open-file table yang sedang eksis.

Ketika file sedang dibuka, nama file tersebut dicari dalam struktur direktori. Setelah
nama file ditemukan, FCB dari file tersebut disalin ke dalam system-wide open-file table di
memori. Pada tahapan selanjutnya, sebuah entry dibuat dalam per-process open-file table di
mana entry tersebut menunjuk ke system-wide open-file table. Semua bentuk operasi yang
melibatkan file dilakukan oleh pointer dari entry ini. Selama file tersebut belum ditutup,
semua operasi dari file dilakukan pada open-file table.
Ketika sebuah file ditutup, entry dari per-process table dihapus, dan jumlah entry dari
system-wide open-file table dikurangi. Ketika semua pengguna yang menggunakan file
menutup file tersebut, semua metadata yang telah diubah disalin kembali ke disk berdasarkan
struktur direktori, dan yang terakhir, entry dari system-wide open-file dihilangkan atau
dihapus. Gambar 3. Fungsi open Sebuah File mengilustrasikan pembukaan sebuah file.

Gambar 3. Fungsi open Sebuah File

Sedangkan pada Gambar 4, Reading a File mengilustrasikan pembacaan sebuah file.

Gambar 4. Reading a File


2.3 VIRTUAL FILE SYSTEM (VFS)

Sistem operasi modern harus mampu mengimplementasikan berbagai sistem file


dengan tipe yang berbeda dalam waktu yang bersamaan. Salah satu teknik yang digunakan
sebagai solusinya adalah dengan menggunakan virtual file system (VFS). VFS saat ini banyak
digunakan oleh berbagai sistem operasi. Ide dari VFS adalah meletakkan informasi di kernel
untuk merepresentasikan keseluruhan tipe sistem file, dan juga terdapat sebuah fungsi untuk
setiap operasi yang dimiliki sistem file. Sehingga, untuk setiap system call seperti fungsi
read(), write(), open(), dan lainnya, kernel akan mensubstitusikannya menjadi actual function
yang dimiliki oleh setiap sitem file dengan berbagai tipe.

VFS menggunakan konsep object oriented dalam mengimplementasikan sistem file.


Di dalam VFS terdapat sebuah file yang merepresentasikan seluruh tipe sistem file yang ada,
file ini dinamakan common file model. File inilah yang menggunakan konsep object oriented,
yang di dalamnya terdapat struktur data dan method yang diimplementasikan.

Terdapat empat objek di dalam common file model, diantaranya :

1. Superblock object. Objek ini menyimpan informasi tentang mounted file system atau
sistem file secara keseluruhan.

2. Inode object. Objek ini menyimpan informasi umum tentang file tertentu (individual
file).

3. File object. Objek ini menyimpan informasi tentang file yang sedang dibuka.

4. Dentry object. Objek ini menyimpan informasi tentang link-link dari sebuah entry
directory file.

Struktur data dan method yang diimplementasikan, digunakan untuk


menyembunyikan implementasi detail dari actual function pada sistem file dengan system
call yang mengaksesnya. Oleh karena itu, dalam mengimplementasikan sistem file, terdapat
tiga layer utama, seperti pada Gambar 5, Virtual File System Layer.
Gambar 5. Virtual File System Layer

Lapisan yang pertama adalah file system interface. Contohnya adalah beberapa system
call seperti read(), write(), open() dan lainnya. System call ini tidak berhubungan langsung
dengan sistem, namun terhubung melalui sebuah lapisan abstrak yaitu virtual file system.

Lapisan yang Kedua adalah VFS Interface. Virtual file system memiliki dua fungsi penting,
yaitu:

1. Memisahkan operasi-operasi file system generic dari implementasi detailnya, dengan


cara mendefinisikan virtual file system interface.

2. Virtual file system interface didasarkan pada struktur representasi file yang disebut
vnode, yang memiliki numerical designator yang unik untuk setiap network file.

Lapisan yang ketiga adalah sistem file dengan berbagai tipe. Secara umum, terdapat
tiga macam tipe sistem file, yaitu:
1. Disk-based file system. Sistem file ini mengatur ruang memori yang tersedia di
dalam partisi disk lokal. Misalnya, Ext2 (Second Extended file system), Ext3 (Third
Extended file system), dan Reiser file system yang tedapat di Linux.

2. Network file system. Sistem file ini terdapat di network, misalnya NFS.

3. Special file system. Sistem file ini tidak terdapat di disk space, baik lokal maupun
network, misalnya /proc file system.

2.4 IMPLEMENTASI SISTEM FILE

File berisi sekumpulan blok. Sistem manajemen file bertanggung jawab untuk alokasi
blok-blok disk ke file. Dua hal penting yang harus ditangani adalah pencatatan ruang yang
dialokasikan untuk file, pencatatan ruang bebas yang tersedia di disk. Sistem file meliputi
alokasi file, pencatatan ruang disk, shared file, kehandalan system file, serta kinerja sistem
file.

Masalah pokok dalam alokasi file adalah pencatatan blok-blok yang digunakan file.
Beragam metode dapat digunakan, diantaranya alokasi berturutan/kontigu (contigous
allocation). Teknik ini merupakan skema alokasi paling sederhana, yaitu menyimpan file
sebagai blok-blok data berturutan (kontigu) di disk.

Keunggulannya adalah sederhana dalam implementasi karena pencatatan dimana


blok-blok file berada direduksi menjadi hanya mengingat alamat awal file dan panjang file,
yaitu jumlah blok dari file. Kinerjanya luar biasa bagus Karena seluruh file dapat dibaca dari
disk dengan satu operasi. Tak ada metode alokasi lain yang dapat menandingi kinerja
pengaksesan. Keunggulan ini diperoleh karena rekord-rekord yang secara logik berturutan
biasanya juga saling berdekatan secara fisik.

Kelemahannya adalah Hanya bila ukuran maksimum diketahui pada saat file
diciptakan. Layak digunakan kecuali bila ukuran maksimum diketahui pada saat file
diciptakan. Tanpa informasi itu, sistem operasi tidak mengetahui berapa banyak ruang disk
yang digunakan untuk suatu file. Kelemahan lain adalah Terjadi fragmentasi disk.
Fragmentasi disk dapat dihasilkan metode alokasi ini, ruang yang disiakan seharusnya dapat
digunakan.

Metode kedua adalah alokasi blok-blok file sebagai senarai berkait yang mencatat
blok-blok file dengan senarai berkait blok-blok didisk. Word pertama di blok data sebagai
pointer ke blok berikutnya, sisanya untuk menyimpan data. Skema ini disebut rantai blok
(block chaining) karena blok pertama merantai blok kedua, blok kedua merantai blok ketiga,
dan seterusnya. Blok sebelumnya merantai blok berikutnya. Direktori mencatat blok pertama
file.

Keunggulan metode ini adalah Setiap blok di disk dapat digunakan. Tak ada ruang
yang hilang karena fragmentasi eksternal. Isian/elemen direktori cukup menyimpan alamat
blok pertama file.

Kelemahannya adalah Pembacaan sekuen cukup merepotkan karena harus menelusuri


blok satu per satu. Blok data tidak lagi berukuran 2k, karena pointer memerlukan beberapa
byte. Masalah ini tidak fatal. Ukuran yang janggal (bukan berukuran 2k) kurang efisien
karena program membaca dan menulis blok tidak dapat memanfaatkan sifat bilangan biner.
Metode ketiga adalah alokasi blok-blok sebagai senarai berkait menggunakan indeks (FAT).
Kelemahan alokasi senarai berkait dieliminasi dengna menghilangkan pointer di blok dan
meletakkan sebagai tabel tersendiri di memori. Seluruh blok tersedia untuk data. Skema ini
disebut block oriented file mapping. Tabel yang mencatat nomor blok data disebut FAT (File
Allocation Table).

Keunggulan metode ini adalah pengaksesan acak lebih mudah. Meski masih harus
menelusuri rantai berkait untuk menemukan lokasi blok file, rantai blok seluruhnya di
memori sehingga dapat dilakukan secara cepat tanpa membuat pengaksesan ke disk. Direktori
cukup menyimpan bilangan bulat nomor blok awal. Blok awal ini digunakan untuk
menemukan seluruh blok, tak peduli jumlah blok file itu. Direktori menunjuk blok pertama
file dan FAT menunjukkan blok-blok file berikutnya.

Kelemahannya adalah seluruh tabel (FAT) harus disimpan di memori. Jika


penyimpanan berukuran besar mengakibatkan tabel berukuran besar dan harus ditaruh di
memori utama meskipun hanya satu file yang dibuka. MS-DOS menggunakan metode ini.
2.5 IMPLEMENTASI DIREKTORI
Isian direktori menyediakan informasi untuk menemukan blok-blok disk. Informasi
isian direktori bergantung sistem pencatatan blok-blok yang digunakan. Informasi ini dapat
berupa alamat disk dari seluruh file, nomor blok pertama atau i-node. Implementasi direktori
tebagi dua jenis yaitu implementasi direktori linier dan implementasi direktori hash.

a. Implementasi Direktori Linier

Pemilihan algoritma untuk pencarian sebuah direktori merupakan salah satu penentu
tingkat efisiensi dan performance suatu sistem file. Salah satu algoritma itu adalah
implementasi direktori linier. Algoritma ini merupakan algoritma yang paling sederhana
dalam pembuatan program yang mengimplementasikan linier list dari nama-nama file
yang memiliki pointer ke blok-blok data. Namun, algoritma ini tidak efisien apabila
digunakan pada suatu direktori yang memiliki jumlah file yang sangat banyak karena
proses eksekusi file membutuhkan waktu yang lama. Misalnya, untuk membuat file, kita
harus memastikan bahwa dalam direktori tidak ada file yang mempunyai nama yang sama.
Kemudian, file yang baru tersebut ditambahkan pada akhir direktori tersebut. Untuk
menghapus sebuah file, kita mencari terlebih dahulu nama file yang hendak dihapus dalam
direktori, kemudian membebaskan space yang dialokasikan pada file tersebut. Apabila kita
menginginkan untuk menggunakan kembali entry file tersebut, ada beberapa alternatif
yang bisa kita gunakan, yaitu:

1. kita bisa menandai file tersebut misalnya melalui pemberian nama file yang khusus
pada file tersebut.

2. Kedua, kita bisa menempatkan file tersebut pada sebuah list of free directory entries.

3. alternatif yang ketiga adalah dengan menyalin entry terakhir dalam direktori ke suatu
freed location.

Salah satu kerugian yang ditimbulkan dalam penggunaan algoritma ini adalah
pencarian file dilakukan secara linier search. Oleh karena itu, banyak sistem operasi yang
mengimplementasikan sebuah software cache yang menyimpan informasi tentang direktori
yang paling sering digunakan, sehingga pengaksesan ke disk bisa dikurangi. File-file yang
terurut dapat mengurangi rata-rata waktu pencarian karena dilakukan secara binary search.
Namun, untuk menjaga agar file-file selalu dalam keadaan terurut, pembuatan maupun
penghapusan file akan lebih rumit. Struktur data tree seperti B-tree bisa digunakan untuk
mengatasi masalah ini.

b. Implementasi Direktori Hash

Pada implementasi ini, linier list tetap digunakan untuk menyimpan direktori, hanya
saja ada tambahan berupa struktur data hash. Prosesnya yaitu hash table mengambil nilai
yang dihitung dari nama file dan mengembalikan sebuah pointer ke nama file yang ada di
linier list. Oleh karena itu, waktu pencarian file bisa dikurangi. Akan tetapi, ada suatu
keadaan yang menyebabkan terjadinya peristiwa collisions, yaitu suatu kondisi di mana
terdapat dua file yang memiliki nilai hash yang sama, sehingga menempati lokasi yang
sama. Solusi yang dipakai untuk mengatasi hal tersebut yaitu dengan menggunakan
chained-overflow hash table, yaitu setiap hash table mempunyai linked list dari nilai
individual dan crash dapat diatasi dengan menambah tempat pada linked list tersebut. Efek
samping dari penambahan chained-overflow tersebut adalah dapat memperlambat
pencarian.

Ada beberapa kelemahan dari implementasi direktori hash, yaitu ukurannya yang
tetap dan adanya ketergantungan fungsi hash dengan ukuran hash table. Sebagai contoh,
misalnya kita membuat sebuah linear-probing hash table yang memiliki 32 entry. Sebuah
fungsi hash dibutuhkan untuk mengubah nama file menjadi bilangan bulat dari 0 s.d. 31,
misalnya dengan menggunakan fungsi modulo 32. Jika kita ingin untuk menambahkan
sebuah file yang harus diletakkan pada lokasi yang ke-33, kita harus memperbesar ukuran
dari hash table tersebut, sehingga diperlukan sebuah fungsi hash baru untuk disesuaikan
dengan ukuran hash table tersebut. Oleh karena itu, file-file yang sebelumnya sudah
ditempatkan di suatu lokasi pada hash table yang lama harus dicari tempat yang
bersesuaian dengan menggunakan fungsi hash yang baru.
2.6 METODE ALOKASI

Metode alokasi berhubungan dengan bagaimana blok-blok pada disk dialokasikan


untuk file. Terdapat beberapa metode alokasi antara lain alokasi berurutan (contiguous
allocation), alokasi berhubungan (linked allocation) dan alokasi berindeks (indexed
allocation).

a. Alokasi Berurutan (Contiguous Allocation)


Pada alokasi berurutan, setiap file menempati sekumpulan blok yang berurutan pada
disk (Gambar 6). 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.

Gambar 6. Alokasi Berurutan

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.

b. Alokasi Berhubungan (Linked Allocation)


Pada alokasi berhubungan, setiap file adalah sebuah linked list dari blok-blok terpisah
pada disk (Gambar 7). Pada setiap blok terdapat satu pointer yang menunjuk ke blok lain.
Gambar 7. Alokasi Berhubungan

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 Gystem file
yang menggunakan alokasi berhubungan adalah file-allocation table (FAT) yang digunaka
MS-DOS dan OS/2. Bentuk file allocation tabel dapat dilihat pada Gambar 8.

Gambar 8. File Allocation Table

c. Alokasi Berindeks (Indexed Allocation)


Pada alokasi berindeks, terdapat satu blok yang berisi pointer ke blok-blok file (Gambar
9). Alokasi berindeks berupa bentuk logika.
Gambar 9. Alokasi berindeks

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). 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. Sistem operasi UNIX
mengimplementasikan kombinasi alokasi berurutan dan alokasi berindeks seperti pada
Gambar 11.
Gambar 10. Skema two level indeks

Gambar 11. Alokasi Pada UNIX


2.7 MANAJEMEN RUANG BEBAS

Daftar ruang bebas biasanya diimplementasikan sebagai bit map atai bit vector
(vektor bit). Setiap blok direpresentasikan dengan 1 bit. Jika blok bebas, maka bit bernilai 1,
sebaliknya jika blok dialokasikan, bit bernilai 0. Sebagai contoh, misalnya disk dengan blok
2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 17, 18, 25, 26 dan 27 bebas dan sisanya dialokasikan. Maka bit
map dari ruang bebas adalah :
001111001111110001100000011100000
Perhitungan nomor blok yang bebas adalah sebagai berikut :
(jumlah bit per word) * (jumlah nilai-0 word) + offset dari bit 1 pertama Pemetaan bit
biasanya membutuhkan ruang tambahan, misalnya ukuran blok =
212 byte, ukuran disk = 230 byte (1 gigabyte) maka
n = 230/212 = 218 bit (atau 32K byte)

Dengan menggunakan vector bit mudah untuk mendapatkan file yang berurutan.
Pengembangan dari vector bit adalah dengan menggunakan linked list (free list) seperti
Gambar 12. Akan tetapi model ini tidak mendapatkan ruang berurutan dengan mudah
meskipun tidak memakan tempat. Modifikasi berikutnya melakukan pengelompokan blok
yang bebas agar lebih mudah untuk mendapakan ruang yang berurutan.
2.8 EFISIENSI DAN PERFOMANSI
Efisiensi penggunaan ruang disk tergantung pada alokasi disk dan algoritma directori
serta tipe data disimpan pada entry direktory dari file. Untuk meningkatkan performansi
penggunaan ruang disk digunakan disk cache yang digunakan pada bagian terpisah dari main
memory untuk penggunaan blok yang sering. Selain itu juga menggunakan teknik untuk
optimasi akses berurutan yang disebut free-behind dan read-ahead. teknik untuk optimasi
akses berurutan. Untuk meningkatkan performansi PC juga dapat menggunakan bagian
tertentu dari memory sebagai virtual disk atau RAM disk.
Gambar 12 : Menghubungkan daftar ruang bebas pada disk

2.9 RECOVERY
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.

2.10 SISTEM FILE LOG STRUCTURED


Sistem file Log structured (atau journaling) menyhimpan semua update ke file
sistem sebagai transaksi. Semua transaksi ditulis ke log. Sebuah transaksi dijadikan
committed jika ditulis ke log. Tetapi, kemngkinan sistem file tidak diupdate.
Transaksi pada log ditulis secara tidak beraturan ke sistem file. Jika sistem file dimodifikasi,
transaksi dihapus dari log. Jika file bertabrakan, semua transaksi yang tersisa pada log harus
dibentuk.

2.11 NETWORK FILE SYSTEM (NFS)


Network file system adalah implementasi dan spesifikasi dari sistem perangkat lunak
untuk mengakses remote files melalui LAN (atau WAN). NFS merupakan bagian dari Solaris
and SunOS yang berjalan pada Sun workstations menggunakan unreliable datagram protocol
(UDP/IP) protocol dan Ethernet.
Workstation yang saling berhubungan dipandang sebagai mesin independent dengan
file sistem yang independent, memungkinkan sharing diantara sistem file secara transparan.
Directory remote di-mount ke directory sistem file lokal. Mounted directory terlihat sebagai
subtree dari sistem file lokal, mengubah subtree secara descending dari directory lokal.
Spesifikasi dari remote directory untuk operasi mount tidak transparant; host name dari
remote directory harus disediakan. File pada remote directory dapat diakses secara
transparant. Subyek ke akreditasi akses yang benar, sembarang sistem file (atau directory
dalam sistem file), dapat di-mount secara remote ke top dari sembaran directory lokal.

NFS didesain untuk operasi pada lingkungan heterogen dari mesin, SO dan arsitektur
network yang berbeda; spesifikasi NFS tidak tergantung dari media tersebut. Ketidak
tergantungan dilakukan melalui penggunaan RPC pada bagian tertinggi dari protokol
External Data Representation (XDR) yang digunakan antara 2 antarmuka independent.
Spesifikasi NFS berbeda antara layanan tersedia dengan mekanisme mount dan layanan akses
file remote actual.

Misalnya terdapat tiga file sistem yang independent seperti Gambar 13. Kemudian
dilakukan mount dengan NFS maka file sistem hasil seperti Gambar 14.

Gambar 13 : Tiga sistem file yang independen

Gambar 10-12 : Mounting pada NFS


Daftar Pustaka

Ariyus, Dony,2005, kamus hacker, Andi offset, Yogyakarta

Bob DuCharme, 2001, The Operating System Handbook or, Fake Your Way Through
Minis and Mainframes Singapore: McGraw-Hill Book Co

Bill Venners.1998. Inside the Java Virtual Machine . McGraw-Hill.

th
Deitel, Harvey M, 2004 operating systems 3 Edition, Massachusetts: Addison-Wesley
Publshing Company

Gary B. Shelly, 2007, Discovering Computers: Fundamentals Thomson

Gollmann, Dieter,1999 Computer Security Jhon Willey & Son Inc, Canada

Grosshans,D. 1986, File system: design and implementation, Englewwod Cliffs, New
Jersey : Prentice-Hall Inc.

Jean Bacon, Tim Harris, 2003 Operating Systems: Concurrent and Distributed Software
Design Massachhussets. Addison Wesley

Anda mungkin juga menyukai