Pengalokasian Berkas (Pengantar Sistem Operasi)
Selamat pagi menjelang siang para astronaut ! :D
Bagaimana kabar kalian pagi ini ? Luar pastinya ! :D
Kali ini kita akan membahas tentang "Pengalokasian Berkas". Berikut ini telah saya rangkum hal-hal yang menyangkut pengalokasian berkas, untuk lebih lanjutnya, mari kita saksikan bersama-sama. Selamat membaca :D
Bagaimana kabar kalian pagi ini ? Luar pastinya ! :D
Kali ini kita akan membahas tentang "Pengalokasian Berkas". Berikut ini telah saya rangkum hal-hal yang menyangkut pengalokasian berkas, untuk lebih lanjutnya, mari kita saksikan bersama-sama. Selamat membaca :D
Pengalokasian
Berkas
a. Pengertian
Sistem
berkas merupakan mekanisme penyimpanan on-line
serta untuk akses, baik data mau pun program yang berada dalam Sistem
Operasi. Terdapat dua bagian penting dalam sistem berkas, yaitu:
·
kumpulan berkas, sebagai tempat penyimpanan data
·
struktur direktori, yang mengatur dan menyediakan informasi
mengenai seluruh berkas dalam sistem.
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:
1. Text file; yaitu urutan
karakter yang disusun ke dalam baris-baris.
2. Source file;
yaitu urutan subroutine dan
fungsi, yang nantinya akan dideklarasikan.
3. Object file;
merupakan urutan byte yang diatur ke dalam blok-blok yang dikenali oleh linker dari sistem.
4. Executable file;
adalah rangkaian code section yang
dapat dibawa loader ke dalam memori dandieksekusi.
b.
Attribut
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 sistem membedakan penggunaan huruf besar dan kecil dalam penamaan
sebuah berkas, sementara sistem yang lain menganggap kedua hal di atas
sama.Ketika berkas diberi nama, maka berkas tersebut akan menjadi mandiri
terhadap proses, pengguna, bahkan sistem yang membuatnya. Atribut berkas
terdiri dari:
1. Nama; merupakan satu-satunya informasi yang tetap dalam bentuk yang
bisa dibaca oleh manusia (human-readable form)
2. Type; dibutuhkan untuk sistem yang mendukung beberapa type berbeda
3. Lokasi; merupakan pointer ke device dan ke lokasi berkas pada device
tersebut
4. Ukuran (size); yaitu ukuran berkas pada saat itu, baik dalam byte, huruf, atau
pun blok
5. Proteksi; adalah informasi mengenai kontrol akses, misalnya siapa saja
yang boleh membaca, menulis, dan mengeksekusi berkas
6. 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.
c.
Operasi
Dalam Berkas
Sebuah
berkas adalah jenis data abstrak. Untuk mendefinisikan berkas secara tepat,
kita 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 sistem operasi pada keenam operasi dasar pada berkas.
·
Membuat sebuah berkas:
Ada dua cara dalam membuat berkas. Pertama, tempat baru di dalam sistem 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, sistem
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 berkas, kita menggunakan system call beserta nama
berkas dan di blok memori mana berkas berikutnya diletakkan. Sama seperti
menulis, direktori mencari berkas yang akan dibaca, dan sistem menyimpan
penunjuk baca pada berkas dimana pembacaan berikutnya akan terjadi. Ketika
pembacaan dimulai, penunjuk baca harus diperbaharui.Sehingga secara umum, suatu
berkas ketika sedang dibaca atau ditulis, kebanyakan sistem hanya mempunyai
satu penunjuk, baca dan tulis menggunakan penunjuk yang sama, hal ini menghemat
tempat dan mengurangi kompleksitas sistem.
·
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 sering disebut
pencarian berkas.
·
Menghapus sebuah berkas:
Untuk menghapus berkas kita perlu mencari berkas tersebut di dalam direktori.
Setelah ditemukan kita membebaskan tempat yang dipakai berkas tersebut
(sehingga dapat digunakkan 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 dari
pada memaksa pengguna untuk menghapus berkas dan membuatnya lagi.
d.
Jenis
Berkas
Teknik
yang umum digunakan dalam implementasi jenis berkas adalah menambahkan jenis
berkas dalam nama berkas. Nama dibagi dua, nama dan akhiran (ekstensi),
biasanya dipisahkan dengan karakter titik. Sistem menggunakan akhiran tersebut
untuk mengindikasikan jenis berkas dan jenis operasi yang dapat dilakukan pada
berkas tersebut. Sebagai contoh hanya berkas yang berakhiran .bat, .exe
atau .com yang bisa dijalankan (eksekusi). Program aplikasi juga
menggunakan akhiran tersebut untuk mengenal berkas yang dapat dioperasikannya.
Akhiran ini dapat ditimpa atau diganti jika diperbolehkan oleh sistem operasi.
Beberapa
sistem operasi menyertakan dukungan terhadap akhiran, tetapi beberapa
menyerahkan kepada aplikasi untuk mengatur akhiran berkas yang digunakan,
sehingga jenis dari berkas dapat menjadi petunjuk aplikasi apa yang dapat
mengoperasikannya.
Sistem
UNIX tidak dapat menyediakan dukungan untuk akhiran berkas karena menggunakan
angka ajaib yang disimpan di depan berkas untuk mengenali jenis berkas. Tidak
semua berkas memiliki angka ini, jadi sistem tidak bisa bergantung pada
informasi ini. Tetapi UNIX memperbolehkan akhiran berkas
tetapi
hal ini tidak dipaksakan atau tergantung sistem operasi, kebanyakan hanya untuk
membantu pengguna mengenali jenis isi dari suatu berkas.
e.
Struktur
Berkas
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
f.
Penggunaan
berkas secara Bersama-Sama
Konsistensi
semantik adalah parameter yang penting untuk evaluasi sistem berkas yang
mendukung penggunaan berkas secara bersama. Hal ini juga merupakan
karakterisasi dari sistem yang menspesifikasi semantik dari banyak pengguna
yang mengakses berkas secara bersama-sama. Lebih khusus, semantik ini
seharusnya dapat menspesifikasi kapan suatu
modifikasi suatu data oleh satu pengguna dapat diketahui oleh pengguna lain.
Terdapat beberapa macam konsistensi semantik. Di bawah ini akan dijelaskan
kriteria yang digunakan dalam UNIX.
Berkas
sistem UNIX mengikuti konsistensi semantik:
·
Penulisan ke berkas
yang dibuka oleh pengguna dapat dilihat langsung oleh pengguna lain yang sedang
mengakses ke berkas yang sama.
·
Terdapat bentuk
pembagian dimana pengguna membagi pointer lokasi ke berkas tersebut. Sehingga
perubahan pointer satu pengguna akan mempengaruhi semua pengguna sharingnya.
Tidak ada komentar: