Anda di halaman 1dari 18

Mata Kuliah : Sistem Operasi

Kode MK : IT-012336

Sistem File
11
 Konsep File
Sistem File
 Metode Akses
Tim Teaching Grant  Struktur Direktori
Mata Kuliah Sistem Operasi
 Mounting Sistem File
 File Sharing
 Proteksi

Bab 11. Sistem File 2

Konsep File Aspek Sudut Pandang User


 Ruang alamat logik yang berdampingan  Media penyimpanan data/informasi:
 magnetic disk, magnetic tape, dan optical disk
 Tipe :  Untuk kenyamanan user
 Data  OS menyediakan sudut pandang lojik yang sama
 numeric bagi semua media dengan abstraksi unit-unit
 character storage lojik yaitu file
 binary
 Program

Bab 11. Sistem File 3 Bab 11. Sistem File 4


Aspek Isi dan Struktur File Structure
 Urutan word, bytes
 Isi File
 Struktur record sederhana
 Representasi program atau data yang terekam
 Lines
dalam secondary storage
 Fixed length
 Struktur file  Variable length
 Bebas maupun berformat  Struktur kompleks
 Secara umum file merupakan deretan bit, byte,  Formatted document
baris, atau record yang artinya didefinisikan  Relocatable load file
sendiri oleh user perancangnya  Yang membuat keputusan :
 Sistem operasi
 Program
Bab 11. Sistem File 5 Bab 11. Sistem File 6

Atribut File Operasi-operasi File


 Name –informasi yang disimpan untuk keperluan identifikasi  Enam operasi dasar yang berkaitan dengan
form oleh pengguna
 Type – dibutuhkan sistem untuk mendukung tipe yang
manajemen file sistem:
berbeda.  Create file
 Location – pointer ke lokasi file pada device  Write file
 Size – ukuran file yang sedang digunakan.  Read file
 Protection – kontrol terhadap pengguna yang sedang
melakukan baca, tulis dan eksekusi.
 Reposition dalam file
 Time, date, dan user identification – proteksi data untuk  Delete file
pengamanan dan monitoring pengguna.  Truncate file
 Informasi yang disimpan file dalam struktur direktori untuk
memudahkan pengelolaan disk.
Bab 11. Sistem File 7 Bab 11. Sistem File 8
Operasi-operasi File (cont.) Operasi-operasi File (cont.)
 Read file:
 Create file:  OS melakukan hal yang sama dengan penulisan file kecuali
 (1) menemukan free space; (2) entry baru dibuat dalam operasinya membaca dari lokasi dalam disk ke dalam memori
tabel direktori yang mencatat nama dan lokasi; serta (3)
 Reposition dalam file:
ukuran yang diinisialisasi 0
 (1) OS melihat ke direktori untuk mencari entry yang dimaksud,
 Write file: (2) pointer di set dengan harga (lokasi) tertentu yang diberikan
 (1) OS melihat ke direktori untuk mencari lokasinya dalam  Delete file:
disk; (2) melakukan transfer dari memori ke lokasi dalam  (1) OS melihat ke direktori mencari entry dengan nama yang
disk (suatu pointer digunakan sebagai penunjuk lokasi dimaksud; (2) kemudian membebaskan space yang teralokasi;
penulisan berikutnya); dan (3) entry dalam direktori di (3) serta menghapus entry tsb
update  Truncate file:
 sama dengan menghapus file kecuali entry tidak dihapuskan tapi
Bab 11. Sistem File 9
ukuran file diisi 0 Bab 11. Sistem File 10

Operasi-operasi File Lain Tipe File, Nama, Ekstensi


 Operasi-operasi lain pada dasarnya
dilakukan dengan kombinasi operasi-operasi
dasar tadi, contoh:
 Append file
 Rename file
 Get atribut file
 Set atribut file

Bab 11. Sistem File 11 Bab 11. Sistem File 12


Metoda Akses Metode Akses (cont.)
 Sequential Access  Sequential Access
read next
 Akses dilakukan dengan satu arah pembacaan/penulisan
write next
(dari awal hingga akhir) jika ingin mundur maka perlu
reset
dilakukan rewind
no read after last write
 Direct Access (random access) (rewrite)
 Akses dilakukan bisa pada posisi mana saja dalam file  Direct Access
 Metoda lain read n
write n
 Abstraksi lebih tinggi dari direct access position to n
 Index file & relative file read next
 Tabel Informasi index: record dan pointer ke file direct write next
