Cari Blog Ini

Rabu, 04 November 2020

Tugas 4 Individu File System

File System

1. Jelaskan Bagaimana Pengimplementasian dari sebuah direktori dalam disk ?

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 :

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

Pemilihan dalam algoritma alokasi direktori dan manajemen direktori mempunyai efek yang besar dalam efisiensi, performa, dan kehandalan dari sistem berkas.

Linear List

Metode paling sederhana dalam mengimplementasikan sebuah direktori adalah dengan menggunakan linear list dari nama berkas dengan penunjuk ke blok data. Linear list dari direktori memerlukan pencarian searah untuk mencari suatu direktori didalamnya. Metode sederhana untuk di program tetapi memakan waktu lama ketika dieksekusi. Untuk membuat berkas baru kita harus mencari di dalam direktori untuk meyakinkan bahwa tidak ada berkas yang bernama sama. Lalu kita tambahkan sebuah berkas baru pada akhir direktori. Untuk menghapus sebuah berkas, kita mencari berkas tersebut dalam direktori, lalu melepaskan tempat yang dialokasikan untuknya. Untuk menggunakan kembali suatu berkas dalam direktori kita dapat melakukan beberapa hal. Kita dapat menandai berkas tersebut sebagai tidak terpakai (dengan menamainya secara khusus, seperti nama yang kosong, atau bit terpakai atau tidak yang ditambahkan pada berkas), atau kita dapat menambahkannya pada daftar direktori bebas. Alternatif lainnya kita dapat menyalin ke tempat yang dikosongkan pada direktori. Kita juga bisa menggunakan linked list untuk mengurangi waktu untuk menghapus berkas. Kelemahan dari linear list ini adalah percarian searah untuk mencari sebuah berkas. Direktori yang berisi informasi sering digunakan, implementasi yang lambat pada cara aksesnya akan menjadi perhatian pengguna. Faktanya, banyak sistem operasi mengimplementasikan 'software cache' untuk menyimpan informasi yang paling sering digunakan. Penggunaan 'cache' menghindari pembacaan informasi berulang-ulang pada disk. Daftar yang telah diurutkan memperbolehkan pencarian biner dan mengurangi waktu rata-rata pencarian. Bagaimana pun juga penjagaan agar daftar tetap terurut dapat merumitkan operasi pembuatan dan penghapusan berkas, karena kita perlu memindahkan sejumlah direktori untuk mengurutkannya. Tree yang lebih lengkap dapat membantu seperti B-tree. Keuntungan dari daftar yang terurut adalah kita dapatkan daftar direktori yang terurut tanpa pengurutan yang terpisah.

Hash Table

Struktur data lainnya yang juga digunakan untuk direktori berkas adalah hash table. Dalam metode ini linear list menyimpan direktori, tetapi struktur data hash juga digunakan. Hash table mengambil nilai yang dihitung dari nama berkas dan mengembalikan sebuah penunjuk ke nama berkas yang ada di-linear list. Maka dari itu dapat memotong banyak biaya pencarian direktori. Memasukkan dan menghapus berkas juga lebih mudah dan cepat. Meski demikian beberapa aturan harus dibuat untuk mncegah tabrakan, situasi dimana dua nama berkas pada hash mempunyai tempat yang sama. Kesulitan utama dalam hash table adalah ukuran tetap dari hash table dan ketergantungan dari fungsi hash dengan ukuran hash table. Sebagai contoh, misalkan kita membuat suatu linear-probing hash table yang dapat menampung 64 data. Fungsi hash mengubah nama berkas menjadi nilai dari 0 sampai 63. Jika kita membuat berkas ke 65 maka ukuran tabel hash harus diperbesar sampai misalnya 128 dan kita membutuhkan suatu fungsi hash yang baru yang dapat memetakan nama berkas dari jangkauan 0 sampai 127, dan kita harus mengatur data direktori yang sudah ada agar memenuhi fungsi hash yang baru. Sebagai alternatif dapat digunakan chained-overflow hash table, setiap hash table mempunyai daftar yang terkait (linked list) dari pada nilai individual dan kita dapat mengatasi tabrakan dengan menambah tempat pada daftar terkait tersebut. Pencarian dapat menjadi lambat, karena pencarian nama memerlukan tahap pencarian pada daftar terkait. Tetapi operasi ini lebih cepat dari pada pencarian linear terhadap seluruh direktori.

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

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

