• Tidak ada hasil yang ditemukan

Konsep dan Atribut File System

N/A
N/A
Protected

Academic year: 2021

Membagikan "Konsep dan Atribut File System"

Copied!
101
0
0

Teks penuh

(1)
(2)

Konsep dan Atribut File System

vKonsep File

Ò Atribut File

Ò Operasi pada File Ò Tipe File

Ò Struktur File

vMetode Akses

Ò Sequential Access File Ò Direct Access File Ò Lain-lain

(3)

Konsep File

v File adalah kumpulan informasi yang berhubungan dan tersimpan dalam secondary storage

v Tipe:

ÒData (character, numeric, binary) ÒProgram

(4)

Atribut File

vNama

vTipe

vLokasi

vUkuran

vWaktu pembuatan dan identitas pembuat

vProteksi

(5)

Operasi pada File

vMembuat

vMenulis

vMembaca

vMenghapus

vMencari

vMembuka

vMenutup

(6)

Tipe File

(7)

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

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.

(8)

Metode Akses

vSequential Access

vDirect 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

(9)

Sequential Access File

(10)

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

dapat ditempatkan, dan mencegah user untuk mengakses sebagian dari sistem file yang bukan merupakan bagian dari file miliknya

(11)

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

mengakses file secara langsung, lalu mencari bagian dari file yang diinginkan.

(12)

Contoh Indeks dan Relative

Files

(13)

Konsep Direktori

v Operasi pada Direktori v Struktur Direktori ÒSingle-Level Directory ÒTwo-Level Directory ÒTree-Structured Directory ÒAcyclic-Graph Directory ÒGeneral-Graph Directory

(14)

Operasi pada direktori

vMencari file

vMembuat file

vMenghapus file

vMelihat isi direktori

vUbah nama file

vTraverse file system

vMembuka direktori

vMenutup direktori

vLink & Unlink

(15)

Single-Level Directory

v Semua file terdapat dalam direktori yang sama

v Tiap file memiliki nama yang unik

(16)

Two-Level Directory (1)

v Membuat direktori yang terpisah untuk tiap user v Terdapat User File

Directory (UFD) dan Master File Directory

(17)

Two-Level Directory (2)

v Keterbatasan :

Bila beberapa user ingin mengerjakan tugas secara kerjasama dan ingin mengakses file dari salah satu user untuk keperluan tersebut

(18)

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

(19)

Tree-Structured Directory (2)

(20)

Tree-Structured Directory (3)

(21)

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. ÒSolusi entry-hold-count.

(22)

General-Graph Directory (1)

(23)

General-Graph Directory (2)

v Meyakinkan tidak adanya siklus : ÒHanya mengizinkan link ke file. ÒGarbage collection.

ÒMenggunakan algoritma siklik dalam mendeteksi siklus setiap ada link baru yang ditambahkan.

(24)

Konsep Mounting, Sharing dan

Proteksi

vFile System Mounting

vFile Sharing

vProteksi

à Tipe Akses à Kontrol Akses

(25)

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

v Mount point: direktori kosong tempat file system yang akan di-mount diletakkan.

(26)

File System Mounting (2)

(27)

Mount Point

(28)

File Sharing (1)

v File sharing mendukung sebuah sistem operasi yang user-oriented.

v Berhubungan dengan permission.

(29)

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.

(30)

File Sharing (3)

vRemote File System

Ò Model Client-Server

Ò Distributed Information System Ò Failure Modes

(31)

Proteksi

vFungsi:

à Menjaga aman dari kerusakan fisik (reliability).

(32)

Tipe Akses

vBaca

vTulis

vEksekusi

vMenambah

vHapus

vDaftar

(33)

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.

(34)

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 digunakan merupakan kombinasi keduanya.

(35)

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

(36)

Struktur dan Implementsi

File System

vStruktur File System

vOrganisasi File System

vImplementasi File System

à Partisi dan Mounting à Virtual File System

