Wednesday, November 23, 2016

SISTEM OPERASI Chapter 12 - File-System Interface

SISTEM OPERASI

Chapter 12 - File-System Interface







11.1 Konsep File
Sekilas tentang File
File system merupakan implementasi file dengan menggunakan disk. File dipetakan oleh system operasi ke perangkat fisik. Perangkat fisik ini merupakan suatu perangkat penyimpanan yang biasanya non-volatille sehingga data yang disimpan tidak akan hilang ketika aliran listrik terputus. File adalah barisan byte dengan ukuran yang tidak tetap dan selalu berubah - ubah dari 0 sampai batas atas yang sangat besar.
Operasi Pada File
·        Penciptaan File
Ada dua langkah yang diperlukan, yaitu adanya ruang atau tempat di file system untuk suatu file dan pembuatan entry untuk file baru di dalam suatu direktori. Direktori memasukan record nama file dan lokasinya di file system
·        Menulis File
Sistem operasi membuat system call yang menentukan nama file dan informasi yang akan ditulis ke dalam file.
·        Membaca File
Sistem operasi membuat system call yang menentukan nama file dan dimana blok berikutnya (di dalam memory) dari file tersebut harus diletakan.
·        Memposisikan Kembali
Tidak memerlukan aksi dari I/O secara nyata, karena sebenarnya hanya merupakan pencarian file (file seek).
·        Menghapus File
Sebenarnya membebaskan semua ruang yang digunakan oleh file sehingga nantinya ruang tersebut dapat digunakan oleh file lain.
·        Memotong File
Fasilitas ini memaksa user untuk tidak menghapus file dan kemudian menciptakannya kembali, supaya waktu yang digunakan lebih efisien. Hal ini dilakukan ketika user ingin mengosongkan file tersebut.
·        Open(Fi) mencari struktur direktori untuk entry Fi dan memindahkan isi entry ke memori.
·        Close (Fi) memindahkan isi entry Fi di memori ke struktur direktori pada disk.

Atribut File
File mempunyai atribut, dimana atribut ini bervariasi antara sistem operasi satu dengan sistem operasi lainnya, tetapi biasanya terdiri atas beberapa atribut sebagai berikut :
·        Nama : Merupakan satu - satunya informasi yang dapat diingat dan dibaca oleh manusia
·        Type : Merupakan type file yang ada; yaitu executable, text, data, atau yang lain, tergantung dari sistem operasi yang mendukungnya.
·        Lokasi : Informasi ini merupakan sebuah pointer yang menunjuk ke perangkat dan ke lokasi dimana file yang ditunjuk berada didalam perangkat tersebut.
·        Ukuran : Merupakan bersarnya file terkini yang ada (dalam byte, word, atau blok) dan kemungkinan ukuran terbesar yang diperbolehkan ada dalam atribut ini.
·        Proteksi : File dikontrol pengaksesannya sehingga hanya user tertentu saja yang dapat membaca, menulis/mengubah, mengeksekusi, dan lainnya.
·        Jam, Tanggal, dan Indentifikasi User : Informasi ini dapat disimpan untuk penciptaan, modifikasi terakhir kali, dan penggunaan terakhir. Data - data tersebut berguna untuk proteksi, keamanan, dan monitoring data.




Tipe File

11.2 Metode Akses
1. Metode Sequential (Berurutan)
Akses berurutan merupakan metode akses paling sederhana. Informasi pada file diproses secara berurutan, satu record diakses setelah record yang lain. Metode akses ini berdasarkan model tape dari suatu file yang bekerja dengan perangkat sequentialaccess atau random-access.
Operasi read membaca bagian selanjutnya dari file dan otomatis menambah file pointer yang melacak lokasi I/O. Operasi write menambah ke akhir file dan ke akhir material pembacaan baru (new end of file). File dapat di-reset ke awal dan sebuah program untuk meloncat maju atau mundur ke n record.
Operasi pada akses berurutan terdiri dari :
read next
write next
reset
no read after last write
(rewrite)



2. Metode Direct (Langsung)
File merupakan logical record dengan panjang tetap yang memungkinkan program membaca dan menulis record dengan cepat tanpa urutan tertentu. Metode akses langsung berdasarkan model disk dari suatu file, memungkinkan acak ke sembarang blok file, memungkinkan blok acak tersebut dibaca atau ditulis.
Operasi file dimodifikasi untuk memasukkan nomor blok sebagai parameter. Nomor blok ditentukan user yang merupakan nomor blok relatif, misalnya indeks relatif ke awal dari file. Blok relatif pertama dari file adalah 0, meskipun alamat disk absolut aktual dari blok misalnya 17403 untuk blok pertama. Metode ini mengijinkan sistem operasi menentukan dimana file ditempatkan dan mencegah user mengakses posisi dari sistem file yang bukan bagian dari file tersebut.
Operasi pada akses langsung terdiri dari :
read n
write n position to n
             read next
             write next
