Kumpulan berbagai informasi yang berhubungan dan juga tersimpan di dalam secondary storage adalah

(1)

Sistem Operasi

Sistem Operasi

1

10

0

1

10

0

“File

“File S

System

ystem dan Security

dan Security”

Antonius

Antonius Rachmat

Rachmat C,

C, S.Kom

S.Kom,

,

M.Cs

Show
(2)

Konsep File

Konsep File

• File adalah kumpulan informasi yang

berhubungan dan tersimpan dalam

secondary storage

• Tipe:

– Data (character, numeric, binary)

– Data (character, numeric, binary)

– Program - binary

– Direktori – logika

• Di Linux dalam bentuk file: /home/anton (d)

– Device – logika

• Di Linux dalam bentuk file: /dev/sda1

(3)

File

File

• Simple record structure

– Baris (lines)

• Fixed length • Variable length

• Complex Structures

• Complex Structures

– Formatted document

• RTF, HTML

• Yang mengatur:

– Operating system

– System Program

(4)

Struktur File

Struktur File

• Sistem operasi membutuhkan struktur file

tertentu untuk menjalankan/ mengakses suatu

file.

• Semua sistem operasi diharuskan mampu

mengenal sedikitnya satu jenis struktur file.

• Jika sistem operasi mengenal semakin banyak

• Jika sistem operasi mengenal semakin banyak

struktur file, maka semakin luas aplikasi yang

dapat dijalankan namun ukuran kernel sistem

operasi semakin membengkak.

• Sebaliknya, jika semakin sedikit struktur file,

maka sistem operasi hanya dapat menjalankan

aplikasi dalam jumlah yang sedikit pula.

(5)

Atribut File

Atribut File

• Name – disimpan dalam human readable name

• Identifier – unique tag (number) dalam file

system

• Type – dibutuhkan oleh sistem (ex: .txt)

• Location – pointer to file location di harddisk

• Size – current file size

• Size – current file size

• Protection – controls siapa yang reading,

writing, executing

• Time, date, and user identification – data

untuk protection, security, and usage monitoring

• Information about files are kept in the directory

(6)

Windows & ID3 Properties

Windows & ID3 Properties

(7)

Operasi File

Operasi File

• Create: menciptakan file, size=0

• Write: menulis file dari posisi tertentu

• Read: baca file dari posisi tertentu

• Delete: hapus file

• Delete: hapus file

• Truncate: menghapus isi,

mempertahankan atribut, kec file length,

size=0, space released

• Seek : mencari suatu data di posisi

tertentu dari posisi tertentu

(8)

Open Files

Open Files

• Ketika terjadi open file, data yang harus

dimaintenance:

– File pointer: pointer ke lokasi read/write

terakhir, per process yang membuka file

– File-open count: counter dari berapa kali

– File-open count: counter dari berapa kali

sebuah file dibuka – untuk membuang data

dari tabel open-file ketika proses terakhir

• Misal: 1 jika dibuka, 0 jika ditutup

– Lokasi disk tempat penyimpanan file: berisi

cache dari informasi akses data.

(9)

Open File Locking

Open File Locking

• Dilakukan oleh OS dan program

• Terjadi ketika ada akses ke file

• Ada 2 kemungkinan:

– Mandatory – access is denied ketika

– Mandatory – access is denied ketika

ada perintah/request

– Advisory – processes dapat

menemukan status of locks dan

memutuskan yang dilakukan nya

sendiri.

(10)

File Types

File Types –

– Name,

Name,

Extension

(11)

File extensions in Win 7

File extensions in Win 7

(12)

Access Methods

Access Methods

• Sequential Access read next write next reset

no read after last write (rewrite)

• Direct Access read posisi n read posisi n write posisi n set position to n read next write next rewrite n

(13)

Simulation of Sequential Access on

Simulation of Sequential Access on

Direct

(14)

Direct Access

Direct Access & Index

& Index

sequential

sequential

• Direct access: sangat berguna untuk

pengaksesan langsung informasi dalam

jumlah besar.

– Contoh : database

• Index sequential: file juga dapat dilihat

• Index sequential: file juga dapat dilihat

sebagai sederetan blok yang berindeks

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

(15)

Example of Index and Relative

Example of Index and Relative

Files

Files

(16)

Directory Structure

Directory Structure

• Kumpulan node yang berisi informasi tentang semua file

Directory

F 1 F 2 F 3 F 4

F n Files

(17)

Direktori

Direktori

• Operasi terhadap direktori:

– Search for a file

– Create a file

– Delete a file

– List a directory

– Rename a file

– Rename a file

– Traverse the file system

• Struktur Direktori

– Single-Level Directory

– Two-Level Directory

– Tree-Structured Directory

– Acyclic-Graph Directory

– General-Graph Directory

(18)

Single Level Directory

Single Level Directory

Single Level Directory:

• Semua file terdapat dalam

direktori yang sama

• Tiap file memiliki nama

Two Level Directory:

• Membuat direktori yang terpisah untuk tiap user

• Terdapat User File Directory

(UFD) dan Master File Directory (MFD)

