File-System Implementation SISTEM OPERASI File-System 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
FILE-SYSTEM Implementation PENDAHULUAN 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
FILE-SYSTEM STRUCTURE PENDAHULUAN Permasalahan pada desain sistem file: Menentukan rancangan sistem file agar terlihat oleh pengguna (atribut, operasi dan struktur direktori) Merancang algoritma dan struktur data untuk memetakan logical file system ke dalam physical secondary-storage devices.
FILE-SYSTEM STRUCTURE PENDAHULUAN application programs Program aplikasi yang berisikan data yang akan diproses logical file system Melakukan pengelolaan terhadap metadata Bagian dari sistem file yang dapat mengetahui logical block file dan physical block file-organization module Menentukan perintah-perintah bagi perangkat yang sesuai untuk Dapat melakukan proses R/W physical block di disk basic file system Berisokan device controller dan interrupt handler untuk melakukan proses pengiriman data antara RAM dan disk I/O control device
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
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)
FILE-SYSTEM IMPLEMENTATION file open process directory structure open (file name) directory structure file-control block user space kernel memory secondary storage
FILE-SYSTEM IMPLEMENTATION file READ process index data block read (index) per-process open-file table system-wide open-file table file-control block user space kernel memory secondary storage
DIRECTORY IMPLEMENTATION Pemilihan algoritma directory-allocation dan directory-management beredampak pada efisiensi, performa, dan keandalan sistem file. Metode: Linear List Hash Table
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.
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
ALLOCATION METHODS 3 Metode utama pengalokasian ruang Contiguous Allocation Linked Allocation Indexed Allocation Permasalahan utama adalah bagaimana mengalokasikan ruang untuk file agar dapat diakses dengan cepat dan efektif.
CONTIGUOUS ALLOCATION ALLOCATION METHODS Setiap file menempati sekumpulan blok yang berurutan (linear) di dalam disk Jumlah pencarian disk yang dibutuhkan untuk mengakses alokasi file yang berurutan menjadi kecil File yang dialokasikan berurutan didefinisikan oleh alamat disk dan panjang block unit pertama
CONTIGUOUS ALLOCATION ALLOCATION METHODS 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 disk directory file start length count 2 tr 24 4 mail 11 3 list 7 f 16 PERMASALAHAN: Sulit menemukan ruang untuk file baru yang akan dipetakan ke dalam disk
LINKED ALLOCATION ALLOCATION METHODS Menyelesasikan permasalah yang muncul pada contiguous allocation Setiap file merupakan bagian dari senarai berkait dalam sebuah blok data Setiap blok memiliki pointer ke blok berikutnya Direktori berisikan pointer blok awal dan akhir file
linked ALLOCATION ALLOCATION METHODS 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 disk directory file start end count 9 25 PERMASALAHAN: Hanya efektif pada file yang memiliki akses berurutan (sequential-access)
INDEXED ALLOCATION ALLOCATION METHODS Menyelesasikan permasalah external fragmentation dan masalah pendeklarasian ukuran (size-declaration) pada contiguous allocation Menggabungkan semua pointer ke dalam sebuah lokasi index block
INDEXED ALLOCATION ALLOCATION METHODS directory disk 19 1 2 3 4 5 6 7 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 disk directory file start count 19 20 8 9 1 2 25 19
FREE-SPACE MANAGEMENT Alasan: Jumlah proses tidak dapat diketahui 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
FREE-SPACE MANAGEMENT HOW IT WORKS FILE free-space list FILE OS
FREE-SPACE LIST IMPLEMENTATION FREE-SPACE MANAGEMENT METODE: 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
FREE-SPACE LIST IMPLEMENTATION FREE-SPACE MANAGEMENT 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 free- space 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
FREE-SPACE LIST IMPLEMENTATION FREE-SPACE MANAGEMENT LINKED LIST Pendekatan yang digunakan dalam metode ini adalah: semua lokasi blok bebas saling dikaitkan, dan menambahkan pointer pada setiap blok bebas yang menunjukkan lokasi blok bebas berikutnya
FREE-SPACE LIST IMPLEMENTATION FREE-SPACE MANAGEMENT 2, 3, 4, 8, 9, 11, 12, 13, 14, 19, 20, 25, 27, 28 dan 29 free-space list head 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
FREE-SPACE LIST IMPLEMENTATION FREE-SPACE MANAGEMENT COUNTING Pendekatan yang dilakukan adalah dengan menambahkan nilai hitung (counting) urutan blok bebas berikutnya dimulai dari blok bebas pertama yang diidentifikasi.
EFFICIENCY & PERFORMANCE Efisiensi ruang disk sangat bergantung kepada metode pengalokasian file pada disk dan algoritma yang digunakan
EFFICIENCY & PERFORMANCE Terdapat 2 system cache yang umum digunakan untuk meningkatkan performa pengalokasian ruang disk: Unified virtual memory: sistem cache yang menggunakan page caching untuk menampung page proses dan file data Unified buffer cache: sistem cache yang menggunkan 2 pendekatan; memory mapping dan system call read() dan write()
EFFICIENCY & PERFORMANCE Unified Virtual Memory memory-mapped I/O I/O read()and write() page cache buffer cache file system
EFFICIENCY & PERFORMANCE Unified Buffer Cache memory-mapped I/O I/O read()and write() buffer cache file system
RECOVERY 2 TEkNIK Recovery CONSISTENCY CHECKING Program sistem secara berkala membandingkan data di struktur direktori yang memiliki blok data dalam disk dan mencoba memperbaikinya jika ditemukan kerusakan 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
File-System Implementation SISTEM OPERASI File-System 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