access. rewrite n
Bab 11. Sistem File 13 n = relative block number Bab 11. Sistem File 14

Akses File Sequential Contoh Index and Relative Files

Bab 11. Sistem File 15 Bab 11. Sistem File 16


Struktur Direktori Struktur Direktori (cont.)
 Directory: kumpulan node yang berisi
informasi dari semua file. Directory
 Baik struktur direktori maupun file terletak
di disk.
 Backup kedua struktur tersebut dapat
disimpan pada tape.
 A collection of nodes containing information Files
F1 F2 F4
F3
about all files. Fn

Bab 11. Sistem File 17 Bab 11. Sistem File 18

Informasi yang Ada pada


Organisasi Sistem File Device Direktori
 Name
 Type
 Address
 Current length
 Maximum length
 Date last accessed (for archival)
 Date last updated (for dump)
 Owner ID (who pays)
 Protection information (discuss later)
Bab 11. Sistem File 19 Bab 11. Sistem File 20
Operasi Direktori Organisasi Directory (Logik)

 Pencarian file  Efficiency – menempatkan file secara cepat.


 Pembuatan file  Naming – kenyamanan pengguna
 Dua pengguna dapat memberikan nama yang
 Penghapusan file sama untuk file berbeda.
 Daftar directory  File yang sama dapat memiliki beberapa nama
 Penggantian nama file yang berbeda.
 Grouping – pengelompokkan file secara
 Lintas sistem file
logik logical grouping berdasarkan properti
(contoh : semua program Java, semua
games, …)
Bab 11. Sistem File 21 Bab 11. Sistem File 22

Direktori Satu Tingkat Direktori Dua Tingkat


 Hanya ada direktori satu tingkat untuk semua  Pemisahan Direktori untuk setiap user.
user.

• Naming problem
•Path name
• Grouping problem •Dapat memiliki nama yang sama untuk user berbeda
•Pencarian yang efisien
•Tidak perlu dikelompokkan
Bab 11. Sistem File 23 Bab 11. Sistem File 24
Direktori Struktur Tree Direktori Struktur Tree (cont.)

 Pencarian yang efisien (Efficient searching)


 Menyediakan grouping
 Terdapat Current directory (working directory)
 cd /spell/mail/prog
 type list

Bab 11. Sistem File 25 Bab 11. Sistem File 26

Direktori Struktur Tree (cont.) Direktori Acyclic-Graph


 Absolute atau relative path name
 Saling berbagi (share) diantara subdirektori
 Pembuatan file baru pada current directory.
dan file
 Delete a file
rm <file-name>
 Pembuatan subdirektori baru pada current
directory.
mkdir <dir-name>
Contoh: jika current directory /mail mail

mkdir count prog copy prt exp count


Deleting “mail” ⇒ deleting the entire subtree rooted by “mail”.
Bab 11. Sistem File 27 Bab 11. Sistem File 28
Direktori Acyclic-Graph (cont.) Direktori General Graph
 Dua nama berbeda (aliasing)

 Jika dict dihapus list ⇒ dangling pointer.


Solusi :
 Backpointer, kita dapat menghapus semua pointer.
Masalahnya adalah pada ukuran record yang bervariasi.
 Backpointers menggunakan organisasi daisy chain.
 Solusi : Entry-hold-count.

Bab 11. Sistem File 29 Bab 11. Sistem File 30

Direktori General Graph (cont.) Mounting Sistem File


 Bagaimana kita menjamin tidak terjadi siklus ?  Sistem file harus di-mount sebelum diakses.
 Sistem file yang tidak di mount akan di mount pada titik mount.
 Mengijinkan link hanya pada file dan bukan pada
subdirektori.
 Mengumpulkan sampah (garbage).
 Setiap kali terdapat link baru ditambahkan
menggunakan algoritma penghapusan siklus
apakah OK.

(a) existing (b) Unmounted partition Mount point


Bab 11. Sistem File 31 Bab 11. Sistem File 32
File Sharing Proteksi
 Pemilik/pembuat file sebaiknya dapat mengendalikan :
 Sharing file pada sistem multi user sangat diharapkan
 File apa yang sedang dikerjakan
 Siapa yang sedang bekerja menggunakan file
 Sharing dapat dilakukan melalui skema proteksi.
 Jenis Akses :
 Pada sistem terdistribusi, file dapat di-share lintas jaringan.  Read
 Write
 Network File System (NFS) adalah bentuk umum sharing file  Execute
terdistribusi.
 Append
 Delete
 List

