Posted by : Azka
Sabtu, 12 Mei 2018
Manajemen Sistem File.
File
system atau disebut juga dengan
manajemen file adalah suatu metode dan struktur data yang dipakai oleh sistem
operasi untuk mengatur serta menorganisir file yang terdapat pada disk atau
partisi disk. Manajemen file (File system) ini dapat diartikan
sebagai disk atau partisi yang dipakai untuk menyimpan file-file dalam cara
tertentu.
A. Inilah manfaat manajemen file
Adapun manfaat dari manajemen file diantaranya
yaitu, dapat mengurangi resiko kehilangan file misalnya seperti terhapusnya
file secara tidak sengaja, file tersimpan dimana saja dan tidak teraturnya
letak file serta dapat memudahkan kita dalam pencarian file, dapat menghemat
kapasitas penyimpanan dengan cara melakukan penghapusan file yang tidak
terpakai. Untuk mendapatkan manfaat dari manajemen file kamu harus dapat
melakukan manajemen file dengan baik dan benar.
B. Sasaran sistem file
·
Untuk memenuhi kebutuhan dari manajemen data bagi pemakai
atau user.
·
Untuk menjamin data yang terdapat pada file adalah valid.
·
Untuk optimasi kinerja.
·
Untuk menyediakan dukungan masukan (input) dan
keluaran (output) bagi beragam tipe perangkat penyimpanan.
·
Untuk meminimalkan atau mengeliminasi potensi kehilangan data.
·
Untuk menyediakan sekumpulan rutin interface masukan (input) dan
keluaran (output).
·
Dan untuk menyediakan dukungan masukan (input) dan
keluaran (output) bagi banyak pemakai (user) di
sistem multiuser.
C. Beberapa fungsi yang diharapkan dari pengelolaan
file
·
Mekanisme pemakaian file secara bersama.
·
Penciptaan, modifikasi dan penghapusan file.
·
Kemampuan men-beckup dan recovery untuk
dapat mencegah kehilangan file dikarenakan kecelakaan atau adanya upaya
penghancuran file.
·
Pemakai bisa mengacu file dengan nama simbolik (Symbolic
name) bukan menggunakan penamaan yang mengacu perangkat fisik.
·
Supaya pada lingkungan sensitif, informasi dapat tersimpan
dengan aman dan rahasia.
·
Sistem file harus menyediakan interface user-friendly.
D. Arsitektur Pengelolaan File
Pengelolaan file, biasanya terdiri seperti di
bawah ini:
·
Yang pertama adalah sistem akses, yaitu berhubungan dengan
bagaimana cara data yang disimpan pada file akses.
·
Yang kedua adalah manajemen file, yaitu berhubungan dengan
penyediaan mekanisme operasi pada file, misalnya seperti: penyimpanan,
pengacuan, pemakaian bersama, dan juga pengamanan.
·
Yang ketiga adalah, manajemen ruang penyimpanan yaitu
berhubungan dengan alokasi ruang untuk file di perangkat penyimpan.
·
Dan yang keempat adalah mekanisme Integritas file, yaitu
berhubungan dengan jaminan informasi pada file yang tidak terkorupsi.
F. 3 tipe file yang terdapat pada sistem operasi
Terdapat tiga tipe file pada sistem operasi,
diantaranya seperti di bawah ini:
·
File regular yang berisi informasi, yang terdiri dari file teks
dan biner. File teks ini berisi baris-baris teks (txt). Lalu file biner
eksekusi (exe), dan juga biner hasil dari program aplikasi. Struktur internal
file biner eksekusi hanya diketahui oleh sistem operasi, sedangkan struktur
internal dari file biner hasil program aplikasi hanya diketahui oleh program
aplikasi saja yang menggunakan file tersebut.
·
File folder yaitu file yang dimiliki oleh sistem operasi,
biasanya berisi informasi-informasi mengenai daftar file yang termasuk didalam
folder tersebut.
·
Dan file khusus merupakan nama logic dari perangkat input dan
perangkat output.
Konsep File
File atau file komputer, adalah
identitas dari data yang disimpan di dalam sistem file yang dapat diakses dan
diatur oleh pengguna. Sebuah file memiliki nama yang unik dalam direktori di
mana ia berada. Alamat direktori dimana suatu file ditempatkan diistilahkan
dengan path.
Dalam sebuah file terdapat beberapa informasi, diamana
informasi tersebut terdapat dalam sebuah atribut file. Atribut file
adalah sebuah file berisi aliran data (atau data stream) yang berisi sekumpulan
data yang saling berkaitan serta atribut file (yang bersifat wajib atau
opsional), yang kadang-kadang disebut properties yang berisi informasi yang berkaitan
dengan file yang bersangkutan. Informasi mengenai kapan sebuah file dibuat
adalah contoh dari atribut file.
Berikut beberapa contoh atribut dari sebuah file :
1. Name – Informasi yang disimpan untuk keperluan
identifikasi formasi oleh pengguna.
2. Type – dibutuhkan sistem untuk mendukung tipe yang
berbeda.
3. Location – pointer kelokasI file pada device.
4. Size – ukuran file yang sedang digunakan.
5. Protection – kontrol terhadap pengguna yang sedang
melakukan baca, tulis dan eksekusi.
6. Time, date, dan user identification – proteksidata
untuk pengamanan dan monitoring pengguna.
Dalam penggunaan file, terdapat enam operasi yang biasa digunakan oleh sistem operasi dalam melakukan pengoperasian pada sebuah file,enam operasi dasar yang berkaitan dengan manajemen file sistem, anatara lain adalah :
1. Membuat file (Create File)
Terdapat dua hal yang harus kita lakukan untuk membuat
suatu file. Pertama, kita harus menemukan tempat dalam sistem file untuk file
yang akan kita buat tadi. Kedua, adalah membuat entry untuk
file tersebut. Entry ini mencatat nama dari file dan lokasinya
dalam sistem.
2. Menulis sebuah file (Write File)
Untuk menulis file, kita membuat sebuah system
call yang meyebutkan nama file dan informasi apa yang akan kita tulis
dalam file tersebut. Setelah diberikan nama filenya, sistem akan mencari file
yang akan kita tulis tadi dan meletakkan pointer dilokasi yang akan kita write berikutnya.Pointer write harus diupdate setiapkali write dilakukan.
3. Membaca sebuah file (Read File)
Untuk membaca file, kita menggunakan sebuah system
call yang menspesifikasikan nama file dan di blok mana di memori file
harus diletakkan. Lalu direktori kembali dicari hingga ditemukan entry yang
bersesuaian. Sistem harus menjaga agar pointer berada di
posisi dimana read berikutnya akan dilakukan. Setelah
pembacaan file selesai, maka pointer akan di-update.
4. Memposisikan sebuah file (Reposition)
Direktori dicari untuk entry yang
bersesuaian, lalu kemudian current file position dari file di
set ke suatu nilai tertentu. Operasi file ini dikenal juga sebagai file
seek.
5. Menghapus file (Delete)
Untuk menghapus sebuah file, kita mencari direktori dari
file yang ingin kita hapus tersebut, dan setelah ditemukan, semua tempat yang
dipakai file tadi kita lepaskan sehingga dapat digunakan oleh file
lainnya. Entry dari direktori itu kemudian dihapus.
6. Menghapus sebagian isi file (Truncate)
User mungkin ingin menghapus isi dari
sebuah file, tapi tetap ingin menjaga atribut-atributnya. Truncating
file mengijinkan pendefinisian ulang panjang file menjadi nol tanpa
mengubah atribut lainnya sehingga tempat yang digunakan oleh file dapat
dilepaskan dan dipergunakan oleh file lain.
Dalam sebuah file terdapat juga beberapa ekstensi yang berfungsi sebagai pengenal dari jenis file itu sendiri. Jenis file merupakan salah satu atribut file yang cukup penting. Saat kita mendesain sebuah sistem file, kita perlu mempertimbangkan bagaimana sistem operasi akan mengenali file-file dengan jenis yang berbeda. Apabila sistem operasi dapat mengenali, maka membuka file tersebut bukan suatu masalah. Seperti contohnya, apabila kita hendak mencari bentuk obyek biner sebuah program, yang tercetak biasanya tidak dapat dibaca, namun hal ini dapat dihindari apabila sistem operasi telah diberitahu akan adanya jenis file tersebut.
Cara yang paling umum untuk mengimplementasikan jenis
file tersebut adalah dengan memasukkan jenis file tersebut ke dalam nama file.
Nama file dibagi menjadi dua bagian. Bagian pertama adalah nama dari jenis file
tersebut, dan yang kedua, atau biasa disebut extension adalah jenis dari file
tersebut. Kedua nama ini biasanya dipisahkan dengan tanda '.', contoh: "
file.txt".
JENIS FILE
|
EKSTENSI
|
FUNGSI
|
Executable
|
exe, com, bin, atau tidak ada
|
Siap menjalankan program bahasa mesin
|
Object
|
obj atau o
|
Dikompilasi, bahasa mesin, tidak terhubung (link)
|
Source code
|
c, cc, java, asm, pas
|
Kode-kode program dalam berbagai bahasa pemrograman
|
Batch
|
bat, sh
|
Memerintahkan ke command intepreter
|
Text
|
txt, doc
|
Data text, dokumen
|
Word processor
|
wp, tex, rtf, doc
|
Macam-macam format dari text processor
|
Library
|
lib, a, sol, dll
|
Libraries dan routine untuk programmer
|
Print/ view
|
jpg, pdf, ps
|
File ASCII/binary dalam format untuk
mencetak atau melihat
|
Archive
|
zip, tar
|
File - file yang berhubungan dikelompokkan ke dalam
satu file, dikompres, untuk pengarsipan
|
Multimedia
|
mpeg, mov, rm
|
File binary yang berisi informasi
audio atau A/V
|
Tabel
Ekstensi File
1.2. Metode
Akses
Didalam sebuah file terdapat berbagai informasi yang
dibuat oleh pengguna. Apabila pengguna ingin melakukan penaksesan data atau
informasi ini harus diakses dan dibaca melalui memori komputer. Informasi dalam
file dapat diakses dengan beberapa cara, yaitu:
1. Akses sekuensial
Akses ini merupakan yang paling sederhana dan paling umum
digunakan. Informasi dalam file diproses secara berurutan. Sebagai contoh,
editor dan kompilator biasanya mengakses file dengan cara ini.
2. Akses langsung
Sebuah file dibuat dari rekaman-rekaman logical yang panjangnya
sudah ditentukan, yang mengizinkan program untuk membaca dan menulis rekaman
secara cepat tanpa urutan tertentu.
Implementasi Sistem File
1. Struktur Sistem File
·
File
: Kumpulan informasi yang berhubungan dan tersimpan dalam secondary storage
·
Sistem
File : Metode penyimpanan dan pengorganisasian file untuk mempermudah proses
pencarian dan pengaksesan
Layered
Sistem File
Ket:
·
I/O
control (driver device dan interrupt handler) : Sebagai pengirim informasi
antara memori dan sistem disk
·
Basic
file system : memberi perintah device driver untuk membaca dan menulis blok
fisik pada disk
·
File-organization
module : berisi 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
File Control Block
File Control Block : Informasi
mengenai sebuah file yang disimpan pada struktur penyimpan
a)
membuka file b) membaca file
Virtual File System(VFS)
VFS digunakan untuk
mengimplementasikan berbagai sistem file dengan tipe yang berbeda dalam waktu
bersamaan
Skema
:
2. Implementasi Direktori
·
Sistem
direktori berfungsi memetakan nama simbolik file (nama file dan nama jalurnya)
menjadi informasi untuk menemukan blok-blok file.
·
Menggunakan
daftar nama file linier dengan pointer ke blok data dan table Hash.
Algoritma Direktori:
1.Linier List (daftar nama file
linier dengan pointer ke blok data)
+ : mudah diterapkan dalam program
– : memakan waktu saat akses dan
eksekusi
2.Tabel hash (daftar linier dengan
struktur data hash)
+ : mengurangi waktu pencarian
direktori
– : berukuran tetap
Direktori pada CP/M
Direktori pada CP/M merupakan
direktori entri yang mencakup nomor blok disk untuk setiap file.
Direktori pada MS-Dos
MS-DOS merupakan sistem direktori
hierarki atau berstruktur pohon
Direktori pada UNIX
i-node berisi informasi tentang :
·
tipe
·
ukuran
·
waktu
·
owner
·
blok-blok
di disk
Contoh Directory di Linux
• /bin
• /boot
• /dev
• /etc
• /lib
• /mnt
• /opt
• /sbin
• /tmp
• /usr
• /var
3. METODE ALOKASI
Metode alokasi berhubungan dengan
bagaimana blok-blok pada disk dialokasikan untuk file.
1. alokasi berurutan
(contiguous allocation)
2. alokasi
berhubungan(linked allocation)
3. alokasi berindeks
(indexed allocation)
Alokasi Berurutan (Contiguous Allocation)
Setiap file menempati sekumpulan blok
yang berurutan pada disk.
·
Kelebihan:
Model ini sangat sederhana karena hanya membutuhkan lokasi awal (block #) dan
panjang (jumlah blok), Akses pada blok disk dilakukan secara random .
·
Kekurangan:
memakan banyak ruang (permasalahan dynamic storage-allocation). File yang
disimpan secara berurutan tidak dapat berkembang.
Contoh
Contiguous Allocation
Alokasi Berhubungan (Linked Allocation)
Setiap file adalah sebuah linked list
dari blok-blok terpisah pada disk.
·
Kelebihan:
Berhubungan mempunyai bentuk yang sederhana, hanya memerlukan alamat awal.
Sistem manajemen ruang bebas pada alokasi berhubungan. Tidak memakan banyak
ruang.
·
Kekurangan:
tidak menggunakan random access.
Contoh
Linked Allocation
Alokasi Berindeks (Indexed Allocation)
·
Pointer
digabungkan didalam suatu blok yang dinamakan blok indeks
·
Setiap
file memiliki blok indeks masing-masing
·
Direktori
mengandung alamat dari blok indeks
·
Kelemahan:
Jika blok indeks terlalu kecil, maka itu tidak akan bisa memuat pointer yang
cukup untuk sebuah file yang besar
·
Suatu
mekanisme akan dibutuhkan menangani masalah tersebut
Contoh
Indexed Allocation
Kinerja dari Metode Alokasi
1. Countiguous
allocation: Efisien untuk file kecil. Mendukung akses secara langsung
2. Linked allocation:
Mendukung akses secara sequential
3. Indexed
allocation: Tergantung dari struktur index, ukuran file, dan posisi dari blok
yang dibutuhkan
4. Manajemen Ruang Bebas
Bit Vector
·
Daftar
ruang kosong diimplementasikan sebagai bit map atau bit vector
·
Setiap
bit merepresentasikan 1 blok. Blok yang kosong ditandai dengan angka 1 dan blok
yang ada isinya ditandai dengan angka 0
Perhitungan nomor blok kosong pada
vektor bit ini adalah :
(jumlah bit per word)*(jumlah nilai-0
word) + offset dari bit pertama.
Kelemahan dari cara ini : pemetaan
bit-nya membutuhkan ruang tambahan (blok tersendiri).
• Linked List
1. Skema ini
menghubungkan blok-blok yang masih kosong menjadi linked list
2. Blok kosong
pertama pointer menunjuk ke blok kosong kedua, dan blok kosong kedua pointer
menunjuk ke blok ketiga yang kosong
Keunggulan : tidak membutuhkan
terlalu banyak ruang khusus untuk pointer
Kelemahan : sulit untuk mendapatkan
ruang kosong berurutan dengan mudah
• Grouping
Menggunakan satu blok untuk menyimpan
alamat blok-blok kosong di dekatnya. Jika blok telah terisi, maka akan terhapus,
dan blok alamat kembali kosong
• Counting
Ruang kosong list berupa urutan
blok-blok kosong, maka dilakukan pendaftaran rangkaian blok kosong dengan
memasukkan alamat blok kosong pertama dari rangkaian, lalu disertakan jumlah
blok kosong yang bersebelahan dengannya
5. Efisiensi Penggunaan Space pada Disk
•Untuk memperbaiki kinerja ada
beberapa cara:
1. Menggunakan page
cache
2. Menggunakan Unified
Buffer Cache
6. Perbaikan (Recovery)
•Pemeliharaan harus dijalankan untuk
memastikan kegagalan sistem tidak akan terjadi saat kehilangan data atau saat
data tidak konsisten
•Ada 2 jenis pemulihan :
1. Pengecekan yang
kontinu : dengan logging
2. Backup dan Restore
7. Sistem File Log Structured
•Sistem File Log structured mencatat
setiap update dari file system sebagai transaction
•Semua transactions ditulis dalam
sebuah log
•Transactions dalam log ditulis
secara asynchronously ke dalam file system: Ketika file system
dimodifikasi,transaction dibuang dari log
•Jika files system crashes, semua
sisa transactions dalam log harus tetap dijaga
•Hasil implementasinya disebut
log-based transaction-oriented
8. Network File System (NFS)
• NFS : implementasi &
spesifikasi dari sistem perangkat lunak untuk mengakses remote file melalui LAN
(atau WAN)
• workstation yang saling berhubungan
dipandang sebagai mesin independent dengan file sistem yang independent,
memungkinkan sharing diantara sistem file secara transparent
• Didesain untuk operasi pada
lingkungan heterogen dari mesin
Tiga
Sistem File yang Independen
Mounting
pada NFS