MANAJEMEN BERKAS Definisi Kumpulan informasi yang saling berkaitan dan dikelola sebagai satu kesatuan Tujuan Untuk memudahkan penyimpanan dan pembacaan kembali terhadap data Pada tingkat aplikasi satu berkas dengan berkas lainnya bisa saling berhubungan. Pada tingkat penyimpanan setiap berkas diperlakukan sebagai entitas yang berdiri sendiri. Jenis berkas Tiap jenis berkas berbeda dalam hal Jenis data yang disimpan Jenis aplikasi yang dapat mengaksesnya Misal: jenis data berisi kode instruksi prosessor, hanya dapat dijalankan oleh SO Spreadsheet Ms. Excel Penamaan berkas Untuk membedakan tiap berkas, dalam penamaan diberikan tambahan ekstensi atau akhiran yang mengidentifikasi jenis berkas tersebut. Ekstensi akan digunakan oleh SO untuk mengenali jenis aplikasi yang akan membuka berkas tersebut. Saat suatu aplikasi diinstal pada SO, aplikasi tersebut akan mendaftarkan pula ekstensi atau jenis berkas yang dapat dibuka. Jenis data dan Struktur berkas Data yang disimpan dapat berupa numerik, karakter, kode instruksi ataupun biner. bagaimana data tersebut tersusun di berkas? Pertama: berkas yang tidak memiliki struktur yang teratur. Contoh: hasil output dari program yang mengeluarkan data secara acak Jenis data dan Struktur berkas Kedua: berkas yang memiliki struktur dan memiliki sejumlah rekaman. misal: rekaman data mahasiswa yang berisi nomor mahasiswa, nama mahasiswa dan alamat. Ketiga: berkas yang memiliki struktur yang kompleks. Misal: dokumen berupa gambar dan teks yang dihasilkan Ms.Word , yang mengikuti sejumlah aturan tertentu. Metode akses Sequential Access Method pembacaan berkas harus dimulai dari posisi awal sampai pada posis yang dikehendaki. Metode akses Direct Access Method pembacaan berkas dapat dilakukan langsung pada sembarang posisi Metode akses Index Access Method diperlukan berkas khususBerkas index untuk mengakses berkas utamanya. Media Penyimpanan Disimpan pada media penyimpan sekunder Ukuran alokasi terkecil yang dapat dialokasikan berkas blok Ukuran setiap blok tergantung bagaimana suatu media penyimpan diorganisasi atau diformat. Jika terlalu besar akan terjadi pemborosan ketika banyak menyimpan file kecil. Organisasi Berkas 1. Bagi pengguna agar lebih tertata Lebih mudah dan cepat diakses Contoh: SO windows Direktori Organisasi Berkas 2. Di media penyimpanan Selain organisasi berkas, organisasi direktori juga perlu diatur dalam media penyimpan. Direktori disimpan di media penyimpan dengan cara yang sama dengan berkas (diperlakukan sebagai suatu berkas) Bedanya direktori memiliki struktur khusus yang hanya dapat ditangani oleh rutin SO Organisasi Berkas Atribut a. b. c. d. e. f. berkas yang disimpan pada direktori: Name Type Location Size Protection keamanan akses Time, date, user identification Dengan kata lain direktori serupa dengan tabel isi pada buku, berfungsi sebagao referensi cepat untuk mengakses berkas di dalam direktori tersebut. Organisasi Berkas Tinjauan direktori Tujuan: 3. Efisiensi Informasi dari berkas termasuk lokasi berkas tersimpan dalam direktori Pengaksesan terhadap berkas menjadi lebih cepat. Pengelompokan Membuat kumpulan berkas yang banyak dapat tersususn rapi sehingga user mudah mengingat. Penamaan Path Organisasi Berkas Implementasi Direktori Diimplementasi sebagai linear list untuk menyimpan simpul-simpul yang berisi atribut-atribut berkas Operasi pada berkas Dapat dilakukan oleh program aplikasi atau lewat aplikasi shell. (shell aplikasi interaktif yang memberikan antarmuka bagi user untuk mengakses layanan yang diberikan SO) Contoh: explore dan cmd windows bash, tsh linux Operasi pada berkas 1. Membuat dan menghapus berkas 2. Membuka berkas 3. SO akan mengalokasikan ruang di media penyimpan Mencatat atribut-atribut ke direktori Hapus ruang media penyimpan akan dibebaskan dan atribut berkas akan dihapus juga. membaca atribut berkas dari direktori Menyalin data ke memori utama Membaca dan menulis berkas Operasi pada berkas 4. Melompat ke suatu posisi 5. 6. Aplikasi dapat saja membaca berkas tidak dari posisi awal berkas Mengubah nama berkas Mereset berkas Selama proses baca atau pindah posisi, suatu pointer digunakan untuk mencatat posisi terakhir. Tujuan: agar pembacaan berikut selalu dari posisi terakhir. Operasi reset akan menyebabkan posisi pointer berpindah ke posisi awal berkas. Operasi pada berkas 7. Menutup berkas Ketika terjadi penulisan berkas, data perubahan berkas akan disimpan sementara di memori. Operasi menutup berkas memastikan seluruh perubahan terhadap berkas disimpan secara permanen ke media penyimpanan. Operasi pada direktori 1. Membuat dan menghapus direktori Cara pengalokasian pada media penyimpanan sama dengan operasi berkas Yang membedakan adalah struktur isi dan kegunaan Direktori menyimpan atribut dari berkas-berkas yang disimpan Menghapus direktori otomatis akan menghapus seluruh berkas didalamnya. Pada beberapa SO, penghapusan direktori tidak dapat dilakukan jika masih ada berkas didalamnya. Operasi pada direktori Mencari berkas 2. Melibatkan pembacaan simpul ataupun tabel rekaman yang tersimpan dalam direktori. Melihat isi direktori 3. Mencetak informasi mengenai berkas dengan cara menelusuri simpul atau tabel rekaman Mengubah nama direktori 4. 2. Perubahan dilakukan pada tabel rekaman Pengelolaan Ruang Kosong Pada media penyimpanan perlu dicatat sehingga memudahkan alokasi berkas yang akan disimpan. Informasi ruang kosong akan diperbarui bila ada alokasi bekas baru atau penghapusan berkas. Teknik-teknik untuk pencatatan ruang kosong: Bit-vector Link-list Grouping Counting Teknik Bit-Vektor Menggunakan satu bit untuk menyatakan kosong tidaknya setiap alamat blok media penyimpan. Jumlah bit = jumlah blok logika media penyimpan Pencarian ruang kosong secara cepat Kelemahan butuh ruang tambahan untuk pencatatan bit-vector Teknik Link-List Menggunakan blok-blok kosong di media penyimpan untuk menyimpan pointer atau alamat blok kosong berikutnya. Blok kosong terakhir akan mencatat pointer yang tidak valid sebagai penanda akhir blok yang kosong Menghemat penggunaan ruang khusus Kelemahan jika terjadi kerusakan pada salah satu blok kosong, maka pengelolaan ruang kosong menjadi terganggu. Teknik Grouping Mengumpulkan informasi alamat blok kosong ke blok kosong pertama Alamat blok kosong pertama perlu dicatat secara khusus pada struktur SO Teknik ini mengatasi kelemahan dari teknik link-list Teknik Counting Memperhitungkan rangkaian blok-blok kosong yang kontinyu sebagai suatu segmen. Setiap segmen dicatat alamat blok kosong pertamanya dan jumlah blok kosong yang mengikutinya. Informasi segmen dicatat pada tabel khusus. Pengelolaan Alokasi Berkas Informasi ruang kosong juga perlu diperbarui setelah terjadi alokasi berkas. Ada berbagai cara alokasi berkas: Alokasi berurut Alokasi berantai Alokasi berindeks Alokasi Berurut Semua bagian dari berkas harus diletakkan secara berurut dan tidak boleh tersebar pada media penyimpan Mencari segmen ruang kosong yang cukup besar untuk menampung seluruh isi berkas. Informasi alokasi dicatat pada direktori: Alamat blok awal berkas Jumlah blok yang dialokasikan ke berkas Kelemahan tidak fleksibel,krn harus mencari ruang kosong untuk menampung seluruh berkas. Alokasi Berantai Berkas dapat dialokasi ke blok-blok kosong secara tersebar di media penyimpan Untuk menunjukkan lokasi blok berikutnya, di awal atau akhir setiap blok disimpan alamat blok alokasi berikutnya. Yang disimpan di direktori nomor blok pertama yang ditempati berkas dan nomor blok terakhir. Kelemahan: Butuh ruang khusus untuk pointer Bila ada kesalahan satu blok, akses ke blok lain bisa berantakan. 16 Alokasi Berindeks Pemakaian blok khusus untuk mencatat blok-blok yang ditempati berkas yang disebut blok indeks. Proteksi Berkas Untuk data-data yang bersifat rahasia, perlu adanya pembatasan akses. Beberapa mekanisme proteksi yang sering dipakai adalah : Proteksi berkas dengan password Proteksi berkas dengan daftar kontrol akses (Access Control List) Proteksi Berkas dengan Password Memberikan password untuk setiap berkas yang disimpan Cukup bagus untuk berkas yang bersifat pribadi dan jumlah berkas yang tidak banyak. Jika jumlah berkas yang butuh proteksi sangat banyak tidak akan efisien Proteksi Berkas dengan ACL Dengan membuatkan suatu daftar kontrol akses atau ACL dan disimpan pada rekaman di direktori ACL umumnya berisi daftar pengguna yang boleh mengakses berkas tersebut beserta hak aksesnya Tidak akan efisien juga jika seluruh user dimasukkan ke ACL. Umumnya pengakses berkas dikelompkkan dalam 3 kategori: Owner: yang membuat berkas tersebut Group: pengguna yang berada dalam kelompok pengguna yang sama dengan pembuat berkas tersebut Everyone: setiap pengguna yang tidak termasuk dalam 2 kategori diatas. Rudi: Pembuat Berkas 111 Backup dan Recovery Pemerikasaan konsistensi data SO akan memeriksa apakah terjadi kerusakan pada berkas sebelum program dijalankan Umunya SO akan mencegah eksekusi berkas jika isinya sudah berubah secaratidak wajar. Salah satu fungsi manajemen berkas adalah melakukan backup secara otomatis terhadap berkas-berkas dan saat terjadi kerusakan, SO dapat melakukan pemulihan berkas salinannya.