file systemdinus.ac.id/repository/docs/ajar/file_2013-08-28_09:18:22_agustin...sequential access...

101
File System

Upload: doancong

Post on 08-Apr-2019

247 views

Category:

Documents


1 download

TRANSCRIPT

File System

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

Tipe File

Sumber: Silberschatz, Galvin, Gagne. Operating System Concepts

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

Sequential Access File

Sumber: Silberschatz, Galvin, Gagne. Operating System Concepts

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.

Contoh Indeks dan Relative Files

Sumber: Silberschatz, Galvin, Gagne. Operating System Concepts

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

Tree-Structured Directory (2)

Sumber: Tanenbaum. Modern Operating System

Tree-Structured Directory (3)

Sumber: Silberschatz, Galvin, Gagne. Operating System Concepts

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 (1)

Sumber: Silberschatz, Galvin, Gagne. Operating System Concepts

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 System Mounting (2)

Sumber: Silberschatz, Galvin, Gagne. Operating System Concepts

Mount Point

Sumber: Silberschatz, Galvin, Gagne. Operating System Concepts

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).

Tipe AksesvBacavTulisvEksekusivMenambahvHapusvDaftar

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.

/devv/dev adalah lokasi dari suatu file khusus piranti

keras.

/etcv/etc mengandung konfigurasi file dan direktori

yang spesifik ke current system

vTidak ada binari yang bolah diletakkan di bawah/etc

/homev/home adalah suatu konsep standar, tetapi juga

merupakan site-specific file system.

/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

Sumber: Silberschatz, Galvin, Gagne. Operating System Concepts

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)

Sumber: Silberschatz, Galvin, Gagne. Operating System Concepts

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

Sumber: Silberschatz, Galvin, Gagne. Operating System Concepts

Mekanisme dari Indexed Allocation

vLinked scheme

vMultilevel index

vCombined scheme

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

Sumber: Silberschatz, Galvin, Gagne. Operating System Concepts

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

Manajemen Ruang-KosongvBit VectorvLinked ListvGroupingvCounting

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

Mount ProtocolvMount Protocol membuat hubungan inisial yang

logic antara suatu server dan pengguna

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

Remote Operations di masa depanmenggunakan data cached

vCache atribut file

vCache file blocks