File System
File System adalah metode untuk menyimpan dan mengatur file-file dan data yang tersimpan di dalamnya untuk membuatnya mudah ditemukan dan diakses. File System dapat menggunakan media penyimpan data seperti HardDisk atau CD Rom. File System juga dapat melibatkan perawatan lokasi fisik file, juga memberikan akses ke data pada file server dengan berlaku sebagai klien untuk protokol jaringan (mis. NFS atau SMB klien), atau dapat juga berlaku sebagai file system virtual dan hanya ada sebagai metode akses untuk data virtual. Lebih umum lagi, file system merupakan database khusus untuk penyimpanan, pengelolaan, manipulasi dan pengambilan data.
1.2 Metadata
Informasi lain yang disimpan biasanya berhubungan dengan tiap file yang ada dalam file system. Panjang data yang dikandung dalam sebuah file dapat disimpan sebagai nomor blok yang disediakan untuk file atau sebagai hitungan byte. Waktu di mana file terakhir kali dimodifikasi dapat disimpan sebagai timestamp dari file. Beberapa file system juga menyimpan waktu pembuatan file, waktu terakhir kali diakses, dan waktu di mana meta data dari file diubah. Informasi lain termasuk juga tipe media file (blok, karakter, soket, subdirektori), User-ID pemilik dan Group-ID, serta setting access permission-nya (read only, executeble, dll). Atribut sebarang dapat dilekatkan pada file system tingkat lanjut, seperti XFS, ext2/ext3, beberapa versi UFS dan HFS+ menggunakan atribut file diperluas. Fitur ini diterapkan pada kernel Linux, FreeBSD dan MacOS X, serta membolehkan metadata untuk dihubungkan dengan file pada level file system. Misalnya info tentang pembuat dokumen, pengkodean karakter dari dokumen plain-text, atau checksum. File System 1
1.4 Fasilitas
File System tradisional menawarkan fasilitas untuk membuat, memindah dan menghapus file dan direktrori. File System tradisional masih kekurangan fasilitas untuk membuat link tambahan ke direktrori, merubah link parent, dan membuat link bidireksional ke file. File system tradisional juga menawarkan fasilitas untuk memotong, menambah catatan, membuat, memindah, menghapus dan modifikasi file di tempat. Mereka tidak menawarkan fasilitas untuk menambah di awal atau untuk meghapus dari bagian awal file, membiarkan penyisipan tunggal sembarang ke file atau penghapusan dari file. Operasi yang disediakan sangat asimetris dan kekurangan manfaat dalam konteks yang tidak diharapkan. Misalnya, pipe interproses dalam Unix harus dilakukan di luar file system karena konspe pipe tidak menawarkan pemotongan dari awal file.
File System
Menghapus blok. Blok Flash memory harus dihapus sebelum dapat ditulis. Waktu yang dibutuhkan untuk menghapus sebuah blok bisa jadi signifikan, dan hal ini juga bermanfaat untuk menghapus blok yang tidak dipakai saat media dalam keadaan idle. Random Access. file system Disk ditingkatkan untuk mencegah pencarian disk, Flash memory tidak membebankan proses pencarian sama sekali Level pemakaian: media memori flash cenderung mudah rusak ketika satu blok tunggal di-overwrite secara berulang; file system flash didesian untuk me-write secara merata
Alfiyan NRP 2205 100 170 ini berarti jika terjadi crash atau kegagalan power, setelah recovery, kondisi yang disimpan akan tetap. File System journaling adalah salah satu teknik yang digunakan untuk mengenalkan konsistensi level-transaksi ke dalam struktur file system.
File System
3.1 FAT
FAT merupakan File System yang digunakan dalam Sistem Operasi Windows. Nama FAT berasal dari penggunaan tabel yang memusatkan informasi tentang area mana milik file yang kosong atau mungkin tidak dipakai, dan di mana setiap file yang disimpan dalam disk. Untuk membatasi ukuran tabel, space disk dialokasikan ke file dalam grup-grup sektor hardware yang bersebelahan, disebut cluster. Ketika disk drive berkembang, jumlah maksimum cluster pun meningkat dan begitu juga jumlah bit yang mengidentifikasikan bahwa cluster telah berkembang. Versi pengembangan dari format file system FAT dinamai sesuai dengan jumlah bit tabel elemennya, yaitu: FAT12, FAT16 dan FAT32.
3.2 NTFS
NTFS merupakan file system standar untuk Windows NT termasuk windows 200, XP, Server 2003, Windows Server 2008 dan Wondows Vista. NTFS menggantikan file system FAT sebagai file system yang dipakai untuk Sistem Operasi Windows. Versi rilis NTFS ada beberapa, sebagai berikut:
v1.0 with NT 3.1, dirilis pertengahan-1993 v1.1 with NT 3.5 dirilis 1994 v1.2 (pertengahan -1995) and NT 4 (pertengahan -1996) v3.0 dari Windows 2000 v3.1 dari Windows XP (2001), Windows Server 2003 (2003), Windows Vista (pertengahan -2005) dan Windows Server 2008
Dalam NTFS, semua file data nama file, tangal pembuatan, ijin akses dan isi disimpan dalam metadata dalam Master File Table (MFT). NTFS mengijinkan setiap urutan 16-bit nilai utuk encoding nama (nama file, nama stream, nama index, dll) Master File table mengandung metadata tentang setiap file, direktori dan metafile dalam suatu volume dengan partisi NTFS. Metadata itu termasuk nama filem lokasim ukuran dan ijinnya. Strukturnya mendukung algoritma yang memperkecil disk fragmentation.
3.3 ext2
Ext2 atau second extended file system adalah file system untuk kernel Linux. Meskipun bukan termasuk file system journaling, tapi penerusnya yaitu ext3 menyediakan fitur journaling dan hampir sepenuhnya kompatibel dengan ext2.
File System
Alfiyan NRP 2205 100 170 File system pertama yang dipakai dalam Sistem Operasi Linux adalah Minix FS yang hampir bebas sepenuhnya dari bug, namun menggunakan offset 16-bit dan ukuran maksimum hanya 64 MB. Nama file juga terbatas hanya 14 karakter. Untuk mengatasi hal ini, dibuatlah file system baru yang dimulai dengan penambahan layer file system virtual pada kernel Linux. File system ext dirilis pada April 1992 sebagai file system pertama yang menggunakan VFS API dan dimasukkan dalam Linux 0.96c. File system ext menyelesaikan dua masalah utama dalam Minix FS (ukuran partisi max dan panjang nama file), dan membolehkan partisi hingga 2GB dan nama file hingga 255 karakter. Namun masih ada masalah: belum ada dukungan untuk akses terpisah, modifikasi inode dan timestamp modifikasi data. Ext2 didesain dengan tujuan bahwa file system ini akan dapat dikembangakan lagi, dengan sisa space yang masih banyak pada struktur datanya untuk dipakai dalam versi mendatang. Fitur seperti POSIX ACL dan atribut diperluas diimplementasikan pertama kali pada ext2 karena mudah diperluas dan internalnya sangat dimengerti. Dalam Kernel Linux hingga 2.6, batasan dalam driver blok berarti bahwa file system ext2 memiliki ukuran file maksimum 2 TiB. Kernel Linux yang lebi baru membolehkan ukuran file yang lebih besar, namun sistem 32-bit hanya membatasi hingga ukuran file 2 TiB. Ext2 masih direkomendasikan sebagai file system journaling pada Flash Drive USB bootable dan media solid-state lainnya. Ext2 melakukan operasi write yang lebih sedikit dibading ext3 karena ext2 tidak perlu melakukan write ke journal. Faktor utama yang mempengaruhi usia flash Drive adalah siklus hapus, dan juga siklus write, hal inilah yang menyebabkan pemakaian ext2 membuat usia media flash drive lebih panjang. Space dalam ext2 dibagi dalam blok-blok dan ditata dalam grup-grup blok, sama dnegan grup silinder dalam File System Unix. Hal ini dilakukan untuk mengurangi fragmentasi external dan mengurangi pencarian disk saat me-read data yang besar. Tiap grup blok berisi superblok, bitmap grup blok, bitmap inode diikuti oleh data blok aktual. Superblok mengandung informasi penting yang krusial untuk proses booting Sistem Operasi, namun copy back up juga dibuat pada setiap grup blok dari tiap blok dalam fiel system. Hanya copy pertama yang ada pada blok pertama file system yang dipakai dalam proses booting. Deskriptor blok menyimpan nilai bitmap blok, bitmap inode dan table inode awal untuk tiap grup blok yang nantinya semuanya akan disimpan dalam tabel grup deskriptor.
File System
Kapasitas teoritis maksimum dalam Linuxx[2] Ukuran blok: 1 KiB 2 KiB 4 KiB 8 KiB
Ukuran file max: 16 GiB 256 GiB 2 TiB 64 TiB Kapasitas max: 2 TiB 8 TiB 16 TiB 32 TiB
Alasan untuk pembatasan file system ext2 adalah format file data dan kernel OS. Biasanya faktor-faktor ini ditentukan ketika file system itu dibuat. File system bergantung pada ukuran blok dan rasio jumlah blok dan inode. Ukuran blok 8 KiB hanya mungkin dalam arsitektur alpha. Juga ada program userspace yang tidak dapat menangani file dengan ukuran yang lebih besar dari 2 GB Batasan direktori sub level sekitar 32768. Jika jumlah file dalam direktori melebihi 10000 hingga 15000 file, user biasanya akan diperingatkan bahwa operasi tersebut akan bertahan dalam waktu lama. Batas teoritis jumlah file dalam suatu direktori adalah 1.3 x 1020 meskipun hal ini tidak relevan untuk situasi praktis
3.4 ext3
Ext3 atau third extended file system adalah file system journaling yang umum digunakan dalam Sistem Operasi Linux. Ext3 merupakan pengembangan versi journaling dari file system ext2 yang hampir kompatibel secara keseluruhan dengan ext2. Adanya fitur journaling inilah yang membuatnya lebih dibanding ext2 yang membuatnya lebih reliable dan menghilagkan keperluan untuk mengecek file system setelah shutdown yang tidak semestinya.
File System
Alfiyan NRP 2205 100 170 Meskipun kecepatannya tidak lebih baik daripada file system Linux lainnya seperti JFS, ReiserFS dan XFS, tapi ext3 memiliki manfaat yang signifikan yaitu membolehkan upgrade di tempat dari file system ext2 tanpa harus mem-back up dan me-restore data yang berarti mengurangi konsumsi daya CPU. Ext3 juga diangap lebih aman dibanding file system Linux lainnya karena kederhanaannya dan juga uji cobanya yang luas. File system ext3 menambahkan fitur-fitur ini dibanding pendahulunya: File system journaling Penambahan file system secara online Indeks htree untuk direktori yang lebih luas
Tanpa ini, file system ext3 akan sama saja dengan ext2. Ada 3 level journaling yang tersedia dalam implementasi ext3 pada Sistem Linux: Journal (resiko terendah) Metadata dan isi file disimpan dalam jurnal sebelum dikerjakan ke file system utama. Ordered (resiko menengah) Hanya metadata yang disimpan dalam jurnal, isi file tidak disimpan tapi dijamin bahwa bahwa isi file disimpan ke disk sebelum metadata yang bersesuaian ditandai untuk dicommit dalam jurnal. Writeback (resiko tertinggi) Hanya metadata yang disimpan dalam jurnal, isi file tidak. Isi file mungkin di-write sebelum atau sesudah jurnal di-update. Akibatnya, file dimodifikasi tepat sebelum crash dapat terjadi. Ukuran BLok 1KiB 2KiB 4KiB 8KiB Ukuran file Max 16GiB 256GiB 2TiB 2TiB Ukuran file system Max <2TiB <4TiB <8TiB <16TiB
File System
Alfiyan NRP 2205 100 170 tanpa koneksi fisik. Misalnya USB flash drive, CD-RM, dan DVD. Hal ini menyebabkan dikembangkannya perangkat untuk mendeteksi keberadaan suatu medium dan ketersediaan mount-point serta me-mount media tersebut tanpa intervensi dari user. 4. Sistem Unix-like yang lebih maju juga telah mengenalkan konsep yang disebut supermounting. Contohnya, sebuah floppy disk yang telah di-supermount dapat dicopot secara fisik dari sistem. Dalam keadaan normal, disk harus sudah disinkronkan dan kemudian di-unmount sebelum dicopot. Sinkronisasi yang diperlukan sudah terjadi, disk yang berbeda dapat disisipkan ke dalam drive. Sistem secara otomatis mengetahui bahwa disk telah dirubah dan mengupdate isi mount point untuk mengindikasikan medium baru. Fungsi serupa ditemukan pada mesin Windows standar. 5. Inovasi serupa yang dipilih oleh beberapa pengguna adalah menggunakan autofs, sistem yang tidak membutuhkan perintah mount manual. Perbedaannya dengan supermount adalah media di-mount secara transparan ketika permintaan ke file system dibuat. Cara ini sesuai untuk file system pada server jaringan. 4.2.1 File system dalam platform Linux Linux mendukung banyak file system yang berbeda, tapi pilihan yang umum untuk sistem di antaranya adalah keluarga ext* (seperti ext2 dan ext3), XFS, JFS dan ReiserFS 4.2.2 File system dalam platform Mac OS X MacOS X menggunakan file system HFS Plus yang merupakan turunan dari Mac OS klasik yaitu. HFS plus adalah file system yang kaya metadata dan case preserve. Karena Mac OS X memiliki root milik Unix, aturan Unix juga ditambahkan dalam HFS Plus. Versi terbaru dari HFS plus menambahkan journaling untuk mencegah kerusakan pada struktur file system dan mengenalkan sejumlah optimasi dalam hal algoritma alokasi dalam usaha untuk memecah file secara otomatis tanpa membutuhkan defragmenter luar. Nama file dapat mencapai 255 karakter. HFS Plus menggunakan pengkodean Unicode untuk menyimpan nama file. Dalam Mac OS X, tipe file dapat diambil dari type code yang disimpan dalam metadata atau nama file. HFS Plus memiliki tiga macam link: Hard Link seperti pada Unix, Link simbolis Unix, dan alias. Alias didesain untuk menangani link ke file asli meski file tersebut telah dipindah ataupun diubah namanya. Alias ini tidak diinterpretasikan dalam file system, tapi pada kode File Manager pada userland. Mac OS X juga mendukung penggunaan File System UFS yang merupakan turunan dari File System Unix BSD.
File System
10
Alfiyan NRP 2205 100 170 Versi lama dari file system FAT (FAT12 dan FAT16) memiliki keterbatasan dalam memberikan nama file, batasan dalam hal jumlah entri dalam direktori root dalam file system dan batasan jumlah maksimum partisi. Secara spesifik, FAT12 dan FAT16 membatasi nama file hanya sampai 8 karakter dan 3 karakter untuk perluasan. VFAT yang merupakan perluasan dari FAT12 dan FAT16 mulai diperkenalkan pada Windows NT dan berikutnya dimasukkan dalam Windows 95, yang mengijinkan nama file yang panjang. NTFS yang diperkenalkan bersama dengan Wndows NT mengijinkan kontrol berbasis Access Control List. NTFS juga mendukung Hard link, aliran file jamak, indexing atribut, pengecekan kuota, kompresi dan menyediakan mount point untuk file system lainnya. Tidak seperti Sistem Operasi lainnya, Windows menerapkan abstraksi berupa drive letter pada level user untuk membedakan sebuah disk atau partisi dari yang lain. Sebagai contoh, path C:\Windows menunjukkan direktori Windows pada partisi yang ditunjukkan oleh label huruf C. Drive dalam jaringan juga dapat di-map menjadi drive letter. 4.3.1 Proses pengambilan data Sistem Operasi memanggil IFS (Installable File System) manager. IFS kemudian memanggil FSD (File System Driver) yang sebenarnya untuk membuka file yang diminta dari beberapa pilihan FSD yang bekerja untuk File System yang berbeda NTFS, VFAT, CDFS (untuk drive optikal) dan network drive. FSD kemudian mendapatkan info lokasi kluster pertama dari file pada disk dari FAT, VFAT atau MFT (Master File Table). MFT inilah yang yang memetakan semua file pada disk dan merekan jejak di mana file disimpan.
Sumber: Wikipedia, http://wikipedia.org Disclaimer Makalah tentang File System ini kami susun sebagai tugas Mata Kuliah Sistem Operasi pada Semester Gasal 2008-2009 di Jurusan Teknik Elektro ITS Surabaya. Dosen pengampu yang bertanggung jawab untuk Semester ini adalah Bpk Surya Sumpeno. Semoga Makalah ini dapat bermanfaat bagi rekan2 sekalian yang ingin belajar tentang file system.
File System
11