Sistem Komputer - Implementasi
Implementasi sistem file
File berisi sekumpulan blok. Sistem manajemen file bertanggungjawab 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 :
a. Alokasi file.
Masalah pokok 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.
Keunggulan :
Metode ini 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.
Kelemahan :
- 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.
- Terjadi fragmentasi disk.
Fragmentasi disk dapat dihasilkan metode alokasi ini, ruang yang disiakan
seharusnya dapat digunakan.
Pada lingkungan dimana file berkembang dan mengkerut setiap saat, alokasi
kontigu sulit diterapkan :
- Pemakai biasanya berlebihan dalam memperkirakan ruang yang diperlukan,
menyebabkan banyak pemborosan.
- Ketika file berkembang lebih besar dari slot yang dialokasikan, file harus
ditransfer ke lokasi baru dapat memuat. Pemindahan memerlukan usaha besar
yang mengkonsumsi banyak waktu komputasi.
Meskipun teknik ini banyak kelemahan, tetapi sangat cocok untuk sistem yang
memerlukan pengaksesan data didisk yang sangat cepat. Contohnya, sistem
jaringan dan sistem waktu nyata (real time).
Alokasi blok-blok file sebagai senarai berkait.
Metode kedua adalah 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 :
- Setiap blok didisk dapat digunakan.
- Tak ada ruang yang hilang karena fragmentasi eksternal.
- Isian/elemen direktori cukup menyimpan alamat blok pertama file.
Kelemahan :
- 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.
Alokasi blok-blok sebagai senarai berkait menggunakan index (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 :
- 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.
Kelemahan :
- 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.
Penggunaan : MS-DOS menggunakan metode ini.
b. Pencatatan ruang disk yang bebas.
Dapat dilakukan dengan :
- Berurutan.
Cara ini mempunyai masalah bila file berkembang dan ruang berikutnya telah
ditempati file lain.
- Fixed block.
Perkembangan file dapat diatasi tapi menentukan ukuran blok merupakan hal
sulit.
Blok-blok bebas yang belum digunakan pada disk harus dicatat sehingga dapat
dilakukan alokasi blok-blok ke file yang memerlukan. Teknik pencatatan blok-blok
bebas dapat dilakukan dengan :
- Peta bit.
- Senarai berkait.
Peta bit memerlukan ruang pencatatan lebih kecil karena tiap blok hanya
dipresentasikan 1 bit, sementara senarai berkait memerlukan 16 bit perblok.
Senarai berkait lebih kecil dibanding peta bit hanya jika disk telah hampir penuh.
c. Shared file.
Adalah file yang tidak hanya diacu satu direktori, juga oleh direktori-direktori lain.
Sistem manajemen file tidak lagi berupa pohon melainkan graph berarah tak
melingkar (DAG=directed acyclic graph).
Shared file dapat diimplementasikan dengan tiga teknik, yaitu :
- Membuat pengkopian.
File yang dipakai bersama dikopi ke masing-masing direktori pemakai.
Keunggulan :
- Sederhana.
- Terdapat redundansi, sehingga kerusakan satu kopian masih tersedia
kopian-kopian lain.
Kelemahan :
- Perubahan yang dibuat satu pemakai tidak akan terlihat pemakai-pemakai
lain. Kelemahan ini merupakan masalah fatal, memerlukan satu mekanisme
penjagaan integritas yang rumit.
- Penggunaan ruang disk sangat besar karena duplikasi atau pengkopian
file-file yang sama.
Penggunaan :
- Dapat diterapkan pada sistem jaringan secara hati-hati agar
memperkecil lalu lintas komunikasi. Penerapan terutama pada file-file
acuan yang jarang diperbarui.
I-node.
Blok-blok disk file dipakai bersama tidak didaftarkan di direktori melainkain di
struktur kecil diasosiasikan dengan file. Direktori pemakai-pemakai lain cukup
menunjuk struktur itu. Struktur data kecil tersebut adalah i-node.
Keuntungan :
- Tidak terdapat banyak kopian.
- Modifikasi oleh satu pemakai akan terlihat pemakai lain.
- Tidak memerlukan mekanisme penjagaan integrasi yang rumit.
Kelemahan :
- Jika sistem menghapus file dan juga memberikan i-node maka direktori
pemakai lain akan menunjuk i-node tidak absah.
- Jika i-node kemudian diberikan ke file lain maka akan menunjuk ke file yang
baru, file yang tidak dimaksud.
Penggunaan :
- Pendekatan ini digunakan UNIX, disebut hard-link.
Symbolic link.
Sistem membuat file bertipe link (kaitan) berisi jalur yang dikaitkan di direktori.
Ketika file bertipe link dibaca maka sistem operasi mengetahui bahwa file yang
harus dibaca adalah nama file yang ditunjuk file tipe link. Sistem mencari
direktori yang memuat i-node file itu.
Kelemahannya:
- Tidak terdapat pada teknik symbolic link karena hanya pemilik file yang
mempunyai penunjuk ke i-node file.
Keuntungan :
- Symbolic linking dapat digunakan men-links file di mesin manapun.
- Bila symbolic linking dihilangkan, tidak menimbulkan efek apapun
pada file.
Kelemahan :
- File yang berisi jalur haris dibaca. Jalur diparse dan diikuti komponen demi
komponen sampai dicapai i-node. Semua aktivitas ini memerlukan sejumlah
pengaksesan disk.
- Pemborosan lain adalah diperlukan satu i-node ekstra untuk setiap
symbolic linking.
Penggunaan :
- Pendekatan ini digunakan UNIX, disebut symbolic link.
Pengaksesan pada shared file
Sistem manajemen file harus menyediakan alat bantu agar mengijinkan
pemakaian file bersama pemakai-pemakai, menyediakan sejumlah pilihan teknik
pengendalian pengaksesan file bersama. Biasanya, pemakai atau sekelompok
pemakai diberi wewenang hak pengaksesan tertentu terhadap file itu.
Hak-hak akses sangat beragam. Berikut adalah daftar hak-hak pengaksesan ke
pemakai terhadap file :
- None.
Pemakai tidak mengetahui keberadaan file. Batasan ini dilakukan dengan
pemakai tidak diijinkan membaca direktori.
- Knowledge.
Pemakai dapat mengetahui keberadaan file dan pemiliknya. Bila perlu,
pemakai dapat meminta peningkatan hak akses file dengan mengirim pesan ke
pemilik file. Pemilik file dapat mengendalikan yaitu berkuasa penuh untuk
mengubah hak akses ataupun tidak.
- Execution.
Pemakai dapat memuatkan file dan mengeksekusi program tapi tidak dapat
mengkopinya. Program-program khusus sering hanya dapat diakses dengan
batasan ini.
- Reading.
Pemakai dapat membaca file untuk tujuan tertentu, termasuk pengkopian dan
eksekusi. Beberapa sistem dapat memaksakan pembedaan antara sekedar
melihat dan mengkopi. Pada aktivitas pertama,isi file dapat ditampilkan ke
pemakai tapi pemakai tidak mempunyai cara untuk mengkopinya.
- Appending.
Pemakai dapat menambah data ke file, sering hanya di akhir file.
Pemakai tidak dapat memodifikasi atau menghapus suatu isi file.
Hak ini berguna dalam mengumpulkan data dari sejumlah sumber dengan
sumber-sumber tidak dapat memodifikasi file selain menambahkan data.
- Updating.
Pemakai dapat memodifikasi, menghapus dan menambah data pada file.
Update biasanya termasuk menulis file, menulis ulang secara penuh atau
sebagian, dan memindahkan semua atau sebagian data. Beberapa sistem
membedakan menjadi derajat-derajat update secara berbeda.
- Changing protection.
Pemakai dapat mengubah hak-hak akses yang diberikan ke pemakai-pemakai
lain. Biasanya hak ini hanya dipegang pemilik file. Pada beberapa sistem,
pemilik file dapat melimpahkan hak ini pemakai lain. Untuk mencegah
penyalahgunaan, pemilik file dapat menspesifikasikan hak-hak mana yang dapat
diubah oleh penerima wewenang.
- Deletion.
Pemakai dapat menghapus file dari sistem file.
d. Kehandalan sistem file.
Kerusakan data lebih mahal dibanding kerusakan perangkat keras karena
merupakan kehilangan yang tak dapat diganti bila tidak memiliki salinannya.
Manajemen blok buruk
Disk biasanya mempunyai blok-blok buruk, yaitu mempunyai cacat sehingga tak
sempurna dalam menyimpan data. Kebanyakan produsen harddisk memberi daftar
blok buruk yang ditemukan selama pengujian.
Terdapat dua solusi terhadap blok-blok buruk, yaitu :
- Secara perangkat keras.
Solusi dengan menyediakan track pengganti. Secara perangkat keras
didedikasikan sektor untuk mencatat blok-blok buruk. Daftar blok buruk
menyatakan blok pengganti pada track yang disediakan untuk pengganti.
Semua permintaan ke blok buruk akan diarahkan menggunakan blok
pengganti.
- Secara perangkat lunak.
Sistem manajemen file membuat catatan semua blok buruk, menyingkirkan
dari daftar blok bebas. Blok-blok ini tak pernah dipakai untuk menyimpan data.
Selama pencatatan blok-blok buruk tidak terusik maka tak akan muncul
masalah.
Pemulihan dari kegagalan disk
Penanggulangan kerusakan disk saat operasi dapat dilakukan dengan :
Teknik yang paling biasa dilakukan adalah backup data secara periodik.
Backup adalah membuat kopian file secara teratur dan meletakkan kopian
ditempat aman. Cara backup bergantung kapasitas penyimpan yang dibackup,
yaitu :
- Untuk floppy disk.
Kopikan isi floppy disk secara keseluruhan. Cara iini dilakukan karena
kapasitas masih kecil sehingga pengkopian dapat dilakukan secara cepat,
aman, dan menyeluruh.
- Untuk small harddisk.
Dump isi harddisk.
- Untuk big harddisk.
Backup bersilangan, yaitu :
- Partisi pertama disk A adalah data sedang partisi kedua adalah
backup untuk data disk B.
- Partisi pertama disk B adalah data sedang partisi kedua adalah
backup untuk data disk A.
Agar tidak terjadi pengkopian berulang file-file yang tidak
dimodifikasi pada disk berukuran besar maka dilakukan incremented dump.
Incremented dump adalah hanya dump file-file yang berubah sejak
terakhir kali di dump. Terdapat daftar file yang harus dibackup di
disk.
Kelemahan :
- Sistem perlu shutdown selama operasi backup.
- Backup lengkap memakan waktu lama.
- Ketika terjadi kegagalan sistem, pemulihan dari backup terakhir biasanya
memakai banyak waktu.
Ketika pemulihan selesai, data di sistem adalah data backup terakhir.
Seluruh taransaksi yang dilakukan sejak backup terakhir sampai terjadi
kegagalan sistem hilang musnah. Semua teknik berbasis backup mempunyai
keterbatasan tidak dapat memulihkan data/informasi diantara backup terakhir
dan kejadian kegagalan sistem. Pendekatan untuk memperkecil data/informasi
yang hilang adalah dengan transaction log.
Setiap transaksi segera dicatat (log), menghasilkan transaction log.
Setiap transaksi dibackup. Teknik ini lebih mudah dilakukan di sistem
interaktif karena aktifitas manusia relatif lebih lambat dibanding pencatatan
transaksi sehingga tidak mempengaruhi waktu tanggap.
Bila terjadi kegagalan maka pemulihan memanfaatkan backup terakhir dan
transaction log. Pemulihan dilakukan dengan cara sistem menjalankan setiap
transaksi di transaction log terhadap backup terakhir, seterusnya sampai
transaksi terakhir yang tercatat. Kehilangan data dikurangi, yaitu hanya satu
transaksi terakhir yang tidak tercatat yang hilang musnah.
Konsistensi sistem manajemen file.
Masalah penting lain adalah konsistensi atau integritas. Terdapat beberapa
teknik untuk mengatasi masalah konsistensi sistem manajemen file, antara lain :
1. Atomic update.
Update rekord, blok dan file terjadi lengkap atau tidak sama sekali
(meninggalkan sistem pada keadaan semula).
2. Stable storage.
Menulis di drive 1, dilakukan verifikasi :
- Jika baik maka ditulis ke drive 2 dan diversifikasi. Verifikasi untuk
menangani bad sector.
- Jika baik maka diulangi penulisannya.
Cara ini tidak pernah menjadikan sistem dalam keadaan ambigu.
3. Multiversion files.
Dibuat file baru pada saat pengaksesan.
Kendali kongkurensi
Teknik untuk menangani keadaan simultan secara serial disebut serializability.
Teknik untuk mendapatkan properti ini disebut kendali
kongkurensi, antara lain :
Adalah teknik kendali kongkurensi yang biada dipakai. Ketika file dikunci,
semua usaha menggunakan atau mengunci fle oleh klien-klien lain akan
ditolak. Masalahnya yaitu jika klien mengunci file, kemudian crash.
Solusi menerapkan timer begitu memulai lock. Bila proses telah melewati suatu
batas waktu maka klien dianggap telah crash dan dilepaskan penguncian yang
dilakukannya. Cara ini menimbulkan masalah baru, yaitu jika ternyata
sebenarnya klien masih berjalan baik, hanya lamban maka karena
pengunciannya dilepaskan menyebabkan inkonsistensi dapat terjadi bila klien
lain memakai file itu.
Pemakai diberi wewenang mendefinisikan transaksi yaitu seluruh aksi di
transaksi harus berjalan sukses seluruhnya atau bila terdapat aksi yang gagal
maka dianggap tidak terdapat aksi sama sekali. Transaksi yang gagal akan
meninggalkan sistem file tanpa perubahan, tidak dalam keadaan ditengah-
tengah yang tidak tentu.
- Replikasi file (file replication).
Sistem tidak hanya menyimpan satu kopian tapi menyimpan N kopian.
Jika salah satu kopian rusak, data tidak hilang. Ketika satu kopian
dimodifikasi, beragam cara untuk menangani replikasi agar sistem file tetap
konsisten.
Terdapat dua strategi, yaitu :
- Menempatkan duplikasi-duplikasi pada banyak direktori dan mengirim blok-
blok yang telah diubah ke tiap duplikasi. Duplikasi-duplikasi akan up-to-
minute.
- Tinggalkan duplikasi-duplikasi yang telah kedaluwarsa, buat kopian-kopian
baru file yang dimodifikasi dan masukan kopian-kopian itu ke direktori.
Sasaran utama peningkatan kinerja sistem manajemen file adalah mereduksi
jumlah akses ke disk. Cara-cara yang dapat digunakan, adalah :
- Buffer cache.
Mengakses data dari/ke disk dibanding mengakses dari/ke memori utama
(RAM) lebih lamban 100.000 kali. Karena itu harus diusahakan mereduksi jumlah
pengaksesan ke disk. Teknik untuk mereduksi adlah block chace atau buffer
cache atau chace. Chace adalah kumpulan blok yang secara logik dipunyai disk
tetapi tersimpan di memori utama. Cara kerja chace adalah sebagai berikut:
- Selalu memeriksa semua permintaan baca untuk menentukan apakah blok
yang diperlukan telah berada di chace.
- Jika blok telah berada di chace, maka permintaan baca dapat dipenuhi
dari cache tanpa pengaksesan disk.
- Jika blok data tidak berada di chace, maka dilakukan pembacaan dari
disk sebanyak satu blok dan kopikan lebih dulu ke chace. Setelah itu kopikan
ke proses yang meminta. Permintaan berikutnya untuk blok yang sama dapat
dipenuhi dari chace tanpa perlu pengaksesan disk.
- Jika chace telah penuh, suatu blok di chace dipindahkan dan jika blok
tersebut telah dimodifikasi maka harus dituliskan ke disk.
- Penempatan data.
Penempatan data diusahakan sehingga memperkecil jumlah seek times dan
rotasi. Interleave digunakan untuk memperkecil rotasi. Pada sistem dengan i-
node terdapat bottleneck disebabkan dua pengaksesan, yaitu :
- Pengaksesan i-node.
- Pengaksesan blok-blok data.
Sistem Komputer - Implementasi, mari dilanjut dengan mengklik sistem komputer yuk.