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
• 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.
0 komentar