BAB 4 SISTEM FILE.

advertisement
BAB I
PENDAHULUAN
Komputer dapat menyimpan informasi ke beberapa media penyimpanan yang
berbeda, seperti magnetic disks, magnetic tapes dan optical disks. Agar komputer
dapat digunakan dengan nyaman, system operasi menyediakan system penyimpanan
dengan sistematika yang seragam. Sistem operasi mengabstraksikan property fisik dari
media penyimpanannya dan mendefinisikan unit penyimpanan logis yaitu file. File
dipetakan ke media fisik oleh system operasi. Media penyimpanan ini umumnya bersifat
non-volatile, sehingga kandungan di dalamnya tidak akan hilang jika terjadi gagal listrik
maupun system reboot.
File adalah kumpulan informasi berkait yang diberi nama dan direkam pada
penyimpanan sekunder. Dari sudut pandang pengguna, file merupakan bagian terkecil
dari penyimpanan logis, artinya data tidak dapat ditulis ke penyimpanan sekunder
kecuali jika berada di dalam berkas. Biasanya berkas merepresentasikan program dan
data.Data dari file dapat bersifat numeric, alfabetik, alfanumerik atau pun biner. Format
berkas juga bisa bebas, misalnya file teks atau dapat juga diformat pasti. Secara umum,
file adalah urutan bit, byte, baris atau catatan yang didefinisikan oleh pembuat file dan
pengguna.
Sebuah sistem file sangat membantu para programmer untuk memungkinkan
mereka mengakses file, tanpa memperhatikan detail dari karakteristik dan waktu
penyimpanan. Sistem file ini juga yang mengatur direktori, device access dan buffer.
Tugas dari sistem file :
• Memelihara direktori dari identifikasi file dan lokasi informasi.
• Menetukan jalan (pathway) bagi aliran data antara main memory dan alat penyimpan
sekunder.
• Mengkoordinasi komunikasi antara CPU dan alat penyimpan sekunder dan
sebaliknya.
• Menyiapkan file penggunaan input atau output.
• Mengatur file, bila penggunaan input atau output telah selesai.
1
BAB II
ISI
A. FILE
File adalah unit penyimpan logika yang diabstraksi sistem operasi dari perangkat
penyimpan. File berisi informasi yang disimpan pada penyimpan sekunder (seperti
magnetic disk, magnetic tape dan optical disk). Informasi dalam file didefinisikan oleh
pembuatnya. Sebuah file mempunyai struktur tertentu tergantung tipenya. Tipe file
terdiri dari data baik data numeric, karakter maupun binary serta program misalnya
source program, object program dan executable program.
▬ Klasifikasi File :
1. MASTER FILE;
Adalah file yang berisi data yang relatif tetap.
Ada 2 jenis Master File :
1. Reference Master File;
File yang berisi record yang tak berubah / jarang berubah.
2. Dynamic Master File;
File yang berisi record yang terus menerus berubah dalam kurun waktu tertentu
atau berdasarkan suatu peristiwa transaksi.
2. TRANSACTION FILE
Adalah file yang berisi record-recod yang akan memperbaharui / meng-update record
record yang ada pada master file. Meng-update dapat berupa : Penambahan record,
penghapusan dan perbaikan record.
3. REPORT FILE
Adalah file yang berisi data yang dibuat untuk laporan / keperluan user.
File tersebut dapat dicetak pada kertas printer atau hanya ditampilkan di layar.
4. WORK FILE
Merupakan file sementara dalam sistem. Suatu work file merupakan alat untuk
melewatkan data yang dibuat oleh sebuah program ke program lain. Biasanya file ini
dibuat pada waktu proses sortir.
5. PROGRAM FILE
Adalah file yang berisi instruksi-instruksi untuk memproses data yang akan disimpan
pada file lain / pada memori utama.
2
6. TEXT FILE
Adalah file yang berisi input data alphanumeric dan grafik yang digunakan oleh sebuah
text editor program. Text file hanya dapat diproses dengan text editor.
7. DUMP FILE
Adalah file yang digunakan untuk tujuan pengamanan (security), mencatat tentang
kegiatan peng-update-an, sekumpulan transaksi yang telah diproses atau sebuah
program yang mengalami kekeliruan.
8. LIBRARY FILE
Adalah file yang digunakan untuk penyimpanan program aplikasi, program utilitas atau
program lainnya.
9. HISTORY FILE
File ini merupakan tempat akumulasi dari hasil pemrosesan master file dan transaction
file. File ini berisikan data yang selalu bertambah, sehingga file ini terus berkembang,
sesuai dengan kegiatan yang terjadi.
▬ Tipe File :
Salah satu pertimbangan penting dalam merancang sistem file dan keseluruhan
sistem operasi adalah apakah sistem operasi mengenali dan mendukung sistem file.
Bila sistem operasi mengenali tipe suatu file, maka dapat dilakukan operasi
terhadap file dengan cara yang rasional. Misalnya user yang mencoba mencetak file
executable dapat dicegah oleh sistem operasi karena file adalah program binary.
Sebuah file mempunyai struktur tertentu tergantung tipenya. Tipe file terdiri dari
data baik data numeric, karakter maupun binary serta program misalnya source
program, object program dan executable program.
3
Gambar : Tipe File.
▬ Struktur File :
Tipe file juga digunakan untuk untuk menunjukkan struktur internal dari file.
File tertentu harus konfirmasi ke struktur yang dibutuhkan yang dimengerti oleh sistem
operasi. Misalnya sistem operasi membutuhkan file executable yang mempunyai
struktur khusus sehingga dapat menentukan dimana letak memory dan lokasi dari
instruksi pertama.
4
Beberapa sistem operasi menggunakan sekumpulan sistem pendukung struktur
file dengan sejumlah operasi khusus untuk manipulasi file dengan struktur tersebut. Hal
ini menjadi kelemahan pada sistem operasi yang mendukung struktur file lebih dari
satu.
Jika sistem operasi menentukan 10 struktur file berbeda, maka perlu
menyertakan kode untuk mendukung struktur file tersebut. Setiap file perlu dapat
didefinisikan sebagai satu dari tipe file yang didukung oleh sistem operasi.
▬ Model akses file :
Ada 3 model akses yang mungkin oleh sebuah program terhadap file, yaitu :
1. INPUT FILE;
Adalah file yang hanya dapat dibaca dengan program.
2. OUTPUT FILE;
Adalah file yang hanya dapat ditulis oleh sebuah program / file yang dibuat
dengan program.
3. INPUT / OUTPUT FILE;
Adalah file yang dapat dibaca dari dan ditulis ke selama eksekusi program.
▬ ORGANISASI FILE :
Adalah suatu teknik atau cara yang digunakan menyatakan dan menyimpan
record-record dalam sebuah file.
Ada 4 teknik dasar organisasi file, yaitu :
1. Sequential
2. Relative
3. Indexed Sequential
4. Multi – Key
Secara umum keempat teknik dasar tersebut berbeda dalam cara pengaksesannya,
yaitu :
1. Direct Access;
Adalah suatu cara pengaksesan record yang langsung, tanpa mengakses seluruh
record yang ada.
2. Sequential Access;
Adalah suatu cara pengaksesan record, yang didahului pengaksesan record-record di
depannya. Faktor-faktor yang mempengaruhi dalam proses pemilihan organisasi file :
• Karakteristik dari media penyimpanan yang digunakan
• Volume dan frekuensi dari transaksi yang diproses
• Respontime yang diperlukan.
Cara memilih organisasi file tidak terlepas dari 2 aspek utama, yaitu :
1. Model Penggunaannya
2. Model Operasi File
• Menurut penggunaannya ada 2 cara :
1. Batch;
Suatu proses yang dilakukan secara group atau kelompok.
5
2. Interactive;
Suatu proses yang dilakukan secara satu persatu, yaitu record demi record.
• Menurut operasi file ada 4 cara :
1. Creation;
♦ Membuat struktur file lebih dahulu, menentukan banyak record baru, kemudian
record-record dimuat ke dalam file tersebut.
♦ Membuat file dengan cara merekam record demi record.
2. Update;
Untuk menjaga agar file tetap up to date. Insert / Add, Modification, Deletion.
3. Retrieval;
Pengaksesan sebuah file dengan tujuan untuk mendapatkan informasi.
File Retrieval terbagi 2, yaitu :
1. Comprehensive Retrieval;
Mendapatkan informasi dari semua record dalam sebuah file.
Contoh : * Display all
* List nama, alamat
2. Selective Retrieval;
Mendapatkan informasi dari record-record tertentu berdasarkan persyaratan
tertentu.
Contoh : * List for gaji = 100000
4. Maintenance;
Perubahan yang dibuat terhadap file dengan tujuan memperbaiki penampilan program
dalam mengakses file tersebut.
♦ Restructuring
Perubahan struktur file. Misalnya panjang field diubah, penambahan field baru,
panjang record dirubah.
♦ Reorganization
Perubahan organisasi file dari organisasi yang satu, menjadi organisasi file yang
lain. Misalnya dari organisasi file sequential menjadi indeks sequential.
▬ Secara umum dapat disimpulkan :
• Untuk master file dan program file kita dapat melakukan created, update, retrieval
from dan maintenanced.
• Untuk work file kita dapat melakukan created, update dan retrieved from tapi tidak
dapat kita maintenanced.
• Untuk report file umumnya tidak di-update, retrieve from atau maintenanced.
• Untuk transaction file, umumnya hanya dapat di created dan digunakan untuk sekali
proses.
6
B. DIREKTORI
Direktori adalah kumpulan titik yang berisi informasi tentang semua file.
Beberapa sistem menyimpan ratusan file pada disk ratusan gigabyte. Untuk mengatur
semua data menggunakan organisasi yg dilakukan dalam dua bagian.
Gambar : Direktori.
Pertama, system file dipecah ke dalam partisi, yang disebut juga “minidisk”
(pada mesin IBM) atau “volume” (pada mesin PC dan Macintosh). Setiap disk pada
sistem berisi sedikitnya satu partisi, merupakan struktur low-level dimana file dan
direktori berada. Terkadang, partisi digunakan untuk menentukan beberapa daerah
terpisah dalam satu disk, yang diperlakukan sebagai perangkat penyimpan yang
terpisah. Sistem lain menggunakan partisi yang lebih besar dari sebuah disk untuk
mengelompokkan disk ke dalam satu struktur logika.
Kedua, setiap partisi berisi informasi mengenai file di dalamnya. Informasi ini
disimpan pada entry dalam “device directory atau volume table of contents”. Perangkat
direktori (atau direktori) menyimpan informasi seperi nama, lokasi, ukuran dan tipe
untuks semua file dari partisi tersebut. Organisasi file yang umum dapat dilihat pada
gambar dibawah.
7
Gambar : Organisasi Sistem File.
Informasi yang terdapat pada direktori adalah
• Nama
• Tipe
• Alamat
• Panjang saat ini
• Panjang maksimum
• Tanggal akses terakhir
• Tanggal perubahan terakhir
• ID pemilik
• Informasi proteksi
Beberapa operasi yang dibentuk pada direktori adalah :
• Mencari file (search)
• Membuat file (create)
• Menghapus file (delete)
• Mendaftar suatu direktori (list)
• Mengubah nama file (rename)
• Melintasi sistem file (traverse)
Organisasi file dan direktori disarankan yang seefisien mungkin sehingga dapat
menempatkan file dengan cepat. Selain itu dalam penamaan file dan direktori harus
nyaman untuk user. Dua user dapat memberikan nama file yang sama. File yang sama
dapat mempunyai beberapa nama. Dalam organisasi file dan direktori juga perlu
dilakukan pengelompokan file berdasarkan property, misalnya semua program Java,
game dan lain-lain.
8
▬ Direktori Satu Level :
Direktori ini hanya terdiri dari satu direktori untuk setiap user. Pada direktori jenis
ini terjadi permasalahan penamaan dan pengelompokan berdasarkan user.
Gambar : Direktori satu level.
▬ Direktori Dua Level :
Direktori ini terdiri dari dua level yang memisahkan direktori untuk setiap user.
Setiap file diberi nama path, dapat mempunyai nama file yang sama untuk user yang
berbeda, mempunyai kapabilitas pencarian, tetapi belum dilakukan pengelompokan.
Gambar : Direktori dua level.
9
▬ Direktori Berstruktur Pohon :
Direktori berstruktur pohon merupakan struktur direktori yang biasa digunakan.
Pohon mempunyai direktori root. Setiap file pada sistem mempunyai nama path yang
unik.
Gambar : Direktori berstruktur pohon.
Pada direktori ini pencarian file dan direktori lebih efisien, mengelompokkan
file dan dapat mengakses direktori dan sub direktori.
Sebuah direktori atau subdirektori berisi kumpulan file atau sub direktori.
Sebuah direktori merupakan file yang diperlakukan dengan cara khusus. Semua
direktori mempunyai format internal yang sama. Satu bit dalam setiap masukan
direktori merupakan masukan sebagai file (0) atau sebagai subdirektori (1).
Sistem call khusus digunakan untuk membuat dan menghapus direktori. Nama
path dapat dibagi menjadi dua tipe yaitu nama path “absolut” dan “relatif”. Pada saat
membuat file baru akan dilakukan pada current directory. Demikian juga pada saat
membuat direktori baru.
10
▬ Direktori Acyclic Graph :
Struktur tree melarang menggunakan bersama-sama file dan direktory. Pada
direktori acyclic graph memungkinkan direktori mempunyai subdirektori dan file yang
digunakan bersama-sama. File dan subdirektori yang sama mungkin berada pada dua
direktori yang berbeda.
Gambar : Direktori acyclic graph.
Direktori acyclic graph diimplementasikan dalam beberapa cara. Cara yang
umum, pada beberapa system UNIX, adalah membuat entry direktori baru yang disebut
link. Sebuah link berupa sebuah pointer ke file atau subdirektori lain. Sebuah link
dapat diimplementasikan sebagai nama path absolut atau relatif (sebuah symbolic link).
Sebuah link berbeda dari direktory asal. Link diindentifikasi oleh format pada direktory
entry dan memberi nama pointer secara tak langsung. Pendekanan lain dengan
menduplikasi semua informasi pada direktori yang digunakan bersama-sama sehingga
kedua entri identik dan sama. Cara ini menyebabkan informasi asli dan duplikasi tidak
dapat dibedakan
Permasalahan mendasar adalah memelihara konsistensi jika file dimodifikasi.
Struktur direktori acyclic-graph lebih fleksibel daripada struktur pohon, tetapi lebih
kompleks. Sebuah file mungkin mempunyai lebih dari satu nama path, konsekuensinya,
11
nama file yang berbeda harus merujuk ke file yang sama. Jika mencoba melintasi
keseluruhan sistem file (misalnya untuk akumulasi statistik pada semua file) struktur
sharing tidak boleh dilintasi lebih dari satu kali.
Masalah lainnya melibatkan penghapusan. Kapan ruang yang sudah
dialokasikan untuk file yang digunakan bersama-sama dapat di dealokasi dan
digunakan lagi. Pendekatan lain untuk penghapusan adalah menyediakan file sampai
semua acuan dihapus.
C. 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 :
o Pencatatan ruang yang dialokasikan untuk file.
o Pencatatan ruang bebas yang tersedia di disk.
▬ 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 :
►► Sederhana.
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.
12
Pada lingkungan dimana file berkembang dan mengkerut setiap saat,
alokasi kontigu sulit diterapkan :
o Pemakai biasanya berlebihan dalam memperkirakan ruang yang diperlukan,
menyebabkan banyak pemborosan.
o 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.
13
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.
▬ Pencatatan ruang disk yang bebas dilakukan dengan
o Berurutan.
Cara ini mempunyai masalah bila file berkembang dan ruang berikutnya
telah ditempati file lain.
o 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 :
o Peta bit.
o 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.
▬ Shared file :
Adalah file yang tidak hanya diacu satu direktori, juga oleh direktoridirektori 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 :
o. 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 pemakaipemakai lain. Kelemahan ini merupakan masalah fatal, memerlukan
satu mekanisme penjagaan integritas yang rumit.
► Penggunaan ruang disk sangat besar karena duplikasi atau pengkopian
14
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.
o. 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.
o. 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.
15
▬ 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.
16
▬ 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 :
a. Backup.
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
17
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.
b. 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 :
► Atomic update.
Update rekord, blok dan file terjadi lengkap atau tidak sama sekali
(meninggalkan sistem pada keadaan semula).
► 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.
► 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 :
> Penguncian (locking).
18
Adalah teknik kendali kongkurensi yang biada dipakai. Ketika file
dikunci, semua usaha menggunakan atau mengunci fle oleh klien-klien
lian 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.
► Transaksi (transaction).
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 kopiankopian itu ke direktori.
e. Kinerja sistem file.
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
19
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.
Rekord dan blocking
Pada sistem akses, maka rekord adalah unit terkecil penyimpanan data di
level logik atau file. Panjang rekord dapat tetap atau bervariasi.
Tiga metode untuk penandaan awal dan akhir rekord berukuran variasi, yaitu :
► End of record mark.
► Indikator panjang.
► Tabel posisi rekord.
Rekord-rekord harus ditempatkan di blok. Satu blok dapat terdiri satu
rekord atau lebih. Penempatan rekord-rekord ke blok disebut blocking.
Blocking factor (Bfr) adalah parameter yang menunjukkan jumlah rekord
yang diharapkan (maksimum) ditampung di 1 blok.
Penempatan rekord-rekord pada block
Kombinasi penempatan rekord-rekord pada blok dapat berupa :
► Fixed blocking.
Rekord berukuran tetap. Blok berisi jumlah rekord yang tetap. Rekord
hanya menempati di satu blok, tidak boleh di pecah di beberapa blok.
Rekord tidak boleh melebihi ukuran blok.
Keunggulan :
►► Memudahkan implementasi.
Kelemahan :
►► Memboroskan ruang penyimpan karena fragmentasi internal.
► Variable length spanned blocking.
Rekord dapat berukuran bervariasi ditempatkan memenuhi blok dan dapat
dipecah untuk menempati blok-blok berbeda. Satu rekord dapat ditempatkan
di lebih dari satu blok. Keterhubungan rekord yang terpecah pada blok-blok
berbeda diwujudkan dengan pointer blok menunjuk alamat blok-blok berikutnya
tempat bagian rekord itu.
Keuntungan :
►► Fleksibel bagi pemakai.
►► Ukuran rekord tidak dibatasi ukuran blok.
►► Mengurangi kesiaan ruang penyimpan karena fragmentasi internal sungguh
berkurang.
20
Kelemahan :
►► Sulit diimplementasikan.
►► Mahal dalam pencariannya.
►► Sulit dalam perbaruan (update).
► Variable length unspanned blocking.
Rekord-rekord walaupun bervariabel panjangnya harus secara utuh ditempatkan
pada satu blok, tidak boleh dipecah ke blok-blok lain.
Kelemahan :
►► Terjadi pemborosan tempat karena rekord yang akan ditempatkan terlalu
panjang untuk sisa blok akan ditempatkan di blok berikutnya.
►► Panjang rekord tidak boleh lebih panjang daripada ukuran blok.
Operasi-operasi di sistem akses file
Sistem akses harus mampu menyediakan operasi-operasi berikut terhadap
organisasi akses yang dipilih, yaitu :
☺ Pencarian suatu rekord tertentu.
☺ Bergerak ke rekord berikutnya.
☺ Memperbarui rekord berupa penghapusan rekord atau modifikasi suatu rekord.
☺ Pembacaan kumpulan rekord dengan kriteria tertentu.
☺ Pembacaan seluruh rekord di file.
☺ Reorganisasi.
Tiap organisasi akses mempunyai keunggulan dan kelemahan tersendiri sehingga
tidak mungkin menerapkan satu organisasi akses untuk seluruh kebutuhan
aplikasi sistem komputer.
PENGAMANAN / PROTEKSI
Informasi yang disimpan dalam system komputer harus diproteksi dari
kerusakan fisik (reliability) dan akses yang tidak benar (protection).
Reliability biasanya dilakukan dengan duplikasi copy dari file. Beberapa sistem
komputer mempunyai sistem yang secara otomatis (atau melalui intervensi operator
komputer) menduplikasi file ke tape secara regular dari sistem file yang secara tiba-tiba
dihapus. Protection, sebaliknya, dapat dilakukan dalam beberapa cara.
▬ Tipe Akses :
Mekanisme proteksi dengan tipe akses file terbatas yang dapat dibuat. Akses
diperbolehkan atau tidak tergantung beberapa faktor, satu diantaranya permintaan tipe
akses. Beberapa operasi yang disediakan :
• Membaca dari file (read)
• Menulis ke file (write)
• Menjalankan file (execute)
• Menambah isi file (append)
21
• Menghapus file (delete)
• Melihat nama dan atribut file (list)
Operasi yang lain, seperti pemberian nama, meng-copy atau mengubah file,
juga harus dikontrol. Untuk beberapa alasan, fungsi level lebih tinggi (seperti
mengcopy) diimplementasikan oleh system program yang menggunakan system call
level lebih rendah. Proteksi disediakan hanya pada level lebih rendah. Sebagai contoh,
meng-copy file diimplementasikan dengan deretan permintaan membaca. Dalam hal ini
user dengan akses read dapat menyebabkan file di-copy, dicetak dan lain-lain.
▬ Access List dan Group :
Pendekatan permasalahan proteksi yang sering digunakan adalah dengan
membuat akses secara dependent pada identifikasi user. Skema umum untuk
implementasi akses identity-dependent dengan menghubungkan masing-masing file
dan direktori dg sebuah access list yang menentukan nama user dan tipe akses yang
diijinkan untuk setiap user.
Bila user meminta akses ke file khusus, sistem operasi memeriksa access list.
Jika user tersebut terdaftar, akses diijinkan, sebaliknya terjadi protection violation dan
dilarang mengakses file.
Masalah pokok dengan access list adalah ukuran. Jika ingin mengijinkan user
membaca file, harus didaftar semua user dengan akses read. Teknik ini mempunyai
dua konsekuensi yaitu membangun sebuah daftar mungkin kesulitan dan directory entry
yang sebelumnya mempunyai ukuran tetap sekarang menjadi ukuran bervariasi,
sehingga muncul permasalahan manajemen ruang.
Masalah ini dipecahkan dengan melakukan pengetatan terhadap access list.
Beberapa system memperkenalkan tiga klasifikasi user :
• Owner. User yang membuat file
• Group. Kumpulan user yang menggunakan file bersama-sama dan memerlukan
akses yang sama
• Universe. Semua user lain dalam system.
Agar sistem diatas bekerja dg baik, keanggotaan group harus dikontrol secara
ketat. Sebagai contoh, dalam sistem UNIX, group dapat dibuat dan dimodifikasi hanya
oleh manager (superuser).
22
BAB III
KESIMPULAN DAN SARAN
Kesimpulan :
File adalah unit penyimpan logika yang diabstraksi sistem operasi dari perangkat
penyimpan. File berisi informasi yang disimpan pada penyimpan sekunder (seperti
magnetic disk, magnetic tape dan optical disk). File dapat diakses secara
direct(langsung) atau dengan sekuensial.
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 dan pencatatan ruang bebas yang tersedia di disk.
Direktori adalah kumpulan titik yang berisi informasi tentang semua file.
Beberapa sistem menyimpan ratusan file pada disk ratusan gigabyte. Untuk mengatur
semua data menggunakan organisasi yg dilakukan dalam dua bagian.
Terdapat berbagai jenis direktori, seperti halnya direktori satu level, direktori dua
level, direktori berstruktur pohon dan direktori acylic graph.
Informasi yang disimpan dalam system komputer harus diproteksi dari
kerusakan fisik (reliability) dan akses yang tidak benar (protection).
Reliability biasanya dilakukan dengan duplikasi copy dari file. Beberapa sistem
komputer mempunyai sistem yang secara otomatis (atau melalui intervensi operator
komputer) menduplikasi file ke tape secara regular dari sistem file yang secara tiba-tiba
dihapus. Protection, sebaliknya, dapat dilakukan dalam beberapa cara yaitu dengan
mekanisme tipe akses dan acces list and group.
Saran :
Mempelajari makalah ini sangatlah bermanfaat bagi anda karena setelah
membaca ini anda akan mengetahui banyak mengenai file, direktori, bagaimana
mengimplentasikan sistem file, serta bagaimana melakukan proteksi pada sistem file.
23
DAFTAR PUSTAKA
Hariyanto, Bambang, Ir., Sistem Operasi, Penerbit Informatika, Bandung,
1999
Tanenbaum, Andrew S., Modern Operating Systems, Prentice Hall Inc., 1992
http://lecturer.eepis-its.edu/~arna/Diktat_SO/9.Sistem%20File.pdf
http://lulu.staff.gunadarma.ac.id/Downloads/files/14932/SISTEM+FILE.pdf
http://id.wikipedia.org/wiki/Direktori
24
Download