rewrite n

n = relative block number



3. Metode Akses Lain
Metode akses lain dapat dibangun berpedoman pada metode direct access. Metode tambahan ini biasanya melibatkan konstruksi indeks untuk file. Indeks, seperti indeks pada bagian akhir buku, berisi pointer ke blok-blok tertentu. Untuk menentukan masukan dalam file, pertama dicari indeks, dan kemudian menggunakan pointer untuk mengakses file secara langsung dan menemukan masukan yang tepat.
File indeks dapat disimpan di memori. Bila file besar, file indeks juga menjadi terlalu besar untuk disimpan di memori. Salah satu pemecahan nya adalah membuat indeks untuk file indeks. File indeks primer berisi pointer ke file indeks sekunder, yang menunjuk ke data item aktual.

Contoh Index  dan Relative Files


11.3 Struktur Direktori
Direktori adalah kumpulan titik yang berisi informasi tentang semua file. Beberapa sistem menyimpan ratusan file pada disk ratusan gigabyte. Untuk mengatur semua data menggunakan organisasi yg dilakukan dalam dua bagian.

Kumpulan node yang berisi informasi tentang semua file


Pertama, system file dipecah ke dalam partisi, yang disebut juga “minidisk” (pada mesin IBM) atau “volume” (pada mesin PC dan Macintosh). Setiap disk pada sistem berisi sedikitnya satu partisi, merupakan struktur low-level dimana file dan direktori berada. Terkadang, partisi digunakan untuk menentukan beberapa daerah terpisah dalam satu disk, yang diperlakukan sebagai perangkat penyimpan yang terpisah. Sistem lain menggunakan partisi yang lebih besar dari sebuah disk untuk mengelompokkan disk ke dalam satu struktur logika.
Kedua, setiap partisi berisi informasi mengenai file di dalamnya. Informasi ini disimpan pada entry dalam “device directory atau volume table of contents”. Perangkat direktori (atau direktori) menyimpan informasi seperi nama, lokasi, ukuran dan tipe untuks semua file dari partisi tersebut.


Informasi yang terdapat pada direktori :

• Nama
• Tipe
• Alamat
• Panjang saat ini
• Panjang maksimum
• Tanggal akses terakhir
• Tanggal perubahan terakhir
• ID pemilik
• Informasi proteksi

Beberapa operasi yang dibentuk pada direktori adalah :

• Mencari file (search)
• Membuat file (create)
• Menghapus file (delete)
• Mendaftar suatu direktori (list)
• Mengubah nama file (rename)
• Melintasi sistem file (traverse)

Direktori Satu Level (Single)
Direktori ini hanya terdiri dari satu direktori untuk setiap user. Pada direktori jenis ini terjadi permasalahan penamaan dan pengelompokan berdasarkan user.

Satu direktori untuk semua user



Directori Dua Level
Direktori ini terdiri dari dua level yang memisahkan direktori untuk setiap user. Setiap file diberi nama path, dapat mempunyai nama file yang sama untuk user yang berbeda, mempunyai kapabilitas pencarian, tetapi belum dilakukan pengelompokan.
Memisahkan direktori untuk setiap user



Direktori Berstruktur Pohon
Direktori berstruktur pohon merupakan struktur direktori yang biasa digunakan. Pohon mempunyai direktori root. Setiap file pada sistem mempunyai nama path yang unik




Pada direktori ini pencarian file dan direktori lebih efisien, mengelompokkan file dan dapat mengakses direktori dan sub direktori.
Sebuah direktori atau subdirektori berisi kumpulan file atau sub direktori. Sebuah direktori merupakan file yang diperlakukan dengan cara khusus. Semua direktori mempunyai format internal yang sama. Satu bit dalam setiap masukan direktori merupakan masukan sebagai file (0) atau sebagai subdirektori (1).
Sistem call khusus digunakan untuk membuat dan menghapus direktori. Nama path dapat dibagi menjadi dua tipe yaitu nama path “absolut” dan “relatif”. Pada saat membuat file baru akan dilakukan pada current directory. Demikian juga pada saat membuat direktori baru.


Direktori Acyclic Graph
Struktur tree melarang menggunakan bersama-sama file dan direktory. Pada direktori acyclic graph memungkinkan direktori mempunyai subdirektori dan file yang digunakan bersama-sama. File dan subdirektori yang sama mungkin berada pada dua direktori yang berbeda




Direktori acyclic graph diimplementasikan dalam beberapa cara. Cara yang umum, pada beberapa system UNIX, adalah membuat entry direktori baru yang disebut link. Sebuah link berupa sebuah pointer ke file atau subdirektori lain. Sebuah link dapat diimplementasikan sebagai nama path absolut atau relatif (sebuah symbolic link). Sebuah link berbeda dari direktory asal. Link diindentifikasi oleh format pada direktory entry dan memberi nama pointer secara tak langsung. Pendekanan lain dengan menduplikasi semua informasi pada direktori yang digunakan bersama-sama sehingga kedua entri identik dan sama. Cara ini menyebabkan informasi asli dan duplikasi tidak dapat dibedakan
Permasalahan mendasar adalah memelihara konsistensi jika file dimodifikasi. Struktur direktori acyclic-graph lebih fleksibel daripada struktur pohon, tetapi lebih kompleks. Sebuah file mungkin mempunyai lebih dari satu nama path, konsekuensinya, nama file yang berbeda harus merujuk ke file yang sama. Jika mencoba melintasi keseluruhan sistem file (misalnya untuk akumulasi statistik pada semua file) struktur sharing tidak boleh dilintasi lebih dari satu kali.
Masalah lainnya melibatkan penghapusan. Kapan ruang yang sudah dialokasikan untuk file yang digunakan bersama-sama dapat di dealokasi dan digunakan lagi. Pendekatan lain untuk penghapusan adalah menyediakan file sampai semua acuan dihapus.

11.4 File-System Mounting
Suatu sistem file harus di-mount sebelum diakses. File yang tidak di-mount akan dilakukan proses mounting pada mount point.
(a)Sistem eksis (b) partisi yang tidak di-mount



Mount Point
15.5 Protection
Informasi yang disimpan dalam system komputer harus diproteksi dari kerusakan fisik (reliability) dan akses yang tidak benar (protection).
Reliability biasanya dilakukan dengan duplikasi copy dari file. Beberapa sistem komputer mempunyai sistem yang secara otomatis (atau melalui intervensi operator komputer) menduplikasi file ke tape secara regular dari sistem file yang secara tiba-tiba dihapus. Protection, sebaliknya, dapat dilakukan dalam beberapa cara.
Tipe Akses
Mekanisme proteksi dengan tipe akses file terbatas yang dapat dibuat. Akses diperbolehkan atau tidak tergantung beberapa faktor, satu diantaranya permintaan tipe akses.
Operasi yang lain, seperti pemberian nama, meng-copy atau mengubah file, juga harus dikontrol. Untuk beberapa alasan, fungsi level lebih tinggi (seperti mengcopy) diimplementasikan oleh system program yang menggunakan system call level lebih rendah. Proteksi disediakan hanya pada level lebih rendah. Sebagai contoh, meng-copy file diimplementasikan dengan deretan permintaan membaca. Dalam hal ini user dengan akses read dapat menyebabkan file di-copy, dicetak dan lain-lain. Beberapa operasi yang disediakan :
• Membaca dari file (read)
• Menulis ke file (write)
• Menjalankan file (execute)
• Menambah isi file (append)
• Menghapus file (delete)
• Melihat nama dan atribut file (list)

Access List dan Group
Pendekatan permasalahan proteksi yang sering digunakan adalah dengan membuat akses secara dependent pada identifikasi user. Skema umum untuk implementasi akses identity-dependent dengan menghubungkan masing-masing file dan direktori dg sebuah access list yang menentukan nama user dan tipe akses yang diijinkan untuk setiap user.
Bila user meminta akses ke file khusus, sistem operasi memeriksa access list. Jika user tersebut terdaftar, akses diijinkan, sebaliknya terjadi protection violation dan dilarang mengakses file.
Masalah pokok dengan access list adalah ukuran. Masalah ini dipecahkan dengan melakukan pengetatan terhadap access list. Beberapa system memperkenalkan tiga klasifikasi user :
·         Owner. User yang membuat file
·         Group. Kumpulan user yang menggunakan file bersama-sama dan memerlukan akses yang sama
·         Universe. Semua user lain dalam system

Contoh Proteksi : UNIX
Pada sistem UNIX, proteksi direktori ditangani sama dengan proteksi file, misalnya, diasosiasikan dengan setiap subdirektory menggunakan owner, group dan universe (others) sebagai 3 bit RWX. Informasi yang terdapat pada file dari kiri ke kanan terdiri dari proteksi file atau direktori, jumlah link ke file, nama pemilik, nama group, ukuran file dalam byte, tanggal membuat, nama file.
 




n        Device drivers manage I/O devices at the I/O control layer
l          Given commands like “read drive1, cylinder 72, track 2, sector 10, into memory location 1060” outputs low-level hardware specific commands to hardware controller
n        Basic file system given command like “retrieve block 123” translates to device driver
n        Also manages memory buffers and caches (allocation, freeing, replacement)
l          Buffers hold data in transit
l          Caches hold frequently used data
n        File organization module understands files, logical address, and physical blocks
l          Translates logical block # to physical block #
l          Manages free space, disk allocation









                                                                                                                  
If You Enjoyed This, Take 5 Seconds To Share It