• Masalah: bila beberapa user ingin

• Tiap file memiliki nama

yang unik

• Masalah: bila beberapa user ingin mengerjakan tugas secara bersama dan ingin mengakses file user lain

(19)

Single

Single--Level Directory

Level Directory

• A single directory for all users

- Naming problem - Grouping problem

(20)

Two

Two--Level Directory

Level Directory

• Separate directory for each user

Path name

Can have the same file name for different user Efficient searching

(21)

Tree structured directory

Tree structured directory

• Tiap direktori dapat

mengandung file dan subdirektori

• Path (absolut path) adalah urutan direktori yang berasal dari MFD (master file directory) • Working dir. (relative path)

adalah path yang berasal dari • Working dir. (relative path)

adalah path yang berasal dari current directory

• Current directory adalah direktori yang baru-baru ini digunakan

(22)(23)

Tree

Tree--Structured Directories

Structured Directories

(Cont)

(Cont)

• Menciptakan sebuah file bisa dilakukan pada current directory

• Delete a file

rm <file-name>

• Creating a new subdirectory is done in current directory

mkdir <dir-name> mkdir <dir-name>

Example: if in current directory /mail mkdir count

mail

prog copy prt exp count

(24)

Acyclic

Acyclic--Graph Directories

Graph Directories

• Have shared subdirectories and files

– Satu file dapat memiliki banyak absolut path yang

berbeda

(25)

General Graph Directory

General Graph Directory

Berbentuk link.

(26)

File System Mounting

File System Mounting

• Sebuah sistem berkas sebelum dapat

digunakan harus di-mount terlebih

dahulu.

• Mounting: proses paling awal sebelum

membuka sebuah direktori, yaitu dengan

membuka sebuah direktori, yaitu dengan

membuat sebuah direktori baru yang

menjadi sub-tree dari tempat file system

tsb diletakkan

• Mount point: direktori kosong tempat file

system yang akan di-mount diletakkan.

(27)

(a)

(a)Existing.

Existing.

(b) Unmounted Partition

(b) Unmounted Partition

(28)(29)

Partisi dan Mounting

Partisi dan Mounting

• Root partition di-mount pada saat boot time

• Partisi yang lain di-mount secara otomatis

atau manual (tergantung sistem operasi)

– Otomatis: diletakkan di /etc/fstab

• Windows

• Windows

– setiap partisi yang di-mount ditandai dengan huruf

dan colon dan back slash (:\)

• UNIX

– file system dapat di-mount di semua direktori

– mount /dev/sda /mnt/flashdisk

(30)

File Sharing

File Sharing

• File sharing mendukung sebuah sistem operasi

yang user-oriented.

• Berhubungan dengan permission.

• Multiple user bisa mengakses file yang sama.

• On distributed systems, files may be shared

• On distributed systems, files may be shared

across a network

• Pada Multiple users:

– Owner ID: user yang bisa mengganti atribut, membuka akses, dan mengontrol sebuah file atau direktori.

– Group ID: sekelompok user yang men-share akses sebuah file.

– Universe: umum

(31)

Protection

Protection

• File owner/creator harus dikontrol:

– Apa yang dilakukan,

– Oleh siapa

• Tujuan proteksi:

– Menjaga aman dari kerusakan fisik (reliability).

– Menjaga dari akses yang tidak diijinkan

– Menjaga dari akses yang tidak diijinkan

(protection).

• Types of access:

– Read

– Write

– Execute

– Append

– Delete

– List

(32)

Protection

Protection

• Menggunakan ACL

–rw-rwxr-- john staff 100 Oct 20 22:12 journal

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

(33)

Access Lists and Groups

Access Lists and Groups

• Mode of access: r=read, w=write, x=execute (masing2 3bit) • Three classes of users

RWX a) owner access 7 ⇒ 1 1 1 RWX b) group access 6 ⇒ 1 1 0 RWX c) public access 1 ⇒ 0 0 1 c) public access 1 ⇒ 0 0 1

• Ask manager to create a group (unique name), say G, and add some users to the group.

• For a particular file (say game) or subdirectory, define an appropriate access.

owner group public

chmod 761 game

Attach a group to a file

(34)

Windows XP Access

Windows XP Access--control List

control List

Management

(35)

A Sample UNIX Directory

A Sample UNIX Directory

Listing

Listing

(36)(37)(38)

Organisasi File System

Organisasi File System

(39)

Hal yg berhubungan dengan

Hal yg berhubungan dengan

File System

File System

• I/O control (driver device dan interrupt handler)

– Device driver adalah perantara komunikasi antara

sistem operasi dengan perangkat keras

• Basic file system

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

• File-organization module

• 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

• Logical file system

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

(40)

Implementasi File System

Implementasi File System

Struktur On-disk

• Boot control block

– informasi sistem file pada sistem operasi

• Partition block control

• Partition block control

– spesifikasi partisi yang dimiliki

• Struktur direktori

– mengatur file-file dalam direktori

• FCB (File Control Block)

(41)

Implementasi File System

Implementasi File System

Struktur In-Memory:

• Table partition

