Struktur Berkas


4Disk merupakan tempat penyimpanan sekunder dimana sistem berkas disimpan. Ada dua karakteristik dalam penyimpanan banyak berkas, yaitu:

  1. Sebuah disk dapat ditulis kembali, memungkinkan untuk membaca, memodifikasi, dan menulis blok kembali pada tempat yang sama.
  2. Sebuah blok yang menyimpan informasi yang kita cari, dapat diakses secara langsung. Dalam aplikasinya, kita dapat mengakses berkas secara random maupun sequential.

Sistem operasi menyediakan satu atau lebih sistem berkas untuk menyimpan dan mengambil data dengan mudah. Struktur berkas itu sendiri terdiri dari beberapa layer.

Setiap level menggunakan feature-feature dari lapisan di bawahnya untuk digunakan sebagai feature baru bagi lapisan di atasnya. Level terbawah adalah I/O control yang terdiri dari beberapa device driver dan penanganan interupsi untuk memindahkan informasi antara memori utama dan disk system. Device driver dapat dianggap sebagai penerjemah. Inputnya terdiri dari perintah-perintah high level, misalkan “ambil blok 123”. Outputnya berupa instruksi-instruksi hardware yang lebih spesifik. Instruksi ini digunakan oleh pengendali hardware yang menghubungkan I/O device dengan sistem lainnya.

Basic file system bertugas dalam hal menyampaikan perintah-perintah generic ke device driver yang dituju untuk membaca dan menulis blok-blok fisik pada disk. Masing-masing blok fisik diidentifikasi dengan alamat disknya.

File organization modul adalah lapisan dalam sistem berkas yang mengetahui tentang berkas, blok-blok logis, dan blok-blok fisik. Dengan mengetahui tipe dan lokasi dari berkas yang digunakan, file organization modul dapat menerjemahkan alamat blok logis ke alamat blok fisik untuk selanjutnya diteruskan ke lapisan basic file system. File organization modul juga mengandung free space manager yang mencatat jejak blok-blok yang tidak dialokasikan dan menyediakannya ke file organization modul ketika dibutuhkan.

Lapisan yang terhubung dengan program aplikasi yaitu logical file system yang bertugas dalam mengatur informasi metadata. Metadata meliputi semua struktur dari sistem berkas, kecuali data sebenarnya (isi dari berkas). Lapisan ini juga mengatur struktur direktori untuk menyediakan informasi yang dibutuhkan file organization modul. Struktur dari sebuah berkas ditentukan oleh lapisan ini dengan adanya file control block.

Berkas-berkas tertentu harus mempunyai struktur yang dimengerti oleh sistem operasi. Contohnya, sistem operasi mungkin mensyaratkan bahwa sebuah berkas executable harus mempunyai struktur yang spesifik sehingga dapat ditentukan dimana berkas tersebut dapat di-load dari memori dan dimana lokasi dari instruksi pertama. Berkas dapat distruktur 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 yang kedua adalah dengan record sequence. Dalam model ini semua berkas adalah sebuah urutan dari rekaman-rekaman yang telah ditentukan panjangnya, masing-masing dengan beberapa struktur internal. Artinya bahwa sebuah operasi read membalikkan sebuah rekaman dan operasi write menimpa atau menambahkan suatu rekaman.

Cara 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 diterapkan dalam rekaman tersebut. Tree ini di-sort dalam field key dan mengizinkan pencarian yang cepat untuk sebuah key tertentu.

Kita juga dapat menggunakan jenis berkas untuk mengidentifikasi struktur dalam dari berkas. Berkas berupa source dan objek memiliki struktur yang cocok dengan harapan program yang membaca berkas tersebut. Suatu berkas harus memiliki struktur yang dikenali oleh sistem operasi. Sebagai contoh, sistem operasi menginginkan suatu berkas yang dapat dieksekusi memiliki struktur tertentu agar dapat diketahui dimana berkas tersebut  akan  ditempatkan  di  memori  dan  di  mana  letak  instruksi  pertama  berkas tersebut.   Beberapa sistem operasi mengembangkan ide ini sehingga mendukung beberapa struktur berkas, dengan beberapa operasi khusus untuk memanipulasi berkas dengan struktur tersebut.

Kelemahan memiliki dukungan terhadap beberapa struktur berkas adalah: Ukuran dari sistem operasi dapat menjadi besar, jika sistem operasi mendefinisikan lima struktur berkas yang berbeda maka ia perlu menampung kode untuk yang diperlukan untuk mendukung  semuanya.  Setiap  berkas  harus  dapat  menerapkan  salah  satu  struktur berkas  tersebut.  Masalah  akan  timbul  ketika  terdapat  aplikasi  yang  membutuhkan struktur informasi yang tidak didukung oleh sistem operasi tersebut.

Beberapa  sistem  operasi  menerapkan  dan  mendukung  struktur  berkas  sedikit struktur berkas. Pendekatan ini digunakan pada MS-DOS dan UNIX. UNIX menganggap setiap berkas sebagai urutan 8-bit byte, tidak ada interpretasi sistem operasi terhadap dari bit-bit  ini.  Skema tersebut  menawarkan  fleksibilitas  tinggi tetapi  dukungan  yang terbatas. Setiap aplikasi harus menambahkan sendiri kode untuk menerjemahkan berkas masukan ke dalam struktur yang sesuai. Walau bagaimana pun juga sebuah sistem operasi harus memiliki minimal satu struktur berkas yaitu untuk berkas yang dapat dieksekusi sehingga sistem dapat memuat berkas dalam memori dan menjalankannya.

Sangat berguna bagi sistem operasi untuk mendukung struktur berkas yang sering digunakan  karena  akan  menghemat  pekerjaan  pemrogram.  Terlalu  sedikit  struktur berkas yang didukung akan mempersulit pembuatan program, terlalu banyak akan membuat sistem operasi terlalu besar dan pemrogram akan bingung[]***

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s