Konsep dan Atribut
File System
v
Konsep
File
ÒAtribut FileÒOperasi pada File
ÒTipe File
ÒStruktur File
v
Metode Akses
ÒSequential Access File
ÒDirect Access File
Konsep File
v File adalah kumpulan informasi yang berhubungan dan tersimpan dalam secondary storage
v Tipe:
ÒData (character, numeric, binary)
Atribut File
v
Nama
v
Tipe
v
Lokasi
v
Ukuran
v
Waktu pembuatan dan identitas pembuat
v
Proteksi
Operasi pada File
v
Membuat
v
Menulis
v
Membaca
v
Menghapus
v
Mencari
v
Membuka
v
Menutup
Tipe File
Struktur File
v Sistem operasi membutuhkan struktur file tertentu
untuk menjalankan/ mengakses suatu file.
v Semua sistem operasi diharuskan mampu mengenal
sedikitnya satu jenis struktur file.
v Jika sistem operasi mengenal semakin banyak
Metode Akses
v
Sequential Access
v
Direct Access
read next write next reset
no read after last write (rewrite)
read n write n
position to n
read next write next rewrite n
Sequential Access File
Direct Access File
v Sangat berguna untuk pengaksesan langsung informasi
dalam jumlah besar. Contoh : database
v File dilihat sebagai sederetan blok yang berindeks
v Relative block number digunakan agar memungkinkan
sistem operasi untuk memutuskan dimana suatu file
Other Access Methods
v Metode akses lainnya dibangun/ dikembangkan
berdasarkan direct access method.
v Biasanya melibatkan proses pembuatan indeks dari file.
v Untuk mencari suatu bagian dari file, pertama-tama cari
indeksnya, kemudian dengan pointer tersebut kita
Contoh Indeks dan Relative
Files
Konsep Direktori
v Operasi pada Direktori
v Struktur Direktori
ÒSingle-Level Directory
ÒTwo-Level Directory
ÒTree-Structured Directory
ÒAcyclic-Graph Directory
Operasi pada direktori
v
Mencari file
v
Membuat file
v
Menghapus file
v
Melihat isi direktori
v
Ubah nama file
v
Traverse
file system
v
Membuka direktori
v
Menutup direktori
Single-Level Directory
v Semua file terdapat dalam
direktori yang sama
v Tiap file memiliki nama
yang unik
Two-Level Directory (1)
v Membuat direktori yang
terpisah untuk tiap user
v Terdapat User File
Directory (UFD) dan
Master File Directory
Two-Level Directory (2)
v Keterbatasan :
Tree-Structured Directory (1)
v Tiap direktori dapat mengandung file dan subdirektori v Path (absolut path) adalah urutan direktori yang berasal
dari MFD
v Working dir. (relative path) adalah path yang berasal dari
current directory
v Current directory adalah direktori yang baru-baru ini digunakan
Tree-Structured Directory (2)
Tree-Structured Directory (3)
Acyclic-Graph Directory
v Satu file dapat memiliki banyak absolut path yang berbeda
v Masalah : Penghapusan àdangling pointer
v Solusi :
ÒBackpointers, agar kita dapat menghapus semua pointer.
ÒBackpointers menggunakan struktur daisy chain.
General-Graph Directory (1)
General-Graph Directory (2)
v Meyakinkan tidak adanya siklus :
ÒHanya mengizinkan link ke file.
ÒGarbage collection.
Konsep
Mounting, Sharing
dan
Proteksi
v
File System Mounting
v
File Sharing
v
Proteksi
àTipe Akses
File System Mounting (1)
v Sebuah sistem berkas sebelum dapat digunakan harus
di-mount terlebih dahulu.
v Mounting: proses paling awal sebelum membuka sebuah direktori, yaitu dengan membuat sebuah direktori baru yang menjadi sub-tree dari tempat file system tsb diletakkan
File System Mounting (2)
Mount Point
File Sharing
(1)
v File sharing mendukung sebuah sistem operasi yang user-oriented.
v Berhubungan dengan permission.
File Sharing (2)
v
Multiple user
Ò Owner: user yang bisa mengganti atribut, membuka akses, dan mengontrol sebuah file atau direktori.
Ò Group: sekelompok user yang men-share akses sebuah file.
File Sharing (3)
v
Remote File System
Ò Model Client-Server
Ò Distributed Information System
Proteksi
v
Fungsi:
à Menjaga aman dari kerusakan fisik (reliability).
Tipe Akses
v
Baca
v
Tulis
v
Eksekusi
v
Menambah
v
Hapus
Kontrol Akses (1)
v Access-Control List (ACL): Suatu file atau direktori berasosiasi dengan suatu username dan tipe akses.
Kontrol Akses (2)
v 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.
Contoh Implementasi
19 –rw-rwxr-- john staff 100 Oct 20 22:12 journal
v Skema UNIX sistem kontrol.
v Terbagi dalam 3 fields masing-masing terdiri dari 3 bits.
Struktur dan Implementsi
File System
v
Struktur File System
v
Organisasi File System
v
Implementasi File System
à Partisi dan Mounting
à Virtual File System
v
Implementasi Direktori
à Linear List
Struktur
File System
v
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
Organisasi
File System (1)
application programs
logical file system
file – organization module
basic file system
I / O control
Organisasi
File System (2)
v Masalah desain dalam membangun file system
v Definisi dari file system - mencakup definisi file dan atributnya, operasi ke file, dan struktur direktori dalam mengorganisasikan file-file
v Membuat algoritma dan struktur data yang memetakan struktur logical file system ke tempat penyimpanan
Organisasi
File System (3)
v
I/O control (driver device dan interrupt handler)Driver device adalah perantara komunikasi antara sistem operasi dengan perangkat keras
v
Basic file systemOrganisasi
File System (4)
v
File-organization moduleInformasi 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
v
Logical file systemtingkat ini berisi informasi tentang simbol nama file, struktur dari direktori, proteksi dan sekuriti dari file
Implementasi
File System (1)
v Struktur On-disk
àBoot control block
informasi sistem untuk menjalankan mesin àPartition block control
spesifikasi partisi àStruktur direktori
mengatur file-file
àFCB
Implementasi
File System (2)
vStruktur 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
Partisi dan
Mounting (1)
v Partisi
v 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
v Cooked (berisi file system)
v Sebuah bisa memiliki beberapa partisi yang
Partisi dan
Mounting (2)
v Root partition di-mount pada boot time
Partisi yang lain di-mount secara otomatis atau manual (tergantung sistem operasi)
v Windows
setiap partisi yang di-mount ditandai dengan huruf dan colon
v UNIX
Virtual File System
v 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
Implementasi Direktori (1)
v Efisiensi, performa dan kehandalan
v 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
Implementasi Direktori (2)
v 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
File Hierarchy Standard
v
Asumsi
v
Struktur Direktori
à"/“ root directory
Asumsi
Struktur Direktori
v "/“ direktori root
v /bin perintah binari esensial
v /boot file statis dari boot loader
v /devdevice files
v /etc konfigurasi sistem host-specific
v /lib shared libraries essential dan modul kernel
v /mnt mount point untuk me-mount suatu file system sementara
v /opt tambahan paket aplikasi piranti lunak v /sbin sistem binari esensial
v /tmp file sementara
v /usr secondary hierarchy
Root File System
/bin (1)
v /bin mengandung perintah-perintah yang dapat digunakan baik itu oleh sistem administrasi dan oleh users. Dapat juga mengandung perintah-perintah yang dipakai secara tidak langsung oleh scripts.
/bin (2)
v
Berikut merupakan perintah dalam /bin
à cat perintah untuk mengkonkatenasi file
à chgrp perintah untuk mengubah kepemilikan file group à chmod perintah untuk mengubah ijin akses file
à chown perintah untuk mengubah kepemilikan file dan group
à cp perintah untuk mengcopy file dan direktori à date perintah untuk mencetak waktu sistem
à dd perintah untuk men-convert dan meng-copy file à df perintah untuk melaporkan penggunaan ruang disk à dmesg perintah untuk mencetak pesan kernel
v
/bin (3)
à kill perintah untuk mengirim signal ke process
à login perintah untuk memulai masuk ke dalam sistem à ls perintah untuk mendaftar isi direktori
à mkdir perintah untuk membuat direktori baru
à more perintah untuk melihat halaman per halaman à mount perintah untuk mount file system
à mv perintah untuk memindahkan/rename file à pwd perintah untuk mencetak nama direktori yg
sedang aktif
à rm perintah untuk menghapus file atau direktori à rmdir perintah untuk menghapus direktori kosong à su perintah untuk berganti user ID
à umount perintah untuk unmount filesystem
/boot
/dev
/etc
v
/etc mengandung konfigurasi file dan direktori
yang spesifik ke
current system
/home
/lib
/mnt
v Direktori ini disediakan agar sistem administrasi bisa
secara sementara me-mount filesystem sesuai dengan yang dibutuhkan. Isi dari direktori ini adalah isu lokal dan tidak boleh mempengaruhi manner dimana program sedang
berjalan.
v Direktori ini tidak boleh digunakan untuk instalasi
/opt
v /opt disediakan untuk instalasi dari tambahan untuk paket aplikasi piranti lunak.
/sbin
/tmp
v Direktori /tmp harus dibuat siap pakai untuk program yang membutuhkan file sementara.
/usr (1)
v /usr adalah second major section file system. /usr adalah data read-only yang dapat digunakan bersama-sama. Hal ini menandakan bahwa /usr harus bisa dipakai bersama-sama oleh various FHS-compliant hosts dan tidak boleh ditimpa. Informasi yang host-specific atau bervariasi
dengan waktu disimpan dimana saja.
/usr (2)
v
Direktori di bawah ini atau penghubung simbolik
direktori, diperlukan di /usr.
à"/usr“ “Hierarki kedua"
àbin perintah yang paling sering digunakan user àinclude header files termasuk dalam program
berbasis C
àlib perpustakaan
àlocal hierarki lokal (kosong setelah instalasi awal) àsbin sistem binari yang non-vital
/var (1)
v /var berisi variabel file data. Variabel file data ini
mengandung direktori spool dan file, administratif dan
logging data, dan file sementara.
v Beberapa bagian dari /var tidak bisa digunakan bersama antara sistem yang berbeda. Contohnya, /var/log,
/var/lock, dan /var/run. Bagian lain mungkin ada yang bisa dipakai bersama-sama, yang dapat dilihat /var/mail,
/var/cache/man, /var/cache/fonts, dan /var/spool/news.
/var (2)
v
Direktori berikut ini, atau penghubung simbolik ke
direktori, diperlukan di /var
à"/var“ "Variabel data"
àcache aplikasi data cache
àlib variable status informasi
àlocal variabel data untuk /usr/local àlock mengunci file
àlog log file dan direktori
àopt Variabel data untuk /opt
àrun data yang relevan dengan proses yang berjalan àspool aplikasi data spool
Konsep Alokasi Blok File System
v
Metoda Alokasi
àContiguous Allocation
àLinked Allocation
àIndexed Allocation
v
Managemen Ruang-Kosong
v
Recovery (Pemulihan)
v
Log-Structured File System
Metode Alokasi
v Untuk mengalokasikan file agar dapat diakses dengan cepat dan disk dapat dimanfaatkan secara efektif
v Metode yang sering digunakan ialah: àContiguous allocation
Contiguous Allocation
v Sebuah file didefinisikan oleh alamat disk (mendefinisikan urutan linier dari disk) dan panjangnya (dalam satuan blok) dari blok pertama
Masalah dari Contiguous
Allocation
v Mencari ruang untuk file baru
v External fragmentation
Linked Allocation
v Direktori mengandung sebuah pointer untuk blok pertama dan blok terakhir dari sebuah file
v Setiap blok mengandung sebuah pointer untuk ke blok selanjutnya (tidak dapat di buat oleh user)
v External fragmentation tidak terjadi di metode ini
Masalah dari Linked Allocation
v Tidak efisien saat file diakses secara langsung
v Pointer membutuhkan ruang
Indexed Allocation
v Pointer digabungkan didalam suatu blok yang dinamakan blok indeks
v Setiap file memiliki blok indeks masing-masing
Masalah dari Indexed Allocation
v Jika blok indeks terlalu kecil, maka itu tidak akan bisa
memuat pointer yang cukup untuk sebuah file yang besar
Mekanisme dari Indexed
Allocation
v
Linked scheme
v
Multilevel index
Linked Scheme
v Mekanisme ini dapat menghubungkan beberapa blok indeks
v Jika pointer tidak muat dalam satu blok indeks, maka pointer terakhir dari blok indeks ini menunjukkan blok indeks yang memuat pointer selanjutnya
Multilevel Index
v Blok indeks pada level pertama akan menunjukkan blok-blok indeks pada level kedua yang akan menunjuk ke
alamat data
Combined Scheme (1)
v Combined scheme menggabungkan blok langsung dan blok tidak langsung
Combined Scheme (2)
v Blok tidak langsung memiliki 3 pointer:
àPointer pertama menunjuk ke single indirect block
àPointer kedua menunjuk ke double indirect block
Kinerja dari Metode Alokasi
v Countiguous allocation: àEfisien untuk file kecil
àMendukung akses secara langsung
v Linked allocation
àMendukung akses secara sequential
v Indexed allocation
Manajemen Ruang-Kosong
v
Bit Vector
v
Linked List
v
Grouping
Bit Vector
v Daftar ruang kosong diimplementasikan sebagai bit map
atau bit vector
v Setiap bit merepresentasikan 1 blok. Jika bit tersebut
bernilai 1 maka blok tersebut kosong. Dan bernilai 0 untuk sebaliknya.
Linked List (1)
v Skema ini menghubungkan blok-blok yang masih kosong menjadi linked list
Linked List (2)
Grouping
v Metode ini hampir sama dengan mekanisme linked scheme dari metode indexed allocation, tapi pointer-nya
Counting
Keefisiensian dan Kinerja
v Keefisienan penggunaan dari ruang disk sangat tergantung pada alokasi disk dan algoritma direktori yang digunakan
v Untuk memperbaiki kinerja ada beberapa cara: à Menggunakan cache
à Menggunakan page cache
Recovery (Pemulihan)
v Pemeliharaan harus dijalankan untuk memastikan
kegagalan sistem tidak akan terjadi saat kehilangan data atau saat data tidak konsisten
v Ada 2 jenis pemulihan:
Log-Structured File System
v Algoritma logging ini sudah dipakai secara sukses untuk menangani masalah di pengecekan yang kontinu
NFS
v NFS adalah implementasi dan spesifikasi dari sistem perangkat lunak untuk mengakses files remote melalui
LANs
àOverview
àMount Protocol
àNFS Protocol
àPath-Name Translation
Overview
v NFS memperlihatkan suatu set interconnected
workstations sebagai suatu set dari mesin yang berdiri sendiri dengan file system yang berdiri sendiri
Mount Protocol
NFS Protocol
v NFS Protocol menyediakan suatu set dari RPCs untuk operasi remote file
v Prosedur mendukung operasi-operasi ini: àMencari file di dalam direktori
àMembaca suatu set direktori entri àMemanipulasi links dan direktori àMengakses atribut file
Path-Name Translation
v Ini dapat diselesaikan dengan memecah jejak ke nama-nama komponen dan menunjukkan NFS lookup call yang terpisah untuk setiap pasang nama komponen dan vnode
Remote Operations
di masa depan
menggunakan data
cached
v
Cache
atribut file