Bab 11. Sistem File 33 Bab 11. Sistem File 34

File System Security Security implementation


 Mekanisme proteksi:  Access Control Lists (ACL)
 Ide OS:  setiap file (i-node) dikaitkan dengan otorisasi dan list hak
 protection domain: operasi terhadap file dari berbagai proses
 objek dan hak operasi  otorisasi: identifikasi pemakai, program, terminal etc
 UNIX: uid (user id) dan gid (group id)  list dapat beragam: move, delete, open etc
semua objek file (direktori, I/O) : dikaitkan dengan id
 UNIX: list: read, write, execute
untuk hak operasi (read, write, execute)
 proses dengan uid dan gid yang sama mempunyai hak yang sama  Capabilities:
untuk setiap objek dalam domain OS UNIX  setiap proses diasosiasikan dengan objek dapat digunakan:
 Proses:  operasi yang diizinkan (capability)
 eksekusi: kode user dan kode kernel  jenis objek (tipe), hak, pointer ke objek tsb (i-node)
 SETUID: proses mendapatkan privilege sementara, efektif uid, gid  dimana capability disimpan:
berubah
 OS (kernel)
 Proteksi: dalam bentuk ring dan gate  user space: disandikan
Bab 11. Sistem File 35 Bab 11. Sistem File 36
UNIX: proteksi Proteksi (cont.)
 Mode akses : read, write, execute  Mintalah manager untuk membuat group baru
 Tiga kelas user (unique name), katakanlah G, tambahkan beberapa
RWX user pada group tersebut.
a) owner access 7 ⇒ 111
RWX  Untuk particular file (katakanlah game) atau
b) groups access 6 ⇒ 110 subdirectory, definisikan akses dengan tepat.
RWX
c) public access 1 ⇒ 001 owner group public

chmod 761 game

 Attach group ke file : chgrp G game


Bab 11. Sistem File 37 Bab 11. Sistem File 38

Implementasi Sistem File Struktur Sistem File


 Penyimpanan dan pengaksesan file pada  Akibat efisiensi, transfer I/O antara memory &
media secondary storage disk disk dilakukan dalam satuan-satuan block
 Mengalokasi space, merecover space yang  satu block = satu atau beberapa sector
dilepaskan, mencatat lokasi data,  sector = bervariasi dari 32 byte hingga 4096 byte
memperantarai bagian-bagian OS lain (umumnya =512 byte)
dengan secondary storage.  Karakteristik Disk: rewritable in place & direct
access

Bab 11. Sistem File 39 Bab 11. Sistem File 40


Organisasi Sistem File Tingkatan /level dari Sistem File
 Sistem file: menyediakan akses yang efisien  Sistem file logik: struktur direktori & nama file
dan nyaman ke disk simbolis => interface
 Masalah-masalah rancangan:  Modul organisasi file: blok-blok file logik/fisik,
manajemen blok-blok bebas => alokasi
 penampakan bagi user: definisi dan atribut file,
operasi file, struktur directori  Sistem file dasar: menghasilkan perintah-perintah
generik untuk read/write ke block fisik dalam disk
 Algoritma dan struktur data untuk memetakan
sistem file lojik ke secondary-storage device  I/O control: device driver & interrupt handler untuk
menterjemahkan perintah-perintah generik ke
perintah-perintah spesifik HW

Bab 11. Sistem File 41 Bab 11. Sistem File 42

Tingkatan /level dari Sistem File Tingkatan /level dari Sistem File
(cont.) (cont.)
 Contoh ketika program aplikasi memanggil
sistem file logik untuk create file
 Sistem file logik membaca direktori ybs ke
memori, mengupdatenya dengan entry baru, dan
menuliskan kembali ke dalam disk
 Sistem file logik memanggil modul organisasi file
untuk memetakan I/O direktori ke dalam nomor-
nomor blok dari disk

Bab 11. Sistem File 43 Bab 11. Sistem File 44


Alokasi Storage Space Contiguous Allocation
 Contiguous Allocation  Setiap file menempati sejumlah block yang
 Linked Allocation beralamat contiguous dalam disk sehingga
 Indexed Allocation meminimisasi gerakan head antara
pembacaan block
 digunakan oleh IBM VM/CMS
 digunakan oleh komputer mikro untuk floppy disk
 Akses mudah: sequential atauapun direct

Bab 11. Sistem File 45 Bab 11. Sistem File 46

Contiguous Allocation (cont.) Contiguous Allocation (cont.)

File index block


 Masalah reliabilitas
