Operating System File System Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan Dosen : Caca E. Supriana, S.Si caca_emile@yahoo.co.id
Konsep dan Atribut File System Konsep File Atribut File Operasi pada File Tipe File Struktur File Metode Akses Sequential Access File Direct Access File Lain-lain
Konsep File File adalah kumpulan informasi yang berhubungan dan tersimpan dalam secondary storage Tipe: Data (character, numeric, binary) Program
Atribut File Nama Tipe Lokasi Ukuran Waktu pembuatan dan identitas pembuat Proteksi Informasi lain tentang file
Operasi pada File Membuat Menulis Membaca Menghapus Mencari Membuka Menutup Menghapus dengan menyisakan atribut
Tipe File
Struktur File Sistem operasi membutuhkan struktur file tertentu untuk menjalankan/ mengakses suatu file. Semua sistem operasi diharuskan mampu mengenal sedikitnya satu jenis struktur file. Jika sistem operasi mengenal semakin banyak struktur file, maka semakin luas aplikasi yang dapat dijalankan namun ukuran sistem operasi semakin besar. Sebaliknya, jika semakin sedikit struktur file, maka sistem operasi hanya dapat menjalankan aplikasi dalam jumlah yang sedikit pula.
Metode Akses
Sequential Access File
Direct Access File Sangat berguna untuk pengaksesan langsung informasi dalam jumlah besar. Contoh : database File dilihat sebagai sederetan blok yang berindeks Relative block number digunakan agar memungkinkan sistem operasi untuk memutuskan dimana suatu file dapat ditempatkan, dan mencegah user untuk mengakses sebagian dari sistem file yang bukan merupakan bagian dari file miliknya
Other Access Methods Metode akses lainnya dibangun/ dikembangkan berdasarkan direct access method. Biasanya melibatkan proses pembuatan indeks dari file. Untuk mencari suatu bagian dari file, pertama-tama cari indeksnya, kemudian dengan pointer tersebut kita mengakses file secara langsung, lalu mencari bagian dari file yang diinginkan.
Indeks dan Relative Files
Konsep Direktori Operasi pada Direktori Struktur Direktori Single-Level Directory Two-Level Directory Tree-Structured Directory Acyclic-Graph Directory General-Graph Directory
Operasi pada direktori Mencari file Membuat file Menghapus file Melihat isi direktori Ubah nama file Traverse file system Membuka direktori Menutup direktori Link & Unlink
Single-Level Directory
Two-Level Directory (1)
Two-Level Directory (2) Keterbatasan : Bila beberapa user ingin mengerjakan tugas secara kerjasama dan ingin mengakses file dari salah satu user untuk keperluan tersebut
Tree-Structured Directory (1) Tiap direktori dapat mengandung file dan subdirektori Path (absolut path) adalah urutan direktori yang berasal dari MFD Working dir. (relative path) adalah path yang berasal dari current directory Current directory adalah direktori yang baru-baru ini digunakan Contoh absolut path : UserZ/Word/UnitD/XYZ
Tree-Structured Directory (2)
Tree-Structured Directory (3)
Acyclic-Graph Directory Satu file dapat memiliki banyak absolut path yang berbeda Masalah : Penghapusan (dangling pointer) Solusi : Backpointers, agar kita dapat menghapus semua pointer. Backpointers menggunakan struktur daisy chain. Solusi entry-hold-count.
General-Graph Directory (1)
General-Graph Directory (2) Meyakinkan tidak adanya siklus : Hanya mengizinkan link ke file. Garbage collection. Menggunakan algoritma siklik dalam mendeteksi siklus setiap ada link baru yang ditambahkan.
Mounting, Sharing dan Proteksi File System Mounting File Sharing Proteksi Tipe Akses Kontrol Akses
File System Mounting (1) Sebuah sistem berkas sebelum dapat digunakan harus dimount terlebih dahulu. Mounting: proses paling awal sebelum membuka sebuah direktori, yaitu dengan membuat sebuah direktori baru yang menjadi sub-tree dari tempat file system tsb diletakkan Mount point: direktori kosong tempat file system yang akan di-mount diletakkan.
File System Mounting (2)
File Sharing (1) File sharing mendukung sebuah sistem operasi yang user oriented. Berhubungan dengan permission. Multiple user bisa mengakses file yang sama.
File Sharing (2) Multiple user Owner: user yang bisa mengganti atribut, membuka akses, dan mengontrol sebuah file atau direktori. Group: sekelompok user yang menshare akses sebuah file. Tiap user memiliki user ID masingmasing yang unik.
File Sharing (3) Remote File System Model Client-Server Distributed Information System Failure Modes
Proteksi Fungsi: Menjaga aman dari kerusakan fisik (reliability). Menjaga dari akses yang tidak diijinkan (protection).
Tipe Akses Baca Tulis Eksekusi Menambah Hapus Daftar
Kontrol Akses (1) Access-Control List (ACL): Suatu file atau direktori berasosiasi dengan suatu username dan tipe akses. Owner, Group dan Universe Kontrol Akses.
Kontrol Akses (2) Klasifikasi users dalam mengakses suatu file: Owner: User yang menciptakan file tsb. Group: Sekelompok users yang saling berbagi file dan tergabung dalam sebuah kelompok kerja. Universe: Semua users yang saling terhubung dalam sistem. Implementasi kontrol akses yang sering digunakan merupakan kombinasi keduanya.
Struktur dan Implementasi File System Struktur File System Organisasi File System Implementasi File System Partisi dan Mounting Virtual File System Implementasi Direktori Linear List Hash Table
Struktur File System Karakteristik penting dari disk : Disk tersebut dapat ditulis ulang di disk tersebut, hal ini memungkinkan untuk membaca, memodifikasi, dan menulis di disk tersebut Dapat diakses langsung ke setiap block di disk. Hal ini memudahkan untuk mengakses setiap file baik secara berurut maupun tidak berurut, dan berpindah dari satu file ke file lain dengan hanya mengangkat head disk dan menunggu disk berputar
Organisasi File System (1)
Organisasi File System (2) Masalah desain dalam membangun file system Definisi dari file system - mencakup definisi file dan atributnya, operasi ke file, dan struktur direktori dalam mengorganisasikan file-file Membuat algoritma dan struktur data yang memetakan struktur logical file system ke tempat penyimpanan sekunder
Organisasi File System (3) I/O control (driver device dan interrupt handler) : Driver device adalah perantara komunikasi antara sistem operasi dengan perangkat keras Basic file system : Mengeluarkan perintah generic ke device driver baca dan tulis pada suatu block dalam disk
Organisasi File System (4) File-organization module : Informasi tentang logical address dan physical address dari file tersebut, mengatur juga sisa disk dengan melacak alamat yang belum dialokasikan dan menyediakan alamat tersebut saat user ingin menulis file ke dalam disk Logical file system : tingkat ini berisi informasi tentang simbol nama file, struktur dari direktori, proteksi dan sekuriti dari file tersebut
Implementasi File System (1) Struktur On-disk Boot control block : informasi sistem untuk menjalankan mesin Partition block control : spesifikasi partisi Struktur direktori : mengatur file-file FCB : detil-detil file yang spesifik
Implementasi File System (2) Struktur In-Memory: Table partition : informasi partisi yang di-mount Struktur direktori : informasi direktori yang paling sering diakses System wide open file table : salinan dari FCB Per-process open file table : pointer yang menunjuk tempat masuk dalam system wide open file table
Partisi dan Mounting (1) Partisi Raw (tidak berisi file system) tidak ada file system yang tepat menyimpan informasi yang diperlukan disk RAID system berisi database kecil yang menyimpan informasi tentang RAID configuration Cooked (berisi file system) Sebuah bisa memiliki beberapa partisi yang masing-masing mengandung file system dan sistem operasi yang berbeda
Partisi dan Mounting (2) Root partition di-mount pada boot time Partisi yang lain di-mount secara otomatis atau manual (tergantung sistem operasi) Windows setiap partisi yang di-mount ditandai dengan huruf dan colon UNIX file system dapat di-mount di semua direktori
Virtual File System Implementasi file system terdiri 3 tingkatan: File system interface buka, baca, tulis, dsb Virtual file system memisahkan operasi file system generic dengan implementasinya network file system Local file system dan remote file system (network)
Implementasi Direktori (1) Efisiensi, performa dan kehandalan Linear List Metoda paling sederhana, dari nama file dengan pointer ke data block Proses : Mencari (tidak ada nama file yang sama), tambah file baru pada akhir direktori, hapus (mencari file dalam direktori dan melepaskan tempat yang dialokasikan) Menggunakan suatu file : menandai atau menambahkan pada daftar direktori bebas Kelemahan : linear search untuk mencari sebuah file, sehingga implementasi yang lambat pada cara aksesnya dan eksekusi Solusi : linked list dan Software Cache
Implementasi Direktori (2) Hash Table Linear list menyimpan direktori, tetapi struktur data hash juga digunakan Proses: Hash table mengambil nilai yang dihitung dari nama file dan mengembalikan sebuah penunjuk ke nama file yang ada di linear list Kesulitan: ukuran tetap dan ketergantungan dari fungsi hash dengan ukuran hash table Alternatif: chained-overflow hash table (setiap hash table mempunyai linked list dari nilai individual dan kita dapat mengatasi crash dengan menambah tempat pada linked list tersebut) à namun dapat lebih lambat