vImplementasi Direktori

à Linear List à Hash Table

(37)

Struktur File System

vKarakteristik 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

(38)

Organisasi File System (1)

application programs logical file system

file – organization module basic file system

I/O control devices

(39)

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

(40)

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 system

Mengeluarkan perintah generic ke device driver baca dan tulis pada suatu block dalam disk

(41)

Organisasi File System (4)

v

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

v

Logical file system

tingkat ini berisi informasi tentang simbol nama file, struktur dari direktori, proteksi dan sekuriti dari file

(42)

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

(43)

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

pointer yang menunjuk tempat masuk dalam system wide open file table

(44)

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

(45)

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

(46)

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

(47)

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

(48)

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

à 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

(49)

File Hierarchy Standard

vAsumsi

vStruktur Direktori

à"/“ root directory à/bin, /boot, /dev, /etc à/lib, /mnt, /opt, /sbin, à/tmp, /usr, /var

(50)

Asumsi

vStandar ini menggunakan fitur-fitur dasar yang

ditemukan pada sebagian besar UNIX file system.

(51)

Struktur Direktori

v "/“ direktori root

v /bin perintah binari esensial

v /boot file statis dari boot loader v /dev device 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 /tmpfile sementara

v /usr secondary hierarchy v /var data variabel

(52)

Root File System

v Fungsi root file system harus dapat menangani

masalah boot, restore, recover dan repair suatu

sistem.

(53)

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

(54)

/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

(55)

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

(56)

/boot

v 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 berisi sektor saved master boot, sektor map files, dan data lain yang tidak di-edit langsung dengan tangan.

(57)

/dev

v/dev adalah lokasi dari suatu file khusus piranti

keras.

(58)

/etc

v/etc mengandung konfigurasi file dan direktori

yang spesifik ke current system

vTidak ada binari yang bolah diletakkan di bawah

/etc

(59)

/home

v/home adalah suatu konsep standar, tetapi juga

merupakan site-specific file system.

(60)

/lib

v /lib adalah direktori yang mengandung shared library image yang diperlukan untuk mem-boot sistem dan menjalankan perintah dalam root file system, contoh: dengan binari dalam /bin dan /sbin

(61)

/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

program: direktori sementara yang tepat, yang sedang tidak digunakan oleh sistem, harus digunakan.

(62)

/opt

v /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 piranti lunak.

(63)

/sbin

v 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 untuk boot, meyimpan kembali, mengembalikan seperti semula, dan/atau membetulkan sistem dalam penambahan ke binari dalam /bin.

(64)

/tmp

v Direktori /tmp harus dibuat siap pakai untuk program yang membutuhkan file sementara.

v Program tidak boleh berasumsi bahwa file atau direktori dalam /tmp disediakan diantara invokasi dari program.

(65)

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

v Paket piranti lunak besar tidak boleh menggunakan sub-direktori langsung di bawah hierarki /usr.

(66)

/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

(67)

/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. v /var dispesifikasi agar memungkinkan untuk me-mount

user read-only. Semuanya yang mula-mula dimasukkan ke dalam /usr yang ditulis selama sistem operasi (kebalikan dari instalasi dan pemeliharaan piranti lunak) harus terletak di /var.

(68)

/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

(69)

Konsep Alokasi Blok File System

vMetoda Alokasi

à Contiguous Allocation à Linked Allocation à Indexed Allocation

vManagemen Ruang-Kosong

vRecovery (Pemulihan)

vLog-Structured File System

vNFS

(70)

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

àLinked allocation àIndexed allocation

(71)

Contiguous Allocation

v Sebuah file didefinisikan oleh alamat disk (mendefinisikan urutan linier dari disk) dan panjangnya (dalam satuan blok) dari blok pertama

v Contiguous allocation mendukung pengaksesan secara sekuensial dan juga pengaksesan secara langsung

(72)
(73)

Masalah dari Contiguous

Allocation