orange 9  harga pointer bisa berubah HW failure
lemon 21
 Solusi: doubly linked list untuk menyimpan nama
0 1 2 3
file dan nomor relatif block pada setiap block
4 5 6 7
(penambahan overhead)
8 9 10 11

12 13 14 15  Masalah jumlah akses memori yang besar


16 17 18 19
 Solusi: skema FAT
20 21 22 23

24 25 26 27

28 29 30 31

Bab 11. Sistem File 47 Bab 11. Sistem File 48


Masalah Contiguous Allocation Linked Allocation
 Penemuan space: first fit atau best fit?  Setiap file menempati sejumlah block yang
 Fragmentasi eksternal: perlu dilakukan terangkai secara lojik dalam linked-list
kompaksi  Tidak ada masalah fragmentasi eksternal
 File output suatu proses tidak dapat  Kerugian
diketahui, dan file bisa bertambah besar/kecil  tidak efisien dalam penanganan direct access
 Diperlukan ruang untuk pointer; contoh pointer 4
byte dalam block 512-byte adalah 0.78%
 Sulusi: alokasi berbasis kluster

Bab 11. Sistem File 49 Bab 11. Sistem File 50

Linked Allocation Linked Allocation


File index block
orange 9
 Masalah reliabilitas
 harga pointer bisa berubah HW failure
0 1 2 3
 Solusi: doubly linked list untuk menyimpan nama
4 5 6 7
file dan nomor relatif block pada setiap block
8 9 10 11
(penambahan overhead)
12 13 14 15  Masalah jumlah akses memori yang besar
16 17 18 19
 Solusi: skema FAT
20 21 22 23

24 25 26 27

28 29 30 31

Bab 11. Sistem File 51 Bab 11. Sistem File 52


File Allocation Table (FAT)
File Allocation Table (FAT) (cont.)
 Skema yang digunakan MS-DOS dan OS/2  Entry dari FAT berisikan nomor block
 Menempati satu bagian dari disk (biasanya di berikutnya dalam file (block yang bebas
awal partisi) berisikan satu entry untuk setiap dinyatakan dengan harga 0)
block & berindex dengan nomor block  Random access dioptimisasi dengan
 Entry dari directory berisi nomor block penelusuran nomor block di dalam FAT
pertama di dalam file secara berantai
 Kerugian: head seek, kecuali FAT diload ke
dalam chache

Bab 11. Sistem File 53 Bab 11. Sistem File 54

File Allocation Table (FAT)


(cont.) Indexed Allocation
Directory 0 618
Setiap file menempati sejumlah block yang
217 618 terdaftar di dalam suatu block yang berfungsi
Name test ... 217 Start block
sebagai index block
 Index block => kumpulan pointer pada satu lokasi
339 EOF block
 Pendekatan ini mendukung direct access
618 339 yang lebih efisien
 entry yang tidak digunakan diisi nil

Bab 11. Sistem File


FAT 55 Bab 11. Sistem File 56
Indexed Allocation Indexed Allocation File Besar
File index block  Linked scheme: menggunakan beberapa index block yang
jeep 19 terangkai dengan pointer (entry terakhir dari tiap index block
berisi pointer ke index block berikutnya)
0 1 2 3
 Multilevel index scheme: digunakan suatu indirect index block
4 5 6 7
yang mendaftarkan semua direct index, jika lebih besar lagi
9 maka terdapat beberapa level indirect block block
8 9 10 11
16
1  Contoh ukuran block 4K, pointer 32-bit, maka ada 1024 pointer
12 13 14 15
19
10 dalam index block, maka untuk 2 layer index block dapat
25
16 17 18 19
-1 digunakan untuk 104876 block = 400 M
-1
20 21 22 23
-1  Combined scheme, contoh BSD UNIX
24 25 26 27

28 29 30 31

Bab 11. Sistem File 57 Bab 11. Sistem File 58

BSD UNIX System BSD UNIX System (cont.)


mode data
owners data
 Suatu entry directori menunjuk ke suatu timestamps
size
inode dari file yang berisikan Block count
data
 atribut-atribut file: owner, timestamp, ukuran, Direct blocks data
jumlah block data
Single indirect data
 12 pointer direct block ke data data Double indirect
data
Triple indirect
 1 pointer single indirect (1-level) index block data
 1 pointer double indirect (2-level) index block
data
 1 pointer triple indirect (3-level) index block

Bab 11. Sistem File 59 Bab 11. Sistem File 60


