Senin, 11 Mei 2015
01.28
Unknown
No comments

Salah satu tujuan utama manajemen file adalah melakukan operasi-operasi terhadap file dan direktori. Pada umumnya operasi terhadap berkas senantiasa melibatkan operasi terhadap operasi juga, tetapi tidak berlaku sebaliknya. Misalnya ketika suatu file di ubah datanya maka atribut tanggal modifikasinya yang tersimpan di direktori harus ikut di perbaharui.
1. Operasi pada
file dan direktori
a.
Operasi pada
file
Operasi-operasi
terhadap file dan direktori dapat di lakukan oleh programaplikasi ataupun
oleh pengguna lewat suatu aplikasi sheel merupakan
aplikasi interkatif yang memberikan antarmuka bagi pengguna untuk mengakses
layanan yang di berikan oleh sistem operasi. Contoh aplikasi shell adalah eksplorer dan cmd pada
sistem operasi WindowsXP ataupun bash, tsh pada sistem operasi linux. Operasi terhadap berkas antara lain.
1.
Membuat dan
menghapus file
Keberadaan suatu file
di mulai ketika pengguna meminta sistem operasi untuk membuat suatu file.
Sistem operasi kemudian mengalokasikan ruang di media penyimpanan untuk file
tersebut dan mencatat berbagai atributnya ke direktori. Jika file tidak di
perlukan lagi maka pengguna dapat menginstruksikan sistem operasi untuk
menghapus file dari media penyimpanan. Ruang yang di pempati oleh file
tersebut akan di bebebaskan . selain itu, rekaman atribut file tersebut di
direktori akan di hapus.
2.
Membuka suatu file
Sebelum dapat di baca
dan di tulisi, suatu file harus di buka terlebih dahulu. Membuka suatu file
berarti membaca atribut file tersebut dari direktori dan menyalin data file
tersebut dari media penyimpanan ke memori utama sehingga dapat di proses lebih
lanjut.
3.
Membaca dan
menulis file
Setelah file di buka,
maka program aplikasi yang membuka program tersebut dapat membaca dan menulis file. Menulisis file dapat berarti mengubah, menambah, atau bahkan
menghapus isi berkas yang sudah ada.
4.
Melompat ke
suatu posisi
Suatu program aplikasi
dapat saja membaca suatu file tidak dari posisi awal file. Umumnya pustaka
pemrograman aplikasi memberikan rutin untuk melompat ke suatu posisi tertentu
dari file yang sedang di buka.
5.
Mengubah nama file
Ketika pengguna
mengubah nama suatu file lewat aplikasi shell,
sistem operasi akan merubah rekaman atribut file tersebut di direktori.
6.
Mereset file
Selama operasi
pembacaat ataupun berpindah posisi pada suatu file, suatu pointer di gunakan
untuk mencatat posisi terakhir pengaksesan isi file. Ketika data file di
baca, posisi yang di tunjuk oleh pointer akan ikut bergeser. Tujuannya agar
pembacaan berikutnya selalu di mulai dari posisi terakhir. Jadi secara normal
pembacaan di file bersifat berurutan. Operasi reset akan menyebabkan pointer
pembacaan berpindah ke posisi awal file sehingga pembacaan berikutnya akan
membaca data pada posisi awal file.
7.
Menutup file
Pada sejumlah program
aplikasi, ketika terjadi penulisan ke file, data perubahan akan di simpan
sementara di memori. Operasi menutup file memastikan seluruh perubahan
terhadap file akan disimpan secara permanen ke media penyimpanan.
Pada umumnya operasi terhadap file di lakukan lewat program khusus yang dapat menangani struktur file
tersebut dengan baik. Misalnya file teks umunya dapat di tangani dengan
program pengelola kata sederhana seperti notepad ataupun vim, berkas gambar di
tangani dengan program pengola gambar seperti Ms Paint ataupun Gimp. Berkas
executable di buat oleh kompilator dan di jalankan oleh sistem operasi.
b.
Operasi pada
direktori
Sejumlah operasi yang
secara khusus dapat di lakukan terhadap direktori, antara lain:
1.
Membuat dan
menghapus direktori
Operasi pembuatan file biasa dan file direktori menggunakan perintah yang berbeda, tetapi
cara pengalokasian ruang media penyimpanan adalah sama. Yang membedakan
hanyalah struktur isisnya dan kegunaannya. Direktori memiliki struktur yang
sangat khusus di bandingkan dengan file lainnya. Selain itu, direktori
berfungsi khusus untuk menyimpan atribut dari file-file yang di simpan di
dalam media penyimpanan. Perhatikan, menghapus suatu direktori akan secara
otomatis menghapus seluruh file yang secara logika berada di dalamnnya. Pada
beberapa sistem operasi, penghapusan direktori tidak dapat di lakukan jika
masih terdapat file-file lain di dalamnnya.
2.
Mencari file
Salah satu operasi
penting yang dapat di lakukan terhadap direktori adalah mencari suatu file
yang berada di dalam direktori tersebut. Proses pencarian file melibatkan
pembacaan simpul ataupun tabel rekaman atribut file yang tersimpan dalam
suatu direktori.
3.
Melihat isi
direktori
Operasi ini mencetak
informasi mengenai file-file yang berada di dalam suatu direktori dengan
cara menelusuri simpul ataupun tabel rekaman atribut berkas yang tersimpan di
dalam direktori tersebut.
4.
Mengubah nama
direktori
Dalam operasi
pengubahan nama direktori, perubahan di lakukan pada simpul ataupun tabel
rekaman direktori induknya. Jadi secara prinsip, mekanisme pengubahan nama
direktori sama dengan mekanisme pengubahan nama berkas biasa.
2.
Pengelolaan
ruang kosong
Salah satu bagian dari manajemen
file adalah pengelolaan ruang kosong media penyimpanan. Ruang-ruang kososng
media penyimpanan perlu di catat sehingga memudahkan pengalokasian file yang
akan di simpan. Pada saat terjadi alokasi berkas baru ataupun penghapusan berkas,
informasi ruang kosong akan di perbaharui.
Teknik-teknik yang dapat di lakukan
untuk pencatatan ruang kosong media penyimpanan adalah teknik Bit-Vektor, teknik Link-List, teknik Grouping, dan
teknik Counting. Selengkapnya simak
penjelasannya berikut.
1.
Teknik Bit-Vektor
Tenik Bit-Vektor menggunakan satu bit untuk
menyatakan kosong tidaknya setiap alamat blok media penyimpanan. Jumlah bit
yang di perlukan untuk pencatatan adalah sejumlah blok logika media penyimpanan
yang ada. Misalnya pada gambar 8.10, terdapat 8 blok yang di beri alamat
0,1,2,3...7. Misalnya blok 0,2, dan blok 7 sudah terisi maka ruang kosong akan
di catat dalam bentuk suatu vector
bit, yaitu 10000101, dengan ketentuan posisi bit menyatakan alamat atau no
blok, sedangkan nilai bit menyatakan kosong atau terisinya blok bersangkutan.
Nilai bit 1 menyatakan blok bersangkutan sudah terisi, sedangkan nilai bit 0
menyatakan blok tersebut masih kosong. Terlihat bit 0, 2 dan ke 7 bernilai 1
karena sudah terisi.
2.
Teknik Link-List
Teknik Link-List menggunakan blok-blok kosong di media
penyimpanan untuk mentimpan pointer atau alamat blok kosong berikutnya.
Informasi ponter ini dapat di simpan di awal atau akhir setiap blok yang
kosong. Informasi yang butuh di catat secara khusus hanyalah pointer alamat
blok kosong pertama. Ilustrasi teknik link list diperlihatkan pada gambar 8.11.
Informasi yang di catat secara khusus adalah alamat blok yang pertama yang
kossong, yaitu blok 1. Selanjutnya pada akhir blok 1, di catat alamat blok
kosong berikutnya, yaitu blok 3. Halserupa di lakukan terhadap blok-blok kosong
lainnya. Blok kosong terakhir akan mencatat pointer yang tidak valid sebagai
penanda akhir blok yang kosong.
3.
Teknik grouping
Pada teknik link-list
infomasi alamat blok kosong tersebar pada blok-blok kosong maka teknik grouping
mengumpulkan informasi alamat kosong tersebut ke blok kosong pertama. Teknik
ini di ilustrasikan pada gambar dibawah ini. Seluruh blok kosong yaitu 3,4,5,6,
pada media penyimpanan akan di simpan pada blok kosong pertama, yaitu blok 1.
Alamat blok kosong pertama pertu di catat secara khusus pada struktur sistem
operasi.
4.
Teknik counting
Teknik counting
memperhitungkan rangkaian blok-blok kosong yang kontinu sebagai suatu segmen.
Setiap segmen dicatat alamat blok kosong pertamanya dan jumlah blok kosong yang
mengikutiinya. Informasi segment tersebut akan di catat pada suatu tabel
khusus. Ilustrasi teknik counting di perlihatkan gamabr dibawah ini. Segmen
kosong pertama dimulai dari blok 1 dan panjangnya ssebesar 1 blok. Segmen kosong
berikutnya dimulai dari blok 3 dan panjangnya sebesar 3 blok.
3.
Pengelolaan
alokasi file
Fungsi manajemen file lainnya adalah mengalokasikan file yang
hendak di simpan di ruang kosong yang tersedia di media penyimpanan serta
melakukan pencatatan atributnya pada simpul yang bersesuaian di direktorinya.
Informasi ruang kosong pertliu juga di perbaruhi setelah terjadi alokasi file.
Ada berbagai cara alokasi file,
antara lain : alokasi berurut(continous
allocation), alokasi berantai (linked
allocation), dan alokasi berindeks (indexed
allocation).
1.
Alokasi berurut
Pada alokasi berurut,
semua bagian dari suatu file harus di letakkan secara berurut pada ruang yang
tersedia. Bagian-bagian berkas tersebut tidak boleh tersebar pada media
penyimpanan. Pengalokasian di lakukan dengan mencari segmen ruang kosong yang
cukup besar untuk menampung isi berkas. Selain isi berkas disalin ke blok-blok
tersebut, informasi alokasi di catat pada direktori, yaitu berupa alamat awal
blok berkas. Seluruh alamat blok ruang yang di tempati oleh berkas dapat di
kalkulasi berdasarkan dua informasi tersebut.
Sebagai contoh, pada
gambar di bawah ini terdapat 5 berkas yang disimpan dibawah satu direktori,
yaitu berkas bernama “count”,”tr”,”mail”,”list”,”f”. Berkas “count”
dialokasikan pada blok beralamat 0 dan 1 sehingga simpul atau rekamannya di
direktori bernilai 0 dan 2. Nilai 0 untuk alamat blok alamat awal dan nilai 2
untuk jumlah blok yang di tempatinya. Berkas “tr” menempati blok beralamat 14,
15, dan 16 sehingga rekamannya bernilai 14 dan 3. Berkas “mail” menempati blok
19 sampai 24 sehingga di direktori tercatat nilai 19 dan 6. Berkas “list”
menempati blok 28,29,30,31, dan tercatat di direktori nilai 28 dan 4. Dan yang
terkhir berkas “f” menempati blok 6 dan 7 sehingga rekamannya di direktori
mencatat nilai 6 dan 2.
2.
Alokasi berantai
Pada alokasi berantai,
data berkas dapat dialokasikan ke blok-blok kosong di media penyimpanan secara
tersebar. Untuk menunjukkan lokasi blok berikutnya, di bagian awal atau akhir
setiap blok disimpan alamat blok alokasi berikutnya. Blok alokasi terakhir akan
menyimpan karakter khusus sebagai pananda akhir berkas.\
Untuk simpul atau
rekaman di direktori, informasi yang perlu di catatkan adalah nomor blok
pertama yang di tempati berkas dan nomor blok alokasi terakhir dari file.
Ilustrasinya di tunjukan pada gambar di bawah ini yang memperlihatkan alokasi
unutk berkas “jeep”. Data berkas tersebut dialokasi secara berurutan pada blok
9,16,1,10, dan 25. Rekaman yang dicatat di direktori adalah blok awalnya, yaitu
9 dan blok terakhir 25. Pada awal atau akhir masing-masing blok yang dialokasi
di simpan pointer alamat blok alokasi berikutnya. Sebagai contoh, blok 9
menyimpan ponter yang isinya menunjuk ke blok 16. Dengan demikian, ketika
membaca blok 9, sistem operasi mengetahui alamat berikut yang harus di bacanya.
Blok 16 menyimpan ponter ke blok 1, blok 1 menyimpan ponter ke blok 10, blok 10
menyimpan ponter ke blok 25, blok 25 menyimpan ponter invalid sebagai penanda
akhir blok dari file.
3.
Alokasi
berindeks
Hal yang khas dari
alokasi berindeks adalah pemakaian suatu blok khusus untuk mencatat blok-blok
yang di tempati file. Blok khusus ini di sebut blok indeks dan nomor bloknya di
catatkan pada rekaman di direktori. Pada saat terjadi pembacaan file, blok
indeks akan di akses terlebih dahulu untuk mengetahui letak blok-blok alokasi
file. Penggunaan blok indeks juga memungkinkan pengaksesan berkas secara
langsung maupun secara sekuensial. Gambar di bawah ini menggambarkan alokasi berindeks
berkas “jeep” pada suatu direktori. Berkas tersebut di alokasikan pada lokasi
9, 16, 1, 10, 25. Infomasi blok-blok yang dialokasi untuk file disimpan pada
blok 19. Blok 19 ini dikatakan sebagai blok indeks dari berkas “jeep” dan di
catat pada rekaman di direktori.
4.
Proteksi dan
bagi pakai file
Pada sistem operasi yang multi
user, file-file yang disimpan dapat digunakan bersama. Namun sering kali ada
file-file yang berisi data-data yang bersifat rahasia ataupun pribadi sehingga
di kehendaki pembatasan akses terhadap file bersangkutan. Manajenen file
menyediakan mekanisme proteksi terhadap pengaksesan file. Beberapa mekanisme proteksi
yang sering di gunakan adalah:
1.
Proteksi berkas
dengan pasword.
Proteksi dilakukan
dengan memberikan suatu pasword untuk setiap file yang di simpan. Jika terjadi
usaha pengaksesan terhadap file maka manajemen file akan meminta pengakses
untuk memberikan suatu pasword. Jika pasword yang di berikan sama dengan
pasword berkas maka akses akan di izinkan. Jika pasword yang diberikan tidak
sesuai maka akses terhadap file akan di tolak.
Penggunaan proteksi ini
cukup umum dan bagus untuk file yang bersifat sangat khusus dan pribadi serta
jumlah filenya tidak banyak. Namun jika file yang butuh diproteksi sangat
benyak ataupun berkas-berkas tersebut akan digunakan bersama, mekanisme
proteksi pasword untuk setiap file kurang memadai dan tidak effisien.
2.
Proteksi berkas
dengan list atau daftar kontrol akses (Access Control List).
Proteksi dilakukan
dengan cara membuatkan suatu daftar kontrol aksess atau ACL (access control
list) untuk setiap file dan disimpan pada rekaman di direktori. ACL umumnya
berisi daftar pengguna yang boleh mengakses file tersebut serta hak aksessnya,
misalnya hak baca, tulis, dan eksekusi yang dimilikinya. Setiap terjadi
pengaksesan terhadap file maka manajemen file akan mencocokkan identitas
pengakses dengan ACL untuk menentukan boleh tidaknya akses tersebut. Tentunya
tidak efisien jika harus mencatat semua user serta jenis hak aksesnya di dalam
ACL karena akan membuat rekaman direktori menjadi sangat besar, bahkan mungkin
lebih besar dari isi file itu sendiri. Manajemen berkas pada sistem operasi
UNIX dan variannya, umunnya mengelompokkan pengaksesan file kedalam 3 kategori,
yaitu:
1.
Owner
Yaitu pengguna
yang membuat file tersebut.
2.
Grup
Yaitu pengguna yang
berada di dalam kelompok pengguna yang sama dengan pembuat berkas tersebut.
3.
Everyone
Yaitu setiap pengguna
yang tidak termasuk 2 kategori di atas.
ACL mendefenisikan hak akses untuk setiap kelompok
di atas bagi masing-masing file. Untuk memahami prinsip proteksi dia atas,
andaikan pengguna pada sistem operasi UNIX dikelompok seperti pada gambar
dibawah sesuai dengan fungsi pengguna dalam organisasi. Pengguna “Rudi” dan
“Budi” di kelompokkan dalam grup “IT”, sedangkan “Suci” dikelompokkan dalam
grup “personalia”.
Jika rudi login ke sistem operasi dan membuat suatu
file misalnya file “abc” maka owner atau pemilik file tersebut adalah rudi.
Kemudian misalnya rudi ingin agar file tersebut dapat di baca namun tidak dapat
di tulis oleh budi, yaitu pengguna yang masih sesama grub IT, dan tidak dapat
di baca maupun di tulis oleh pengguna lain diluar grupnya, misalnya susi, maka
ACL untuk file tersebut harus di set seperti pada gambar berikut.
gambar
hak akses untuk owner, Rudi adalah 100. Artinya
pemiliknya dapat melakukan operasi baca(read),
tulis(Write), dan eksekusi(eXcecute). Hak akses untuk pengguna yang
juga pengguna grup IT, misalnya budi, adalah 100, artinya baca saja. Sementara
untuk pengguna lain, misalnya suci, hak aksesnya tidak ada atau 000.
5.
Backup dan
recovery
Data yang ada di media penyimpanan
rentan terhadap kerusakan. Oleh sebab itu sistem operasi harus memiliki
mekanisme untuk mendeteksi dan memulihkan file seperti pemeriksaan konsistensi
data serta backup dan pemulihan data.
1.
Pemeriksaan
konsistensi data
Misalnya memeriksa
konsistensi atribut file yang tersimpan pada rekaman di direktori dengan
kondisi file yang sesungguhnya. Selain itu sistem operasi juga memeriksa apakah
terjadi kerusakan pada file program sebelum di jalankan. Umunnya sistem operasi
akan mencegah eksekusi program yang isinya sudah berubah secara tidak wajar.
2.
Backup dan
pemulihan file
Backup adalah
penyalinan file dari media penyimpanan lain sebagai cadangan dan di gunakan
untuk memulihkan file jika terjadi kerusakan pada file aslinya. Salah satu
fungsi dari manajemen file adalah melakukan backup secara otomatis terhadap
sejumlah file-file yang penting. Pada saat terjadi kerusakan pada file-file
tersebut, sistem operasi dapat melakukan pemulihan file tersebut dari file
penyalinannya.
Langganan:
Postingan (Atom)