– Informasi semua partisi yang di-mount

• Struktur direktori (LRU-stack)

– informasi direktori yang paling sering diakses

– informasi direktori yang paling sering diakses

• System wide open file table

– Copy-an dari FCB

• Per-process open file table

– Daftar pointer yang menunjuk access point

dalam system wide open file table

(42)

Implementasi Direktori

Implementasi Direktori

• Asumsi direktori di Linux = Fie

• Linier List: metoda paling sederhana: nama file

dihubungkan 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

hapus (mencari file dalam direktori dan

melepaskan tempat yang dialokasikan)

• Kelemahan: linear search untuk mencari

sebuah file, sehingga implementasi yang

lambat pada cara aksesnya

(43)

Hash Table

Hash Table

• Linear list menyimpan direktori, sedangkan

struktur data hash juga digunakan untuk

penyimpanan

• Proses: Hash table mengambil nilai yang

dihitung dengan function dari nama file dan

mengembalikan sebuah pointer ke nama file

mengembalikan sebuah pointer ke nama file

yang ada di linear list

• Kesulitan: ukuran tetap dan ketergantungan

dari fungsi hash dengan ukuran hash table

• Solusi: chained-overflow linked list

– setiap hash table mempunyai linked list dari nilai

individual dan kita dapat mengatasi collision

(44)

Contoh implementasi Linux

Contoh implementasi Linux

• / : direktori root

• /bin : perintah biner yang esensial

• /boot : file statis dari boot loader

• /dev : device files

• /etc : konfigurasi sistem host-specific

• /lib : shared libraries essential dan modul kernel

• /lib : shared libraries essential dan modul kernel

• /mnt : mount point untuk me-mount suatu file system

sementara

• /opt : tambahan paket software application

• /sbin : sistem binary esensial

• /tmp : tempat file-file sementara

• /usr : berisi file untuk user tertentu

• /var : berisi variabel data

(45)(46)

Alokasi Blok File System

Alokasi Blok File System

• Untuk mengalokasikan file agar

dapat diakses dengan cepat dan

disk dapat dimanfaatkan secara

efektif

efektif

• Metode yang sering digunakan ialah:

– Contiguous allocation

– Linked allocation

(47)

Contiguous allocation

Contiguous allocation

• Sebuah file didefinisikan oleh alamat

disk (mendefinisikan urutan linier

dari disk) dan panjangnya (dalam

satuan blok) dari blok pertama

satuan blok) dari blok pertama

• Contiguous allocation mendukung

pengaksesan secara sekuensial dan

juga pengaksesan secara langsung

(48)

Contiguous allocation

Contiguous allocation

MASALAH:

- Mencari ruang untuk file baru - External fragmentation

- Menentukan berapa banyak ruang yang dibutuhkan untuk suatu file (harus dihitung)

(49)

Linked Allocation

Linked Allocation

• Direktori mengandung sebuah pointer

untuk blok pertama dan blok terakhir

dari sebuah file

• Setiap blok mengandung sebuah

pointer untuk ke blok selanjutnya

pointer untuk ke blok selanjutnya

– tidak dapat di buat oleh user

• Efektif saat file diakses secara

sequential

• Kelemahan: jika linked semakin

panjang dan terpisah-pisah pencarian

lambat

(50)

Linked Allocation

Linked Allocation

MASALAH:

• Tidak efisien saat file diakses secara langsung • Lambat • Pointer membutuhkan • Pointer membutuhkan ruang • File berikutnya bergantung dengan file sebelumnya (dalam pointer)

(51)

Indexed Allocation

Indexed Allocation

• Pointer digabungkan didalam suatu

blok yang dinamakan blok indeks

• Setiap file memiliki blok indeks

masing-masing

MASALAH:

MASALAH:

• Jika blok indeks terlalu kecil, maka

tidak akan bisa memuat pointer yang

cukup untuk sebuah file yang besar

• Blok indeks membutuhkan tempat

• Urutan pointer berpengaruh

(52)

Indexed Allocation

Indexed Allocation

(53)

Implementasi indexed

Implementasi indexed

allocation

allocation

• Linked scheme:

– Mekanisme ini dapat menghubungkan beberapa blok indeks dengan pointer

– Jika pointer tidak muat dalam satu blok indeks, maka pointer terakhir dari blok indeks ini menunjukkan blok indeks yang memuat pointer selanjutnya

– Sifatnya langsung – Sifatnya langsung

• Multilevel index scheme:

– Blok indeks pada level pertama akan menunjukkan blok-blok indeks pada level kedua yang akan menunjuk ke alamat data

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

(54)

Implementasi indexed

Implementasi indexed

allocation

allocation

(55)

Kinerja dari Metode

Kinerja dari Metode

Alokasi

Alokasi

• Countiguous allocation:

– Efisien untuk file kecil

– Mendukung akses file secara langsung

• Linked allocation

• Linked allocation

– Mendukung akses file secara sequential

• Indexed allocation

– Tergantung dari struktur index, ukuran

file, dan posisi dari blok yang

(56)

NEXT

NEXT

• Sistem Input Output