file systemdinus.ac.id/repository/docs/ajar/file_2013-08-28_09:18:22_agustin...sequential access...
TRANSCRIPT
Konsep dan Atribut File SystemvKonsep FileÒAtribut FileÒOperasi pada FileÒTipe FileÒStruktur File
vMetode AksesÒ Sequential Access FileÒDirect Access FileÒLain-lain
Konsep Filev File adalah kumpulan informasi yang berhubungan dan
tersimpan dalam secondary storage
v Tipe: ÒData (character, numeric, binary)ÒProgram
Atribut FilevNamavTipevLokasivUkuranvWaktu pembuatan dan identitas pembuatvProteksivInformasi lain tentang file
Operasi pada FilevMembuatvMenulisvMembacavMenghapusvMencarivMembukavMenutupvMenghapus dengan menyisakan atribut
Struktur Filev 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 struktur file, maka semakin luas aplikasi yang dapat dijalankan namun ukuran sistem operasi semakin membengkak. Sebaliknya, jika semakin sedikit struktur file, maka sistem operasi hanya dapat menjalankan aplikasi dalam jumlah yang sedikit pula.
Metode AksesvSequential Access
vDirect Access
read nextwrite nextresetno read after last write
(rewrite)
read nwrite nposition to n
read nextwrite next
rewrite n
n = relative block number
Direct Access Filev 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 memungkinkansistem operasi untuk memutuskan dimana suatu file dapat ditempatkan, dan mencegah user untuk mengaksessebagian dari sistem file yang bukan merupakan bagiandari file miliknya
Other Access Methodsv 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 cariindeksnya, kemudian dengan pointer tersebut kitamengakses file secara langsung, lalu mencari bagian darifile yang diinginkan.
Konsep Direktoriv Operasi pada Direktori
v Struktur DirektoriÒSingle-Level DirectoryÒTwo-Level DirectoryÒTree-Structured DirectoryÒAcyclic-Graph DirectoryÒGeneral-Graph Directory
Operasi pada direktori
vMencari filevMembuat filevMenghapus filevMelihat isi direktorivUbah nama filevTraverse file system vMembuka direktorivMenutup direktorivLink & Unlink
Single-Level Directory
v Semua file terdapat dalam
direktori yang sama
v Tiap file memiliki nama
yang unikSumber: Tanenbaum. Modern Operating System
Two-Level Directory (1)
vMembuat direktori yang
terpisah untuk tiap user
v Terdapat User File
Directory (UFD) dan
Master File Directory
(MFD) Sumber: Tanenbaum. Modern Operating System
Two-Level Directory (2)v Keterbatasan :
Bila beberapa user ingin mengerjakan tugas secarakerjasama dan ingin mengakses file dari salah satu user untuk keperluan tersebut
Tree-Structured Directory (1)v Tiap direktori dapat mengandung file dan subdirektoriv Path (absolut path) adalah urutan direktori yang berasal
dari MFDvWorking dir. (relative path) adalah path yang berasal dari
current directoryv Current directory adalah direktori yang baru-baru ini
digunakanv Contoh absolut path : UserZ/Word/UnitD/XYZ
Acyclic-Graph Directoryv Satu file dapat memiliki banyak absolut path yang berbeda
vMasalah : Penghapusanàdangling pointer
v Solusi :ÒBackpointers, agar kita dapat menghapus semua
pointer.ÒBackpointers menggunakan struktur daisy chain.ÒSolusi entry-hold-count.
General-Graph Directory (2)vMeyakinkan tidak adanya siklus :ÒHanya mengizinkan link ke file.ÒGarbage collection.ÒMenggunakan algoritma siklik dalam mendeteksi siklus
setiap ada link baru yang ditambahkan.
Konsep Mounting, Sharing danProteksi
vFile System Mounting
vFile Sharing
vProteksiàTipe AksesàKontrol Akses
File System Mounting (1)v Sebuah sistem berkas sebelum dapat digunakan harus di-
mount terlebih dahulu.
vMounting: proses paling awal sebelum membuka sebuahdirektori, yaitu dengan membuat sebuah direktori baruyang menjadi sub-tree dari tempat file system tsbdiletakkan
vMount point: direktori kosong tempat file system yang akan di-mount diletakkan.
File Sharing (1)v File sharing mendukung sebuah sistem operasi yang user-
oriented.
v Berhubungan dengan permission.
vMultiple user bisa mengakses file yang sama.
File Sharing (2)vMultiple user ÒOwner: user yang bisa mengganti atribut, membuka akses,
dan mengontrol sebuah file atau direktori.ÒGroup: sekelompok user yang men-share akses sebuah
file.ÒTiap user memiliki user ID masing-masing yang unik.
File Sharing (3)vRemote File SystemÒModel Client-ServerÒDistributed Information SystemÒFailure Modes
ProteksivFungsi:àMenjaga aman dari kerusakan fisik (reliability).àMenjaga dari akses yang tidak diijinkan (protection).
Kontrol Akses (1)v Access-Control List (ACL): Suatu file atau direktori
berasosiasi dengan suatu username dan tipe akses.
v Owner, Group dan Universe Kontrol 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.
v Implementasi kontrol akses yang sering digunakanmerupakan kombinasi keduanya.
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.
v r mengontrol akses baca, w mengontrol akses tulis, dan x mengontrol akses eksekusi.
Struktur dan Implementsi File System
vStruktur File SystemvOrganisasi File SystemvImplementasi File Systemà Partisi dan Mountingà Virtual File System
vImplementasi Direktorià Linear Listà Hash Table
Struktur File SystemvKarakteristik penting dari disk :
àDisk tersebut dapat ditulis ulang di disk tersebut, hal inimemungkinkan untuk membaca, memodifikasi, danmenulis di disk tersebut
àDapat diakses langsung ke setiap block di disk. Hal inimemudahkan untuk mengakses setiap file baik secaraberurut maupun tidak berurut, dan berpindah dari satu file ke file lain dengan hanya mengangkat head disk danmenunggu disk berputar
Organisasi File System (1)application programs
logical file system
file – organization module
basic file system
I/O control
devices
Organisasi File System (2)vMasalah desain dalam membangun file system
v Definisi dari file system - mencakup definisi file danatributnya, operasi ke file, dan struktur direktori dalammengorganisasikan file-file
vMembuat algoritma dan struktur data yang memetakanstruktur logical file system ke tempat penyimpanansekunder
Organisasi File System (3)
vI/O control (driver device dan interrupt handler)Driver device adalah perantara komunikasi antara sistemoperasi dengan perangkat keras
vBasic file system Mengeluarkan perintah generic ke device driver baca
dan tulis pada suatu block dalam disk
Organisasi File System (4)
vFile-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
vLogical file systemtingkat ini berisi informasi tentang simbol nama file,
struktur dari direktori, proteksi dan sekuriti dari filetersebut
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
detil-detil file yang spesifik
Implementasi File System (2)vStruktur In-Memory:
à Table partitioninformasi partisi yang di-mount
à Struktur direktoriinformasi direktori yang paling sering diakses
à System wide open file tablesalinan dari FCB
à Per-process open file tablepointer yang menunjuk tempat masuk dalam systemwide 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 masing-masing mengandung file system dan sistem operasi yang berbeda
Partisi dan Mounting (2)v Root partition di-mount pada boot time
Partisi yang lain di-mount secara otomatis ataumanual (tergantung sistem operasi)
vWindowssetiap partisi yang di-mount ditandai dengan hurufdan colon
v UNIXfile system dapat di-mount di semua direktori
Virtual File Systemv 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)v Efisiensi, performa dan kehandalan
v Linear ListMetoda paling sederhana, dari nama file dengan
pointer ke datablock
àProses : Mencari (tidak ada nama file yang sama), tambahfile baru pada akhir direktori, hapus (mencari file dalamdirektori dan melepaskan tempat yang dialokasikan)
àMenggunakan suatu file : menandai atau menambahkanpada daftar direktori bebas
àKelemahan : linear search untuk mencari sebuah file, sehingga implementasi yang lambat pada cara aksesnya daneksekusi
àSolusi : linked list dan “Software Cache”
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 namafile yang ada di linear list
àKesulitan: ukuran tetap dan ketergantungan dari fungsihash dengan ukuran hash table
àAlternatif: chained-overflow hash table (setiap hash table mempunyai linked list dari nilai individual dan kita dapatmengatasi crash dengan menambah tempat pada linked list tersebut) à namun dapat lebih lambat
File Hierarchy StandardvAsumsi
vStruktur Direktorià"/“ root directoryà/bin, /boot, /dev, /etcà/lib, /mnt, /opt, /sbin, à/tmp, /usr, /var
AsumsivStandar ini menggunakan fitur-fitur dasar yang
ditemukan pada sebagian besar UNIX file system.
Struktur Direktoriv "/“ direktori rootv /bin perintah binari esensialv /boot file statis dari boot loaderv /dev device filesv /etc konfigurasi sistem host-specificv /lib shared libraries essential dan modul kernelv /mnt mount point untuk me-mount suatu file system
sementarav /opt tambahan paket aplikasi piranti lunakv /sbin sistem binari esensialv /tmpfile sementarav /usr secondary hierarchyv /var data variabel
Root File Systemv Fungsi root file system harus dapat menangani
masalah boot, restore, recover dan repair suatusistem.
/bin (1)v /bin mengandung perintah-perintah yang dapat digunakan
baik itu oleh sistem administrasi dan oleh users. Dapatjuga mengandung perintah-perintah yang dipakai secaratidak langsung oleh scripts.
v Tidak boleh ada sub-direktori di /bin
/bin (2)vBerikut 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à echo perintah untuk menampilkan sebaris teks
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àuname perintah untuk mencetak informasi sistem
/bootv Direktori ini mengandung semua yang diperlukan untuk
proses boot kecuali konfigurasi file dan map installer. /boot menyimpan data yang digunakan sebelum kernel mulai mengeksekusi program user-mode. /boot juga berisisektor saved master boot, sektor map files, dan data lain yang tidak di-edit langsung dengan tangan.
/etcv/etc mengandung konfigurasi file dan direktori
yang spesifik ke current system
vTidak ada binari yang bolah diletakkan di bawah/etc
/libv /lib adalah direktori yang mengandung shared library
image yang diperlukan untuk mem-boot sistem danmenjalankan perintah dalam root file system, contoh: dengan binari dalam /bin dan /sbin
/mntv Direktori ini disediakan agar sistem administrasi bisa
secara sementara me-mount filesystem sesuai dengan yang dibutuhkan. Isi dari direktori ini adalah isu lokal dan tidakboleh mempengaruhi manner dimana program sedangberjalan.
v Direktori ini tidak boleh digunakan untuk instalasiprogram: direktori sementara yang tepat, yang sedang tidakdigunakan oleh sistem, harus digunakan.
/optv /opt disediakan untuk instalasi dari tambahan untuk paket
aplikasi piranti lunak.
v Paket yang akan diinstalasi di /opt harus menempatkan file statis di direktori tree /opt/<paket> yang berbeda, dimana<paket> adalah nama yang mendeskripsikan paket pirantilunak.
/sbinv Utilitas yang digunakan untuk sistem administrasi (dan
perintah root-only yang lain) disimpan di /sbin/, /usr/sbin, dan /usr/local/sbin. /sbin mengandung binari esensial untukboot, meyimpan kembali, mengembalikan seperti semula, dan/atau membetulkan sistem dalam penambahan ke binaridalam /bin.
/tmpv Direktori /tmp harus dibuat siap pakai untuk program yang
membutuhkan file sementara.
v Program tidak boleh berasumsi bahwa file atau direktoridalam /tmp disediakan diantara invokasi dari program.
/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 bolehditimpa. Informasi yang host-specific atau bervariasidengan waktu disimpan dimana saja.
v Paket piranti lunak besar tidak boleh menggunakan sub-direktori langsung di bawah hierarki /usr.
/usr (2)vDirektori 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àshare data architecture-independent
/var (1)v /var berisi variabel file data. Variabel file data ini
mengandung direktori spool dan file, administratif danlogging data, dan file sementara.
v Beberapa bagian dari /var tidak bisa digunakan bersamaantara sistem yang berbeda. Contohnya, /var/log, /var/lock, dan /var/run. Bagian lain mungkin ada yang bisadipakai bersama-sama, yang dapat dilihat /var/mail, /var/cache/man, /var/cache/fonts, dan /var/spool/news.
v /var dispesifikasi agar memungkinkan untuk me-mountuser read-only. Semuanya yang mula-mula dimasukkan kedalam /usr yang ditulis selama sistem operasi (kebalikandari instalasi dan pemeliharaan piranti lunak) harus terletakdi /var.
/var (2)vDirektori 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àtmp file sementara
Konsep Alokasi Blok File SystemvMetoda AlokasiàContiguous AllocationàLinked Allocationà Indexed Allocation
vManagemen Ruang-KosongvRecovery (Pemulihan)vLog-Structured File SystemvNFS
Metode Alokasiv Untuk mengalokasikan file agar dapat diakses dengan
cepat dan disk dapat dimanfaatkan secara efektif
vMetode yang sering digunakan ialah:àContiguous allocationàLinked allocationàIndexed allocation
Contiguous Allocationv Sebuah file didefinisikan oleh alamat disk (mendefinisikan
urutan linier dari disk) dan panjangnya (dalam satuan blok) dari blok pertama
v Contiguous allocation mendukung pengaksesan secarasekuensial dan juga pengaksesan secara langsung
Masalah dari Contiguous Allocation
vMencari ruang untuk file baru
v External fragmentation
vMenentukan berapa banyak ruang yang dibutuhkan untuksuatu file
Linked Allocationv Direktori mengandung sebuah pointer untuk blok pertama
dan blok terakhir dari sebuah file
v Setiap blok mengandung sebuah pointer untuk ke blokselanjutnya (tidak dapat di buat oleh user)
v External fragmentation tidak terjadi di metode ini
v Efektif saat file diakses secara sequential
Masalah dari Linked Allocationv Tidak efisien saat file diakses secara langsung
v Pointer membutuhkan ruang
v File berikutnya bergantung dengan file sebelumnya (dalampointer)
Indexed Allocationv Pointer digabungkan didalam suatu blok yang dinamakan
blok indeks
v Setiap file memiliki blok indeks masing-masing
v Direktori mengandung alamat dari blok indeks
Masalah dari Indexed Allocationv Jika blok indeks terlalu kecil, maka itu tidak akan bisa
memuat pointer yang cukup untuk sebuah file yang besar
v Suatu mekanisme akan dibutuhkan menangani masalahtersebut
Linked SchemevMekanisme ini dapat menghubungkan beberapa blok
indeks
v Jika pointer tidak muat dalam satu blok indeks, makapointer terakhir dari blok indeks ini menunjukkan blokindeks yang memuat pointer selanjutnya
v Jika pointer hanya membutuhkan satu blok indeks saja, maka pointer terakhir dari blok indeks ini adalah null
Multilevel Indexv Blok indeks pada level pertama akan menunjukkan blok-
blok indeks pada level kedua yang akan menunjuk kealamat data
v Ini dapat diteruskan ke level ketiga atau level keempattergantung dari jumlah data yang dibutuhkan
Combined Scheme (1)v Combined scheme menggabungkan blok langsung dan
blok tidak langsung
v Blok langsung memiliki pointer yang menunjuk ke data
Combined Scheme (2)v Blok tidak langsung memiliki 3 pointer:àPointer pertama menunjuk ke single indirect blockàPointer kedua menunjuk ke double indirect blockàPointer ketiga menunjuk ke triple indirect block
Kinerja dari Metode Alokasiv Countiguous allocation:àEfisien untuk file kecilàMendukung akses secara langsung
v Linked allocationàMendukung akses secara sequential
v Indexed allocationàTergantung dari struktur index, ukuran file, dan posisi
dari blok yang dibutuhkan
Bit Vectorv Daftar ruang kosong diimplementasikan sebagai bit map
atau bit vector
v Setiap bit merepresentasikan 1 blok. Jika bit tersebutbernilai 1 maka blok tersebut kosong. Dan bernilai 0 untuksebaliknya.
v Bit pertama untuk blok pertama, bit kedua untuk blokkedua, dst
Linked List (1)v Skema ini menghubungkan blok-blok yang masih kosong
menjadi linked list
v Linked List menyimpan suatu pointer di blok kosong yang pertama di lokasi yang khusus di disk dan menyimpannyadi memori
Linked List (2)v Blok pertama ini mengandung suatu pointer untuk ke blok
disk kosong selanjutnya dan seterusnya
GroupingvMetode ini hampir sama dengan mekanisme linked scheme
dari metode indexed allocation, tapi pointer-nyamenunjukkan alamat blok yang kosong dan pointer terakhir akan menunjukkan ke blok selanjutnya yang mengandung pointer
CountingvMetode ini mempunyai direktori yang menyimpan awal
dan panjang seperti contiguous allocation untuk file-file yang masih kosong
Keefisiensian dan Kinerjav 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àMenggunakan Unified Buffer 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:à Pengecekan yang kontinuà Backup and Restore
Log-Structured File Systemv Algoritma logging ini sudah dipakai secara sukses untuk
menangani masalah di pengecekan yang kontinu
v Hasil implementasinya disebut log-based transaction-oriented
NFSv NFS adalah implementasi dan spesifikasi dari sistem
perangkat lunak untuk mengakses files remote melaluiLANsàOverviewàMount ProtocolàNFS ProtocolàPath-Name TranslationàRemote Operations
Overviewv NFS memperlihatkan suatu set interconnected
workstations sebagai suatu set dari mesin yang berdirisendiri dengan file system yang berdiri sendiri
v Tujuannya untuk mengikuti beberapa tingkatan daripembagian antara file-file sistem dengan cara yang transparan
NFS Protocolv 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àMembaca dan menulis files
Path-Name Translationv Ini dapat diselesaikan dengan memecah jejak ke nama-
nama komponen dan menunjukkan NFS lookup call yang terpisah untuk setiap pasang nama komponen dan vnodedirektori