v Mencari ruang untuk file baru v External fragmentation

v Menentukan berapa banyak ruang yang dibutuhkan untuk suatu file

(74)

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 v Efektif saat file diakses secara sequential

(75)

Masalah dari Linked Allocation

v Tidak efisien saat file diakses secara langsung v Pointer membutuhkan ruang

v File berikutnya bergantung dengan file sebelumnya (dalam pointer)

(76)
(77)

Indexed Allocation

v Pointer digabungkan didalam suatu blok yang dinamakan blok indeks

v Setiap file memiliki blok indeks masing-masing v Direktori mengandung alamat dari blok indeks

(78)

Masalah dari Indexed Allocation

v 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 masalah

(79)
(80)

Mekanisme dari Indexed

Allocation

vLinked scheme

vMultilevel index

vCombined scheme

(81)

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

v Jika pointer hanya membutuhkan satu blok indeks saja, maka pointer terakhir dari blok indeks ini adalah null

(82)

Multilevel Index

v Blok indeks pada level pertama akan menunjukkan blok-blok indeks pada level kedua yang akan menunjuk ke

alamat data

v Ini dapat diteruskan ke level ketiga atau level keempat tergantung dari jumlah data yang dibutuhkan

(83)

Combined Scheme (1)

v Combined scheme menggabungkan blok langsung dan blok tidak langsung

(84)

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

(85)
(86)

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

àTergantung dari struktur index, ukuran file, dan posisi dari blok yang dibutuhkan

(87)

Manajemen Ruang-Kosong

vBit Vector

vLinked List

vGrouping

vCounting

(88)

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.

v Bit pertama untuk blok pertama, bit kedua untuk blok kedua, dst

(89)

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 menyimpannya di memori

(90)

Linked List (2)

v Blok pertama ini mengandung suatu pointer untuk ke blok disk kosong selanjutnya dan seterusnya

(91)

Grouping

v Metode ini hampir sama dengan mekanisme linked scheme dari metode indexed allocation, tapi pointer-nya

menunjukkan alamat blok yang kosong dan pointer terakhir akan menunjukkan ke blok selanjutnya yang mengandung pointer

(92)

Counting

v Metode ini mempunyai direktori yang menyimpan awal dan panjang seperti contiguous allocation untuk file-file yang masih kosong

(93)

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

(94)

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

(95)

Log-Structured File System

v Algoritma logging ini sudah dipakai secara sukses untuk menangani masalah di pengecekan yang kontinu

v Hasil implementasinya disebut log-based transaction-oriented

(96)

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 àRemote Operations

(97)

Overview

v NFS memperlihatkan suatu set interconnected

workstations sebagai suatu set dari mesin yang berdiri sendiri dengan file system yang berdiri sendiri

v Tujuannya untuk mengikuti beberapa tingkatan dari pembagian antara file-file sistem dengan cara yang transparan

(98)

Mount Protocol

vMount Protocol membuat hubungan inisial yang

logic antara suatu server dan pengguna

(99)

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

(100)

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 direktori

(101)

Remote Operations di masa depan

menggunakan data cached

vCache atribut file

vCache file blocks

Referensi

Dokumen terkait

The validity handler looks into the page table for the disk address of the page, and also finds the in-core inode from its region table. The logical block number is used as an offset

Here are the functions that are provided in the file drive activity list: List the content of the user who is logged on, Navigation in Google Drive, To

Split screen system digunakan untuk dapat melakukan navigasi, dimana pada layar monitor dibagi menjadi dua bagian untuk memvisualisasikan file-file pada media penyimpanan disk,

Proses Pendeteksian Perangkat Klien WURFL menyediakan user-agent dari berbagai jenis perangkat mobile dalam jumlah yang sangat banyak, akan tetapi pada kenyataannya

Manfaat dari tugas akhir Pengimplementasian Paralel Virtual File System adalah menyediakan cluster-wide consistent name space (pengaksesan direktori (jari beberapa