1. Sistem Berkas
Semua aplikasi komputer butuh menyimpan dan mengambil informasi.
Ketika sebuah
proses
sedang berjalan, proses tersebut menyimpan sejumlah informasi yang terbatas,
dibatasi
oleh ukuran alamat virtual. Untuk beberapa aplikasi, ukuran ini cukup, namun
untuk
lainnya terlalu kecil.
Masalah
berikutnya adalah apabila proses tersebut berhenti maka informasinya hilang.
Padahal
ada beberapa informasi yang penting dan harus bertahan beberapa waktu bahkan
selamanya.
Adapun
masalah ketiga yaitu sangatlah perlu terkadang untuk lebih dari satu proses
mengakses
informasi secara berbarengan. Untuk memecahkan masalah ini, informasi
tersebut
harus dapat berdiri sendiri tanpa tergantung dengan sebuah proses.
Pada
akhirnya kita memiliki masalah-masalah yang cukup signifikan dan penting untuk
dicari
solusinya.
Pertama
kita harus dapat menyimpan informasi dengan ukuran yang besar. Kedua,
informasi
harus tetap ketika proses berhenti. Ketiga, informasi harus dapat diakses oleh
lebih
dari satu proses secara bersamaan. Solusi dari ketiga masalah diatas adalah
sesuatu
yang
disebut berkas.
Berkas
adalah sebuah unit tempat menyimpan informasi. Berkas ini dapat diakses lebih
dari
satu proses, dapat dibaca, dan bahkan menulis yang baru. Informasi yang
disimpan
dalam
berkas harus persisten, dalam artian tidak hilang sewaktu proses berhenti.
Berkasberkas
ini
diatur oleh sistem operasi, bagaimana strukturnya, namanya, aksesnya,
penggunaannya,
perlindungannya, dan implementasinya. Bagian dari sistem operasi yang
mengatur
masalah-masalah ini disebut sistem berkas.
Untuk
kebanyakan pengguna, sistem berkas adalah aspek yang paling terlihat dari
sebuah
sistem
operasi. Dia menyediakan mekanisme untuk penyimpanan online dan
akses ke
data
dan program. Sistem berkas terbagi menjadi dua bagian yang jelas; koleksi
berkas
(masing-masing
menyimpan data yang berkaitan) dan struktur direktori (mengatur dan
menyediakan
informasi mengenai semua berkas yang berada di sistem). Sekarang
marilah
kita memperdalam konsep dari berkas tersebut.
2. Konsep Berkas
Berkas adalah sebuah koleksi informasi
berkaitan yang diberi nama dan disimpan di
dalam secondary storage.
Biasanya sebuah berkas merepresentasikan data atau program.
Adapun jenis-jenis dari
berkas:
• Text file: yaitu
urutan dari karakter-karakter yang diatur menjadi barisan dan mungkin
halaman.
• Source file: yaitu
urutan dari berbagai subroutine dan fungsi yang masing-masing
kemudian diatur sebagai deklarasi-deklarasi diikuti oleh
pernyataan-pernyataan yang
dapat diexecute.
• Object file: yaitu
urutan dari byte-byte yang diatur menjadi blok-blok yang dapat
dipahami oleh penghubung system.
• Executable file: adalah
kumpulan dari bagian-bagian kode yang dapat dibawa ke
memori dan dijalankan oleh loader.
3. Atribut berkas
Selain nama dan data, sebuah berkas dikaitkan dengan
informasi-informasi tertentu yang
juga
penting untuk dilihat pengguna, seperti kapan berkas itu dibuat, ukuran berkas,
dan
lain-lain.
Kita akan sebut informasi-informasi ekstra ini atribut. Setiap sistem mempunyai
sistem
atribusi yang berbeda-beda, namun pada dasarnya memiliki atribut-atribut dasar
seperti
berikut ini:
1.
Nama: nama berkas simbolik ini adalah informasi satu-satunya yang disimpan
dalam
format yang dapat dibaca oleh pengguna.
2.
Identifier: tanda unik ini yang biasanya merupakan sebuah angka, mengenali
berkas
didalam sebuah sistem berkas; tidak dapat dibaca oleh pengguna.
3.
Jenis: informasi ini diperlukan untuk sistem-sistem yang mendukung jenis berkas
yang
berbeda.
4.
Lokasi: informasi ini adalah sebuah penunjuk pada sebuah device dan
pada lokasi
berkas
pada device tersebut.
5.
Ukuran: ukuran dari sebuah berkas (dalam bytes, words, atau blocks) dan
mungkin
ukuran maksimum dimasukkan dalam atribut ini juga.
7
6.
Proteksi: informasi yang menentukan siapa yang dapat melakukan read, write,
execute, dan
lainnya.
7.
Waktu dan identifikasi pengguna: informasi ini dapat disimpan untuk pembuatan
berkas,
modifikasi terakhir, dan penggunaan terakhir. Data-data ini dapat berguna
untuk
proteksi, keamanan, dan monitoring
penggunaan.
4. Jenis Berkas
Salah satu atribut dari sebuah berkas yang cukup penting adalah
jenis berkas. Saat kita
mendesain
sebuah sistem berkas, kita perlu mempertimbangkan bagaimana operating
sistem
akan mengenali berkas-berkas dengan jenis yang berbeda. Apabila sistem operasi
dapat
mengenali, maka menjalankan berkas tersebut bukan suatu masalah.
Seperti
contohnya, apabila kita hendak mengeprint bentuk binary-object dari
sebuah
program,
yang didapat biasanya adalah sampah, namun hal ini dapat dihindari apabila
sistem
operasi telah diberitahu akan adanya jenis berkas tersebut.
Cara
yang paling umum untuk mengimplementasikan jenis berkas tersebut adalah dengan
memasukkan
jenis berkas tersebut ke dalam nama berkas. Nama berkas dibagi menjadi
dua
bagian. Bagian pertama adalah nama dari berkas tersebut, dan yang kedua, atau
biasa
disebut
extention adalah jenis dari berkas tersebut. Kedua nama ini biasanya
dipisahkan
dengan
tanda ’.’, contoh: berkas.txt.
5. Operasi Berkas
Fungsi dari berkas adalah untuk menyimpan data dan mengizinkan
kita membacanya.
Dalam
proses ini ada beberapa operasi yang dapat dilakukan berkas. Adapun
operasioperasi
dasar
yang dilakukan berkas, yaitu:
1.
Membuat Berkas (Create):
Kita perlu dua langkah untuk membuat suatu berkas. Pertama, kita
harus temukan
tempat
didalam sistem berkas. Kedua, sebuah entri untuk berkas yang baru harus
dibuat
dalam direktori. Entri dalam direktori tersebut merekam nama dari berkas
dan
lokasinya dalam sistem berkas.
2.
Menulis sebuah berkas (Write):
Untuk menulis sebuah berkas, kita membuat sebuah system call yang
menyebutkan
nama berkas dan informasi yang akan di-nulis kedalam berkas.
3.
Membaca Sebuah berkas (Read):
Untuk membaca sebuah berkas menggunakan sebuah system call yang
menyebut
nama
berkas yang dimana dalam blok memori berikutnya dari sebuah berkas
harus
diposisikan.
4.
Memposisikan Sebuah Berkas (Reposition):
Direktori dicari untuk entri yang sesuai dan current-file-position diberi sebuah
nilai.
Operasi ini di dalam berkas tidak perlu melibatkan I/O, selain itu juga
diketahui
sebagai file seek.
5.
Menghapus Berkas (Delete):
Untuk menghapus sebuah berkas kita mencari dalam direktori untuk
nama berkas
tersebut.
Setelah ditemukan, kita melepaskan semua spasi berkas sehingga dapat
digunakan
kembali oleh berkas-berkas lainnya dan menghapus entry direktori.
6.
Menghapus Sebagian Isi Berkas (Truncate):
User mungkin mau menghapus isi dari sebuah berkas, namun
menyimpan
atributnya.
Daripada memaksa pengguna untuk menghapus berkas tersebut dan
membuatnya
kembali, fungsi ini tidak akan mengganti atribut, kecuali panjang
berkas
dan mendefinisikan ulang panjang berkas tersebut menjadi nol.
Keenam
operasi diatas merupakan operasi-operasi dasar dari sebuah berkas yang
nantinya
dapat dikombinasikan untuk membentuk operasi-operasi baru lainnya.
Contohnya
apabila kita ingin menyalin sebuah berkas, maka kita memakai operasi create
untuk
membuat berkas baru, read untuk membaca berkas yang lama, dan write untuk
menulisnya
pada berkas yang baru.
6. Struktur Berkas
Berkas dapat di struktur dalam beberapa cara. Cara yang pertama
adalah sebuah urutan
bytes yang
tidak terstruktur. Akibatnya sistem operasi tidak tahu atau peduli apa yang ada
dalam
berkas, yang dilihatnya hanya bytes. Ini menyediakan fleksibilitas yang
maksimum.
User dapat menaruh apapun yang mereka mau dalam berkas, dan sistem
operasi
tidak membantu, namun tidak juga menghalangi.
Cara
berikutnya, adalah dengan record
sequence. Dalam model ini, sebuah berkas adalah
sebuah
urutan dari rekaman-rekaman yang telah ditentukan panjangnya, masing-masing
dengan
beberapa struktur internal. Artinya adalah bahwa sebuah operasi read
membalikan
sebuah rekaman dan operasi write
menimpa atau menambahkan suatu
rekaman.
Struktur
berkas yang ketiga, adalah menggunakan sebuah tree. Dalam struktur ini sebuah
berkas
terdiri dari sebuah tree dari rekaman-rekaman tidak perlu dalam panjang yang
sama,
tetapi masing-masing memiliki sebuah field
key dalam posisi yang telah ditetapkan
dalam
rekaman tersebut. Tree ini disort dalam field
key dan mengizinkan pencarian yang
cepat
untuk sebuah key tertentu.
7. Metode Akses
Berkas menyimpan informasi. Apabila sedang digunakan informasi
ini harus diakses dan
dibaca
melalui memori komputer. Informasi dalam berkas dapat diakses dengan beberapa
cara.
Berikut adalah beberapa caranya:
1.
Akses Sekuensial
Akses
ini merupakan yang paling sederhana dan paling umum digunakan.
Informasi
di dalam berkas diproses secara berurutan. Sebagai contoh, editor dan
kompilator
biasanya mengakses berkas dengan cara ini.
2. Akses Langsung
Metode
berikutnya adalah akses langsung atau dapat disebut relative access.
Sebuah berkas
dibuat dari
Tidak ada komentar:
Posting Komentar