Disk space management Disk management (issues)
 Disk quota (multi-user)
 Berkas disimpan dalam satuan per blok
 Kehandalan:
 Blok disk  manajemen bad block
 besarnya blok (block size) tetap : 512 bytes - 8 Kbytes  backup
 blok size terlalu besar: space yang terbuang (i.e besarnya  konsistensi:
bekas rata-rata di UNIX : 1 Kbytes)  blok : membandingkan list blok digunakan dan yang bebas

 Free blocks:  direktori/file: membandingkan entry direktori dan i-


node/awal blok
 Bagaimana melacak blok yang tidak digunakan?
 file system check (fsck: UNIX, scandisk: DOS)
 linked list dari nomor blok yang bebas (tabel besar jika disk
masih kosong)
 Unjuk kerja:
 cache:
 bit-map (jika terdapat n blok disk maka diperlukan n bits);
 write-through cache (MS-DOS)
blok yang bebas diwakili oleh bit 1,
blok yang digunakan Baboleh bit 0  write-back/delay cache (UNIX)
11. Sistem File 61 Bab 11. Sistem File 62

Implementasi Direktori Implementasi Direktori


 Linear list pada nama file dengan pointer pada blok
data.
 Sederhana untuk program
 Memakan waktu yang lama untuk eksekusi

 Hash Table – linear list dengan struktur hash data.


 Mengurangi waktu cari direktori
 collisions – situasi dimana dua nama file yang di hash pada
lokasi yang sama.
 Ukurannya tetap.

Bab 11. Sistem File 63 Bab 11. Sistem File 64


Efisiensi dan Unjuk Kerja Recovery
 Efisiensi tergantung pada :  Pemeriksaan rutin – membandingkan data pada
 Alokasi disk dan algoritma direktori struktur direktori dengan blok data pada disk dan
 Tipe data yang dilindungi pada direktori file mencoba memperbaiki ketidakkonsistenan.

 Unjuk Kerja  Menggunakan sistem back up data dari disk ke


 disk cache – memisahkan bagian main memori yang storage device lain (floppy disk, magnetic tape).
sering digunakan sebagai blok.
 Teknik free-behind dan read-ahead – digunakan untuk
 Recovery file yang hilang dengan me-restore data
optimasi akses sequensial
dari back up
 Meningkatkan unjuk kerja PC dengan menggunakan
bagian memori seperti virtual disk atau RAM disk.
Bab 11. Sistem File 65 Bab 11. Sistem File 66

File System (implementasi) PC disk layout


 MS-DOS (versi: 3.x - 6.x)
 direktori hirarkis : root, sub-direktori  Boot Sector
 alokasi: linked list (memori) dengan tabel indeks  informasi mengenai sistim berkas, struktur disk:
 tidak mendukung : proteksi (i.e owner), link (simbolik)  parameter: jumlah byte per-sector, jumlah sektor per blok,
besarnya root direktori (dibaca pertama kali)
 Sistim berkas PC: hard disk  tabel partisi: awal dan akhir suatu partisi,
setiap partisi dapat mempunyai sistim berkas berbeda,
Primary Partisi 1 Partisi 2 Partisi 3 Partisi 4  partisi aktif: terdapat kode untuk menjalankan sistim
Boot Sector
 boot-strap: kode awal untuk menjalankan sistim
 CPU: menjalankan kode ROM (instruksi 0)
 ROM: load boot sector di memori (sektor 0)
Secondary FAT FAT Root Directory Data ......Data ...... Data ......
Boot Sector (File dup.  transfer ke awal dari kode (jump) : bootstrap (MS-DOS)
Allocation  baca root direktori: load io.sys dan msdos.sys
Table) Bab 11. Sistem File 67 Bab 11. Sistem File 68
PC disk layout (FAT)

 File Allocation Table:


 informasi pemakaian disk
 duplikasi (back-up)
 blok disk: 1 sektor - 8 sektor; tergantung besarnya disk
 entry table: informasi 1 blok disk, besarnya indeks 16 bits (64
ribuan); i.e nomor entry = nomor blok disk
 isi entry: free atau digunakan bagian indeks list
 FAT & prosedur open file:
 MS-DOS : mengambil file descriptor yang tidak digunakan
 cari slot kosong di system file table => indeks disimpan oleh
byte pertama pada file descriptor
 open direktori (path name) dari file
 ambil nomor awal dari FAT, linked ke blok berikutnya dst.
Bab 11. Sistem File 69

Anda mungkin juga menyukai