KONSEP DASAR IMPLEMENTASI SISTEM FILE Abas Ali Pangera, Dony Ariyus, Jurusan Teknik Informatika, STMIK AMIKOM Yogyakarta, Jl. Ring Road Utara, Condong Catur, Sleman, Yogyakarta - Indonesia Pada bagian ini dibahas tentang implementasi sistem file yang meliputi pokok bahasan struktur sistem file, implementasi direktori, metode alokasi, manajemen ruang bebas, efisiensi dan performansi, perbaikan, sistem file berstruktur log dan network file sistem
Layered File System Pada level terendah, I/O control berisi device driver dan interrupt handler untuk mengirim informasi antara memori dan sistem disk. Basic file system berisi perintah bagi device driver untuk membaca dan menulis blok fisik pada disk. File organization module berisi modul untuk mengetahui blok logika pada blok fisik. Logical file system menggunakan struktur direktori untuk memberikan ke file organization module informasi tentang kebutuhan terakhir. Informasi mengenai sebuah file disimpan pada struktur penyimpan yang disebut file control block Pada saat membuka file (dengan menjalankan perintah open) blok-blok dari struktur direktori disimpan pada struktur direktori di memori dan mengubah file control block. Pada saat membaca file (dengan menjalankan perintah read), indeks yang dibaca di cari lokasi blok pada disk melalui tabel open file yang berada di memori.
File Control Block
(a)Membuka file (b)membaca file Virtual File Systems (VFS) merupakan implementasi sistem file yang berorientasi obyek. VFS memungkinkan antarmuka system calls (API) yang sama digunakan untuk sistem file yang berbeda. API adalah lebih sebagai antarmuka VFS dan bukan untuk tipe sistem file tertentu. Skema VFS seperti:
Skema Virtual File System Implementasi Direktori Implementasi direktori menggunakan daftar nama file linier dengan pointer ke blok data. Hal ini berdampak pada pemrograman yang mudah tetapi memerlukan waktu yang lama untuk eksekusi. Untuk mempercepat waktu eksekusi digunakan Tabel Hash berupa daftar linier dengan struktur data hash. Dengan struktur data hash akan mengurangi waktu pencarian direktori. Tetapi struktur hash mempunyai resiko bertabrakan apabila terjadi situasi dimana dua nama file hash yang berbeda berada pada lokasi yang sama. Struktur hash berukuran tetap. Isian direktori menyediakan informasi untuk menemukan block-block, informasi di isian direktori bergantung pada sisterm pencatatan blok-blok yang digunakan, informasi iniberisi • Alamat disk dari seluruh file ( skema dengan menggunakan Contiguous Allocation) • Nomor block pertama (skema dengan menggunakan Linked Allocation) • Nomor i-node Fungsi utama sistem direktori adalah memetakan nama simbolik dari file seperti nama file dan nama jalurnya untuk menjadi informasi untuk menemukan blok-blok file, penyimpanan atributatribut file dapat dilakukan dengan bermacam-macam cara seperti: • Menyimpan atribut-atribut file secara langsung di isian direktori • Untuk sistem yang menggunakan i-node, kemungkinan lain yang digunakan adalah menyimpan atribut-atribut di i-node, bukan pada isian direktori. Isian direktori hanya berisi i-node dari file Metode Alokasi Metode alokasi berhubungan dengan bagaimana blok-blok pada disk dialokasikan untuk file. Terdapat beberapa metode alokasi antara lain alokasi berurutan (contiguous allocation), alokasi berhubungan (linked allocation) dan alokasi berindeks (indexed allocation). Alokasi Berurutan (Contiguous Allocation) Pada alokasi berurutan, setiap file menempati sekumpulan blok yang berurutan pada disk Model ini sangat sederhana karena hanya membutuhkan lokasi awal (block #) dan panjang (jumlah blok). Akses pada blok disk dilakukan secara random dan memakan banyak ruang (permasalahan dynamic storage-allocation). File yang disimpan secara berurutan tidak dapat berkembang.
Alokasi Berurutan Beberapa sistem file yang baru (misalnya Veritas File System) menggunakan skema alokasi berurutan yang dimodifikasi. File sistem Extent-based mengalokasikan blok pada disk secara berkembang (extent). Extent adalah blok berurutan pada disk. Extent dialokasikan untuk alokasi file. Sebuah file terdiri dari satu atau lebih extent. Kelemahan dari metode ini adalah: • Hanya bila ukuran maksimum diketahui pada saat file dibuat Metode ini tidak layak digunakan kecuali bila ukuran maksimum file diketahui pada sat file dibuat, tanpa informasi ini, sistem operasi tidak mengetahui berapa banyak ruang disk yang disimpan untuk suatu file • Terjadinya fragmentasi disk Fragmentasi disk dapat dihsilkan metode alokasi ini, ruang yang disiapkan seharusnya dapat digunakan. Pada lingkungan tempat file berkembang dan mengkerut setiap saat, alokasi ini sulit diterapkan karena: • User biasanya berlebihan dalan memperkirakan ruang yang diperlukan sehingga menyebabkan banyak pemborosan tempat • Jika file berkembang lebih besar dari yang dialokasikan, file harus ditransfer ke lokasi baru yang dapat memuatnya, pemindahan memerlukan usaha besar yang mengkonsumsi banyak waktu komputasi, sehingga terjadi ketidak efisienan waktu dan pengalokasikan file. Walaupun metode ini banyak kelemahannya, tetapi sangat cocok untuk sistem yang memerlukan pengaksesan data di disk yang sangat cepat, sistem operasi Amoeba menggunakan teknik penyimpanan ini dan sistem operasi real time selalu menggunakan teknik ini Alokasi Berhubungan (Linked Allocation) Pada alokasi berhubungan, setiap file adalah sebuah linked list dari blok-blok terpisah pada disk Pada setiap blok terdapat satu pointer yang menunjuk ke blok lain.
Alokasi Berhubungan Alokasi berhubungan mempunyai bentuk yang sederhana, hanya memerlukan alamat awal. Sistem manajemen ruang bebas pada alokasi berhubungan tidak memakan banyak ruang. Model ini tidak menggunakan random access. Blok yang diakses adalah blok ke-Q pada rantai link dari blok pada file. Perpindahan ke blok = R + 1. Contoh sistem file yang menggunakan alokasi berhubungan adalah file-allocation table (FAT) yang digunakan MS-DOS dan OS/2. Bentuk file allocation tabel seperti:
File Alocation Table Alokasi Berindeks (Indexed Allocation) Pada alokasi berindeks, terdapat satu blok yang berisi pointer ke blok-blok file. Alokasi berindeks berupa bentuk logika
Alokasi Berindeks Pada alokasi berindeks, memerlukan tabel indeks yang membawa pointer ke blok-blok file yang lain. Akses dilakukan secara random. Merupakan akses dinamis tanpa fragmentasi eksternal, tetapi mempunyai blok indeks yang berlebih. Pemetaan dari logika ke fisik dalam file ukuran maksimum 256K word dan ukuran blok 512 word hanya memerlukan 1 blok untuk tabel indeks. Apabila pemetaan dari logika ke fisik dalam sebuah file dari ukuran tak hingga (ukuran blok adalah 512 word) maka digunakan skema menghubungkan blok link dari tabel indeks (ukuran tak terbatas). Untuk ukuran file maksimum 5123 digunakan skema two-level indeks
M
outer-index
index table
file
Skema Dua Level Index Pada skema two-level indeks terdapat tabel indeks luar dan dalam. Indeks dipetakan ke tabel indeks luar kemudian dipetakan ke table indeks dalam setelah itu mengakses blok file yang dimaksud. Sistem operasi UNIX mengimplementasikan kombinasi alokasi berurutan dan alokasi berindeks
Alokasi Pada UNIX I-Node Metode terakhir adalah I-node dengan menghubungkan block ke file atau ke struktur data yang disebut dengan I-Node (index-node) dengan daftar atribut dan alamat disk pada file block.
I-Node Dengan Tiga Level Indek Block Pada gambar 14-11 i-node tidak mungkin untuk menemukan semua block dari file, ini merupakan suatu keuntungan dalam penggunaan memori sehingga tidak begitu membebankan memori ketika file tersebut dibuka, tapi pada dasarnya semuanya bisa dibuka satu persatu, tapi akses ke file tersebut sesuai dengan yang diminta. Daftar Pustaka Ariyus,Dony,2006, “Computer Security”, Andi Offset, Yogyakarta
Ariyus, Dony,2005,” kamus hacker”, Andi offset, Yogyakarta Bob DuCharme, 2001,” The Operating System Handbook or, Fake Your Way Through Minis and Mainframes” Singapore: McGraw-Hill Book Co Bill Venners.1998. “Inside the Java Virtual Machin”e . McGraw-Hill. Deitel, Harvey M, 2004 “ operating systems” 3th Edition, Massachusetts: Addison-Wesley Publshing Company Gary B. Shelly, 2007, ”Discovering Computers: Fundamentals” Thomson Gollmann, Dieter,1999 “Computer Security” Jhon Willey & Son Inc, Canada Grosshans,D. 1986,” File system: design and implementation”, Englewwod Cliffs, New Jersey : Prentice-Hall Inc. Harvey M Deitel dan Paul J Deitel. 2005. Java How To Program. Sixth Edition. Prentice Hall. Hoare, C.A.R. 1985” Communication sequential processes”Englewood Cliffs, New Jersey, Prentice Hall Inc Jean Bacon, Tim Harris, 2003 “Operating Systems: Concurrent and Distributed Software Design” Massachhussets. Addison Wesley Kenneth H Rosen. 1999. “Discrete Mathematics and Its Application”. McGraw Hill. Madnick,Stuart E dan John J. Donovan, 1974 “ operating system”, Singapore: McGraw-Hill Book Co Michael Kifer and Scott A. Smolka, 2007 Introduction to Operating System Design and Implementation The OSP 2 Approach, Springer-Verlag London Microsoft 1999. Microsoft Windows User Experience. Microsoft Press. Milenkovie, Milan. 1992. “Operationg system: Concepts and Design”, Singapore: McGraw-Hill Book Co Randall Hyde. 2003. The Art of Assembly Language. First Edition. No Strach Press Robert betz, 2001 “Intoduction to Real-time operation system”, Department of Electrical and Computer Engineering University of Newcastle, Australia Robert Love. 2005. Linux Kernel Development . Second Edition. Novell Press
Ron White,1998, How Computers Work, Fourth Edition, Que corporation, A Division of Macmillan Computer Publishing, USA Shay, William A. 1993, “ Introduction to Operationg System” New York: HarperCollins College Publishers Silberschatz, Peter Galvin, dan Grag Gagne. 2000. “Applied Operating System, 1s”t “ John Wile & Hiil Book Co Silberschatz, A., dan Galvin, P.2003, “Operating Sistem Concept. Sixth Edition”. Massachhussets. Addisson- Wasley Silberschatz, Peter Galvin, dan Grag Gagne. 2005. “Operating Systems Concepts”. Seventh Edition. John Wiley & Sons. Stalling, William, 1995, “Operating Sistems”. New Jersey. Prentice – Hall Stalling, William, 1996” Computer Organization and Architecture”. New Jersey. Prentice – Hall Stalling William, 1995, “Network and Internetwork Security” Prentice-Hall, USA Tanenbaum, Andrew S, 1992 “Modern Operating Sistems”. New Jersey. Prentice – Hall Taenbaum, Andrew S, 2006, “Operating Systems Design and Implementation, Third Edition” Massachusetts