Pengertian Sistem Berkas
Sistem
berkas merupakan mekanisme penyimpanan on-line serta untuk akses, baik data
maupun program yang berada dalam system operasi. Terdapat dua bagian penting
dalam system berkas, yaitu :
·
Kumpulan berkas, sebagai tempat penyimpanan
data, serta
·
Struktur direktori, yang mengatur dan
menyediakan informasi mengenai seluruh berkas dalam system
Konsep Dasar Berkas
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 berkas. Berkas
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.
Berkas
adalah kumpulan informasi berkait yang diberi nama dan direkam pada penyimpanan
sekunder. Dari sudut pandang pengguna, berkas 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 berkas dapat bersifat numeric, alfabetik, alfanumerik atau
pun biner. Format berkas juga bias bebas, misalnya berkas teks atau dapat juga
diformat pasti. Secara umum, berkas adalah urutan bit, byte, baris atau catatan
yang didefinisikan oleh pembuat berkas dan pengguna.
Informasi
dalam berkas ditentukan oleh pembuatnya. Ada
banyak beragam jenis informasi yang dapat disimpan dalam berkas. Hal ini
disebabkan oleh struktur tertentu yang dimiliki oleh berkas, sesuai dengan
jenisnya masing-masing. Contohnya :
·
Text file; yaitu urutan karakter yang disusun ke
dalam baris-baris
·
Source file; yaitu urutan subroutine dan fungsi
yang nantinya akan dideklarasikan
·
Object file; merupakan urutan byte yang diatur ke
dalam blok-blok yang dikenali oleh linker dari system
·
Executable file; adalah rangkaian code section
yang dapat dibawa loader ke dalam memori dan dieksekusi
Atribut Pada Berkas
Berkas
diberi nama untuk kenyamanan bagi pengguna dan untuk acuan bagi data yang
terkandung di dalamnya. Nama berkas biasanya berupa string atau karakter.
Beberapa system membedakan penggunaan huruf besar dan kecil dalam penamaan
sebuah berkas, sementara system yang lain menganggap kedua hal di atas sama.
Ketika berkas diberi nama, maka berkas tersebut akan menjadi madiri terhadap
proses, pengguna bahkan system yang membuatnya. Atribut berkas terdiri dari :
·
Nama; merupakan satu-satunya informasi yang
tetap dalam bentuk yang bias dibaca oleh manusia (human-readable form)
·
Type, dibutuhkan untuk system yang mendukung
beberapa type berbeda
·
Lokasi; merupakan pointer ke device dan ke
lokasi berkas pada device tersebut
·
Ukuran (size); yaitu ukuran berkas pada saat
itu, baik dalam byte, huruf atau pun blok
·
Proteksi; adalah informasi mengenai kontrol
akses, misalnya siapa saja yang boleh membaca, menulis dan mengeksekusi berkas
·
Waktu, tanggal dan identifikasi pengguna;
informasi ini biasanya disimpan untuk :
1.
Pembuatan berkas
2.
Modifikasi terakhir yang dilakukan pada berkas, dan
3.
Penggunaan terakhir berkas
Data tersebut
dapat berguna untuk proteksi, keamanan dan monitoring penggunaan dari berkas.
Informasi tentang seluruh berkas disimpan dalam struktur direktori yang
terdapat pada penyimpanan sekunder. Direktori, seperti berkas, harus bersifat
non-volatile, sehingga keduanya harus disimpan pada sebuah device dan baru
dibawa bagian per-bagian ke memori pada saat dibutuhkan.
Operasi Pada Berkas
Sebuah
berkas adalah jenis data abstrak. Untuk mendefinisikan berkas secara tepat,
perlu melihat operasi yang dapat dilakukan pada berkas tersebut. Sistem operasi
menyediakan system calls untuk membuat, membaca, menulis, mencari, menghapus
dan sebagainya. Berikut dapat kita lihat apa yang harus dilakukan system
operasi pada keenam operasi dasar pada berkas.
·
Membuat sebuah berkas
Ada dua
cara dalam membuat berkas. Pertama, tempat baru di dalam system berkas harus di alokasikan untuk
berkas yang akan dibuat. Kedua, sebuah direktori harus mempersiapkan tempat
untuk berkas baru, kemudian direktori tersebut akan mencatat nama berkas dan
lokasinya pada sistem berkas.
·
Menulis pada sebuah berkas
Untuk menulis pada berkas, kita menggunakan system call beserta nama
berkas yang akan ditulisi dan informasi apa yang akan ditulis pada berkas.
Ketika diberi nama berkas, system mencari ke direktori untuk mendapatkan lokasi
berkas. Sistem juga harus menyimpan penunjuk tulis pada berkas dimana penulisan
berikut akan ditempatkan. Penunjuk tulis harus diperbaharui setiap terjadi
penulisan pada berkas.
·
Membaca sebuah berkas
Untuk dapat membaca sebuah berkas, dapat menggunakan system call beserta
nama berkas di blok memori mana berkas berikutnya diletakkan. Direktori mencari
berkas yang akan dibaca dan system menyimpan penunjuk baca pada berkas dimana
pembacaan berikutnya akan terjadi. Ketika pembacaan dimulai, penunjuk harus
diperbaharui. Sehingga secara umum, suatu berkas ketika sedang dibaca atau
ditulis, kebanyakan system hanya mempunyai satu penunjuk, baca dan tulis
menggunakan penunjuk yang sama, hal ini menghemat tempat dan mengurangi
kompleksitas system.
·
Menempatkan kembali sebuah berkas
DIrektori yang bertugas untuk mencari berkas yang bersesuaian dan
mengembalikan lokasi berkas pada saat itu. Menempatkan berkas tidak perlu
melibatkan proses I/O. Operasi ini sering disebut pencarian berkas.
·
Menghapus sebuah berkas
Untuk menghapus berkas, perlu dicari berkas tersebut di dalam direktori.
Setelah ditemukan dapat dibebaskan tempat yang dipakai berkas tersebut
(sehingga dapat digunakan oleh berkas lain) dan menghapus tempatnya di direktori.
·
Memendekkan berkas
Ada suatu
keadaan dimana pengguna menginginkan atribut dari berkas tetap sama tetapi
ingin menghapus isi dari berkas tersebut. Fungsi ini mengizinkan semua atribut
tetap sama tetapi panjang berkas menjadi nol, hal ini lebih baik daripada
memaksa pengguna untuk menghapus berkas dan membuatnya lagi.
Beberapa
informasi yang terkait dengan pembukaan berkas, yaitu :
·
Penunjuk berkas
Pada system yang tidak mengikutkan batas berkas sebagai bagian dari
system call baca dan tulis, system tersebut harus mengikuti posisi dimana
terakhir proses baca dan tulis sebagai penunjuk. Penunjuk ini unik untuk setiap
operasi pada berkas, maka dari itu harus disimpan terpisah dari atribut berkas
yang ada pada disk.
·
Penghitung berkas yang terbuka
Setelah berkas ditutup, system harus mengosongkan kembali table berkas
yang dibuka yang digunakan oleh berkas tadi atau tempat di table akan habis.
KArena mungkin ada beberapa proses yang membuka berkas secara bersamaan dan
system harus menunggu sampai berkas tersebut ditutup sebelum mengosongkan
tempatnya di table. Penghitung ini mencatat banyaknya berkas yang telah dibuka
dan ditutup dan menjadi nol ketika yang terakhir membaca berkas menutup berkas
tersebut barulah system dapat mengosongkan tempatnya di table.
·
Lokasi berkas pada disk
Kebanyakan operasi pada berkas memerlukan system untuk mengubah data yang
ada pada berkas. Informasi mengenai lokasi berka spada disk disimpan di memori
agar menghindari banyak pembacaan pada disk untuk setiap operasi.
Jenis Berkas
Jenis berkas
|
akhiran
|
fungsi
|
Executable
|
.exe, .com,
.bat, .bin
|
Program yang
siap dijalankan
|
Objek
|
.obj, .o
|
Bahas mesin,
kode terkompilasi
|
Source Code
|
.c, .cc, .pas,
.java, .asm
|
Kode asal dari
berbagai bahasa
|
Batch
|
.bat, .sh
|
Perintah pada
shell
|
Text
|
.txt, .doc
|
Data text,
document
|
Pengolah kata
|
.wpd, .tex,
.doc
|
Format jenis
pengolah data
|
Library
|
.lib, .a, .dll
|
Library untuk
rutin program
|
Print, gambar
|
.ps, .dvi,
.gif
|
Format ASCII
atau biner untuk dicetak
|
Archive
|
.arc, .zip,
.tar
|
Beberapa
berkas yang dikumpulkan
|
Berkas Dan Akses
Sistem penyimpanan,
pengelolaan dan penyimpanan data pada alat penyimpan eksternal. Pada berkas dan
akses penyimpanan data dilakukan secara fisik.
File
Kumpulan dari record-record yang saling berhubungan.