Efisiensi Penggunaan Space pada Disk

Untuk memperbaiki kinerja ada beberapa cara:

  1. Menggunakan page cache
  2. Menggunakan Unified Buffer Cache

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

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

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

2. Sebutkan Keunggulan Dari File System UNIX dan Window?

File System Windows


FAT16 (File Allocation Table)

FAT16 dikenalkan oleh MS-DOS pada tahun 1981. Awalnya, Sistem ini di design untuk mengatur file di floopy drive dan mengalami beberapa kali perubahan sehingga digunakan untuk mengatur file di harddisk. FAT16 adalah sistem berkas yang menggunakan unit alokasi yang memiliki batas hingga 16-bit, sehingga dapat menyimpan hingga 216 unit alokasi (65536 buah). Sistem berkas ini memiliki batas kapasitas hingga ukuran 4 Gigabyte saja. Ukuran unit alokasi yang digunakan oleh FAT16 bergantung pada kapasitas partisi yang akan hendak diformat.

Kelebihan :
FAT16 adalah sebuah file system yang kompatibel hampir di semua Operating System baik itu Windows 95/98/me, OS/2 , Linux dan bahkan Unix.
Kekurangan :
FAT16 mempunyai kapasitas tetap jumlah cluster dalam partisi, jadi semakin besar Harddisk maka ukuran cluster akan semakin besar, artinya file sekecil apapun tetap akan memakan 32Kb dari harddisk. Hal jelek lain adalah FAT16 tidak mendukung kompresi, enkripsi dan kontrol akses dalam partisi. FAT16 adalah sistem berkas yang menggunakan unit alokasi yang memiliki batas hingga 16-bit, sehingga dapat menyimpan hingga 216 unit alokasi (65536 buah). Sistem berkas ini memiliki batas kapasitas hingga ukuran 4 Gigabyte saja disamping itu ukuran unit alokasi yang digunakan oleh FAT16 bergantung pada kapasitas partisi yang hendak diformat misalnya jika ukuran partisi kurang dari 16 Megabyte, maka Windows akan menggunakan sistem berkas FAT12, dan jika ukuran partisi lebih besar dari 16 Megabyte, maka Windows akan menggunakan sistem berkas FAT16.

FAT32

FAT32 mulai di kenal pada tahun 1976 dan digunakan pada sistem operasi Windows 95 SP2, dan merupakan pengembangan lanjutan dari FAT16. Karena menggunakan tabel alokasi berkas yang besar (32-bit), FAT32 secara teoritis mampu mengalamati hingga 232 unit alokasi (4294967296 buah). Meskipun demikian, dalam implementasinya, jumlah unit alokasi yang dapat dialamati oleh FAT32 adalah 228 (268435456 buah).


Kelebihan :
FAT32 menawarkan kemampuan menampung jumlat cluster yang lebih besar dalam partisi. Selain itu juga mengembangkan kemampuan harddisk menjadi lebih baik dibanding FAT16.
Kelemahan :
Namun FAT32 memiliki kelemahan yang tidak di miliki FAT16 yaitu terbatasnya Operating System yang bisa mengenal FAT32. Tidak seperti FAT16 yang bisa dikenal oleh hampir semua Operating System, namun itu bukan masalah apabila anda menjalankan FAT32 di Windows Xp karena Windows Xp tidak peduli file sistem apa yang di gunakan pada partisi. File system FAT32 juga tidak mampu menampung single file berukuran 4gb atau lebih. Tidak hanya itu, beberapa orang berpendapat bahwa filesistem FAT32 ini lebih mudah terfragmentasi dibanding NTFS, jika fragmentasi meningkat, tentu performa akan turun.

NTFS (New Technology File System)

NTFS di kenalkan pertama pada Windows NT dan merupakan file system yang sangat berbeda di banding teknologi FAT. NTFS atau New Technology File System1, merupakan sebuah sistem berkas yang dibekalkan oleh Microsoft dalam keluarga sistem operasi Windows NT, yang terdiri dari Windows NT 3.x (NT 3.1, NT 3.50, NT 3.51), Windows NT 4.x (NT 4.0 dengan semua service pack), Windows NT 5.x (Windows 2000, Windows XP, dan Windows Server 2003), serta Windows NT 6.x (Windows Vista, Windows 7). NTFS bekerja berdasarkan prinsip BTree dan menggunakan Full Indexing. Karena itu pula fragmentation dapat ditekan seminimal mungkin. Kemudian, setiap file pada NTFS memiliki checksum, yang memungkinkan file tersebut diperbaiki secara sempurna bila suatu saat NTFS tersebut bermasalah.

Kelebihan :
NTFS menawarkan security yang jauh lebih baik , kompresi file , cluster dan bahkan support enkripsi data. NTFS merupakan file system standar untuk Windows Xp dan apabila anda melakukan upgrade Windows biasa anda akan di tanyakan apakah ingin mengupgrade ke NTFS atau tetap menggunakan FAT. NTFS juga memiliki fitur untuk menampung lebih dari satu buah ruangan data dalam sebuah berkas. Fitur ini disebut dengan Alternate Data Stream.
Kelemahan :
Kekurangan NTFS yang sering dibicarakan adalah kompatibilitas terhadap software atau operating sistem lawas seperti win 9x dan ME. Sistem operasi lama milik microsoft ini tidak mampu membaca file system NTFS. Selain itu, beberapa orang menilai bahwa file system NTFS ini tidak universal, karena OS selain microsoft tidak mampu melakukan read-write pada partisi NTFS, namun hal ini sudah terselesaikan. Ada yang berpendapat bahwa partisi berfile sistem NTFS akan susah diperbaiki jika terjadi masalah, Saat ini file sistem NTFS sudah cukup populer, sehingga muncul tool-tool recovery yang mendukung recovery data dan perbaikan partisi berfile sistem NTFS. 

File System LINUX 


EXT 2EXT2 merupakan jenis file system yang ampuh di sistem operasi linux. EXT2 juga merupakan salah satu file system yang paling ampuh dan menjadi dasar dari segala distribusi linux. Pada EXT 2 file system, file data disimpan sebagai data blok. Data blok ini mempunyai panjang yang sama dan meskipun panjangnya bervariasi diantara EXT2 file system, besar blok tersebut ditentukan pada saat file system dibuat dengan perintah mk2fs.

Kelebihan :
EXT2 merupakan tipe file system yang paling tua yang masih ada. Akronim dari EXT2 adalah second file system. Pertama kali dikenalkan pada tahun 1993. Menyimpan data secara hirarki standar yang banyak digunakan oleh sistem operasi. Maksimum ukuran file yang didukung oleh EXT2 adalah 2 Terabyte, dan volumenya bisa mencapai 4 Tb. Nama file bisa mencapai 255 karakter. Juga mendukung file system linux user, groups, dan permision (POSIX) dan juga mendukung kompresi file.
Kelemahan : 
Ketika Shut down secara mendadak membutuhkan waktu yang tidak sebentar untuk recover kembali. Untuk melakukan clean up file system, biasanya EXT2 secara otomatis akan menjalankan utility e2fsck pada saat booting selanjutnya. Utility ini mencoba memperbaiki masalah yang kemungkinan terjadi ketika sistem di matikan secara mendadak.

EXT3EXT3 merupakan peningkatan dari EXT2 file system dan EXT3 merupakan pengembangan dari EXT2.

Kelebihan : 
•Setelah kegagalan sumber daya, "unclean shutdown", atau kerusakan sistem, EXT2 file sistem harus melalui proses pengecekan dengan program e2fsck. Proses ini dapat membuang waktu sehingga proses booting menjadi sangat lama, khususnya untuk disk besar yang mengandung banyak sekali data. Dalam proses ini, semua data tidak dapat diakses.
•Integritas data, EXT3 menjamin adanya integritas data setelah terjadi kerusakan atau "unclean shutdown". EXT3 memungkinkan kita memilih jenis dan tipe proteksi dari data.
•Kecepatan menulis data lebih dari sekali, EXT3 mempunyai throughput yang lebih besar daripada EXT2 karena EXT3 memaksimalkan pergerakan head hard disk. Kita bisa memilih tiga jurnal mode untuk memaksimalkan kecepatan, tetapi integritas data tidak terjamin.
•Mudah dilakukan migrasi, Kita dapat berpindah dari EXT2 ke sistem EXT3 tanpa melakukan format ulang.
Kelemahan :
Sejak EXT3 bertujuan untuk menjadi kompatibel dengan EXT2 sebelumnya, banyak struktur on-disk mirip dengan EXT2. Karena itu, EXT3 tidak memiliki beberapa fitur desain yang lebih baru, seperti luasan, alokasi dinamis inode, dan suballocation blok Ada batas-direktori 31.998 per satu sub direktori., Berasal dari batas atas 32.000 link per inode. EXT3, seperti filesystem Linux terbaru, tidak dapat fsck-ed sementara filesystem dipasang untuk menulis.

EXT4File system EXT4 yang biasa digunakan linux merupakan file system ke empat yang dikembangkan sebagai penerus EXT3.

Kelebihan:
Performance yang lebih baik dan peningkatan kemampuan. Filesystem EXT4 juga meningkatkan daya tampung maksimal file system ke 1 exabyte dan mengurangi wktu yang diperlukan untuk melakukan pengecekan hardisk (fsck yang mana pada Filesystem EXT3, setiap 20 30 kali mount). File system EXT4 memiliki keunggulan performance yang significant dalam menulis dan membaca file berukuran besar.
Kelemahan :
Penundaan alokasi dan potensi kehilangan data. Karena alokasi penundaan tersebut telah mangandalkan programmer dengan EXT3, fitur tersebut menimbulkan beberapa resiko kehilangan data tambahan dalam kasus dimana sistem crash atau kehilangan daya sebelum data ditulis ke harddisk. 

JFS (Journal File System)Journal File System atau JFS adalah 64-bit file system journal yang dibuat oleh IBM . Ini tersedia sebagai perangkat lunak bebas di bawah ketentuan GNU General Public License (GPL). JFS adalah system file journaling, JFS memiliki kemampuan yang cepat dan handal, dengan kinerja yang baik secara konsisten dalam berbagai jenis beban, bertentangan dengan file system lain yang tampak nya lebih baik dalam pola penggunaan khusus, misalnya dengan file kecil atau besar. 
Reiser FSDirancang oleh Hans Reiser dan diperkenalkan dalam versi 2.4.1 dari kernel Linux, merupakan sistem file pertama journal untuk disertakan di kernel standar. ReiserFS adalah file default sistem di Yoper Elive, Xandros, Linspire, GoboLinux, dan distribusi Linux.

Kelebihan :
Secara umum mempunyai kinerja yang lebih tinggi di semua ukuran file (file size). Mengurangi ruang harddisk yang terbuang percuma, tidak ada alokasi inode yang statik, file-file yang kecil di paket bersama dengan file kecil yang lain. Kinerja yang lebih tinggi untuk direktori yang banyak (contohnya direktori queue qmail dan web cache squid).
Kelemahan :
Belum sempurna jika dipasang di partisi / atau /boot (karena LILO - Linux Loader tidak sepenuhnya mendukung file system ini) dan yang kedua adalah belum mendukung sistem quota user. 

Referensi

https://terminaltechno.blog.uns.ac.id/2009/12/13/implementasi-sistem-file/
http://kambing.ui.ac.id/bebas/v15/umum/ibam/ibam-os-html/x5426.html
https://mhdroby.blogspot.com/2015/01/macam-macam-file-system-beserta.html

                           TUGAS ETIKA PROFESI                                                                                   NIM     : 8...