FILE-SYSTEM SISTEM OPERASI IMPLEMENTATION Prio Handoko, S. Kom., M.T.I. Program Studi Teknik Informatika Universitas Pembangunan Jaya Jl. Boulevard - Bintaro Jaya Sektor VII Tangerang Selatan – Banten 15224 AGENDA • • • • • • • File-System Structure File-System Implementation Directory Implementation Alocation Methods Free-Space Management Efficiency & Performance Recovery 2 FILE-SYSTEM PENDAHULUAN IMPLEMENTATION Disk menyediakan sebagaian ruang untuk penyimpanan sekunder di mana sistem file dikelola. Oleh karena itu disk harus dapat memenuhi dua karakteristik berikut: • Disk harus dapat ditulis ulang di tempat yang sama • Disk harus dapat mengakses secara langsung setiap blok informasi yang dikandungnya hanya dengan memindahkan r/w head 3 FILE-SYSTEM STRUCTURE PENDAHULUAN Permasalahan pada desain sistem file: 1. Menentukan rancangan sistem file agar terlihat oleh pengguna (atribut, operasi dan struktur direktori) 2. Merancang algoritma dan struktur data untuk memetakan logical file system ke dalam physical secondary-storage devices. 4 FILE-SYSTEM STRUCTURE PENDAHULUAN application programs logical file system file-organization module Program aplikasi yang berisikan data yang akan diproses Melakukan pengelolaan terhadap metadata Bagian dari sistem file yang dapat mengetahui logical block file dan physical block basic file system Menentukan perintah-perintah bagi perangkat yang sesuai untuk Dapat melakukan proses R/W physical block di disk I/O control Berisokan device controller dan interrupt handler untuk melakukan proses pengiriman data antara RAM dan disk device 5 FILE-SYSTEM IMPLEMENTATION • Struktur disk dan memori yang diimplementasi berbeda, karena bergantung terhadap jenis OS yang dugunakan. • Untuk menciptakan sebuah file, program aplikasi memanggil logical file system, kemudian FCB dialokasikan untuk kebutuhan ini • FCB (file-control block) berisikan semua informasi yang dibituhakan untuk proses penciptaan file 6 FILE-SYSTEM IMPLEMENTATION file permission file dates (create, access, write) file owner, group, other file size file data block or pointer to file data block file-control block (FCB) 7 FILE-SYSTEM IMPLEMENTATION file open process directory structure open (file name) directory structure user space kernel memory file-control block secondary storage 8 FILE-SYSTEM IMPLEMENTATION file READ process index data block read (index) per-process open-file table user space system-wide open-file table kernel memory file-control block secondary storage 9 DIRECTORY IMPLEMENTATION Pemilihan algoritma directory-allocation dan directory-management beredampak pada efisiensi, performa, dan keandalan sistem file. Metode: 1. Linear List 2. Hash Table 10 DIRECTORY IMPLEMENTATION LINEAR LIST Metode paling sederhana untuk mengimplementasikan sebuah direktori untuk berbagai operasi (create, delete, dan reuse) adalah dengan menggunakan daftar nama file yang linier dengan pointer ke sebuah blok data. KEKURANGAN Waktu pencarian nama file membutuhkan waktu yang lama. 11 DIRECTORY IMPLEMENTATION HASH TABLE Metode ini menggunakan daftar linier yang berisikan daftar entri direktori, tabel hash menggunakan nilai dihitung dari nama file yang menghasilkan pointer ke nama file dalam daftar linier. Hal ini akan mengurangi waktu pencarian nama file di tabel linier 12 ALLOCATION METHODS 3 Metode utama pengalokasian ruang 1. Contiguous Allocation 2. Linked Allocation 3. Indexed Allocation Permasalahan utama adalah bagaimana mengalokasikan ruang untuk file agar dapat diakses dengan cepat dan efektif. 13 CONTIGUOUS ALLOCATION ALLOCATION METHODS 1. Setiap file menempati sekumpulan blok yang berurutan (linear) di dalam disk 2. Jumlah pencarian disk yang dibutuhkan untuk mengakses alokasi file yang berurutan menjadi kecil 3. File yang dialokasikan berurutan didefinisikan oleh alamat disk dan panjang block unit pertama 14 CONTIGUOUS ALLOCATION ALLOCATION METHODS directory disk file start length 0 1 2 3 count 0 2 4 5 6 7 tr 24 4 8 9 10 11 mail 11 3 12 13 14 15 list 7 2 16 17 18 19 f 16 4 20 21 22 23 24 25 26 27 28 29 30 31 PERMASALAHAN: Sulit menemukan ruang untuk file baru yang akan dipetakan ke dalam disk 15 LINKED ALLOCATION ALLOCATION METHODS 1. Menyelesasikan permasalah yang muncul pada contiguous allocation 2. Setiap file merupakan bagian dari senarai berkait dalam sebuah blok data 3. Setiap blok memiliki pointer ke blok berikutnya 4. Direktori berisikan pointer blok awal dan akhir file 16 LINKED ALLOCATION ALLOCATION METHODS directory disk 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 file start end count 9 25 PERMASALAHAN: Hanya efektif pada file yang memiliki akses berurutan (sequential-access) 17 INDEXED ALLOCATION ALLOCATION METHODS 1. Menyelesasikan permasalah external fragmentation dan masalah pendeklarasian ukuran (size-declaration) pada contiguous allocation 2. Menggabungkan semua pointer ke dalam sebuah lokasi index block 18 INDEXED ALLOCATION ALLOCATION METHODS directory disk 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 file start count 19 19 20 8 9 1 2 25 19 FREE-SPACE MANAGEMENT Alasan: 1. Jumlah proses tidak dapat diketahui 2. Keterbatasan ruang disk Agar dapat memantau ruang kosong (free-space) dalam disk, sistem melakukan monitoring terhadap free-space list yang berisikan informasi semua blok disk yang kosong 20 FREE-SPACE MANAGEMENT HOW IT WORKS free-space list FILE FILE OS 21 FREE-SPACE LIST FREE-SPACE MANAGEMENT IMPLEMENTATION METODE: 1. BIT VECTOR Implementasi free-space list dalam bentuk bit map atau bit vector dengan ketentuan: • Setiap blok direpresentasikan oleh bit 1 • Jika bit = 1 blok bebas • Jika bit = 0 blok tengah digunakan 22 FREE-SPACE LIST FREE-SPACE MANAGEMENT IMPLEMENTATION Sebagai contoh, jika diketahui blok 2, 3, 4, 8, 9, 11, 12, 13, 14, 19, 20, 25, 27, 28 dan 29 adalah blok bebas dan sisanya adalah blok yang telah dialokasikan untuk file, maka bit freespace list adalah sebagai berikut: 001110001101111000011000010111000 KEUNTUNGAN Pendekatan free-space list dalam bentuk bit vector ini relatif sederhana dan efisien dalam menemukan blok bebas pertama dalam disk 23 FREE-SPACE LIST FREE-SPACE MANAGEMENT IMPLEMENTATION 2. LINKED LIST Pendekatan yang digunakan dalam metode ini adalah: 1. semua lokasi blok bebas saling dikaitkan, dan 2. menambahkan pointer pada setiap blok bebas yang menunjukkan lokasi blok bebas berikutnya 24 FREE-SPACE LIST FREE-SPACE MANAGEMENT IMPLEMENTATION 2, 3, 4, 8, 9, 11, 12, 13, 14, 19, 20, 25, 27, 28 dan 29 free-space list head 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 25 FREE-SPACE LIST FREE-SPACE MANAGEMENT IMPLEMENTATION 3. COUNTING Pendekatan yang dilakukan adalah dengan menambahkan nilai hitung (counting) urutan blok bebas berikutnya dimulai dari blok bebas pertama yang diidentifikasi. 26 EFFICIENCY & PERFORMANCE EFFICIENCY Efisiensi ruang disk sangat bergantung kepada metode pengalokasian file pada disk dan algoritma yang digunakan 27 EFFICIENCY & PERFORMANCE PERFORMANCE Terdapat 2 system cache yang umum digunakan untuk meningkatkan performa pengalokasian ruang disk: 1. Unified virtual memory: sistem cache yang menggunakan page caching untuk menampung page proses dan file data 2. Unified buffer cache: sistem cache yang menggunkan 2 pendekatan; memory mapping dan system call read() dan write() 28 EFFICIENCY & Unified Virtual Memory PERFORMANCE I/O read()and write() memorymapped I/O page cache buffer cache file system 29 EFFICIENCY & Unified Buffer Cache PERFORMANCE I/O read()and write() memorymapped I/O buffer cache file system 30 RECOVERY 2 TEkNIK Recovery 1. CONSISTENCY CHECKING Program sistem secara berkala membandingkan data di struktur direktori yang memiliki blok data dalam disk dan mencoba memperbaikinya jika ditemukan kerusakan 2. LOG-STRUCTURE FILE SYSTEMS Sistem melakukan penyimpanan riwayat perubahan pada struktur direktori dengan tujuan jika terjadi kerusakan, maka kondisi struktur diretori dikembalikan ke kondisi sebelum dilakukan perubahan 31 FILE-SYSTEM SISTEM OPERASI IMPLEMENTATION TERIMA KASIH Prio Handoko, S. Kom., M.T.I. Program Studi Teknik Informatika Universitas Pembangunan Jaya Jl. Boulevard - Bintaro Jaya Sektor VII Tangerang Selatan – Banten 15224