File system


File system atau sistem berkas merupakan metode file pada komputer atau media penyimpanan komputer dalam mengatur lokasi file tersebut

Fungsi File System 
salah satunya untuk memberi nama pada berkas dan meletakkannya pada media penyimpanan. Fungsi lainnya adalah sebagai konvensi penamaan berkas dan peletakkan berkas pada struktur direktori. Semua sistem operasi memiliki File Systemnya sendiri untuk meletakkan file dalam sebuah struktur hirarki.

Hubungan File Sistem dengan Sistem Operasi
Hubungan antara sistem operasi dengan sistem file adalah sistem file (file system) merupakan interface yang menghubungkan sistem operasi dengan disk. Ketika program menginginkan pembacaan dari hard disk atau media penyimpanan lainnya, sistem operasi akan meminta sistem file untuk mencari lokasi dari file yang diinginkan. Setelah file ditemukan, sistem file (file system) akan membuka dan membaca file tersebut, kemudian mengirimkan informasinya kepada sistem operasi dan akhirnya bisa dibaca oleh pengguna.Hubungan antara sistem operasi dengan sistem file adalah sistem file (file system) merupakan interface yang menghubungkan sistem operasi dengan disk. Ketika program menginginkan pembacaan dari hard disk atau media penyimpanan lainnya, sistem operasi akan meminta sistem file untuk mencari lokasi dari file yang diinginkan. Setelah file ditemukan, sistem file (file system) akan membuka dan membaca file tersebut, kemudian mengirimkan informasinya kepada sistem operasi dan akhirnya bisa dibaca oleh pengguna.Hubungan antara sistem operasi dengan sistem file adalah sistem file (file system) merupakan interface yang menghubungkan sistem operasi dengan disk. Ketika program menginginkan pembacaan dari hard disk atau media penyimpanan lainnya, sistem operasi akan meminta sistem file untuk mencari lokasi dari file yang diinginkan. Setelah file ditemukan, sistem file (file system) akan membuka dan membaca file tersebut, kemudian mengirimkan informasinya kepada sistem operasi dan akhirnya bisa dibaca oleh pengguna


File Sistem pada Windows
FAT File System merupakan sebuah File System yang menggunakan struktur tabel alokasi berkas sebagai cara dirinya beroperasi. Ada beberapa versi FAT yang ada hingga saat ini, di antaranya:.

1. 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.

2. FAT32 (File Allocation Table)

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 sistem operasi 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.

3. 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 Sistem Pada Linux

Sistem operasi Linux mendukung banyak File System yang berbeda, tapi pilihan yang umum digunakan adalah keluarga Ext* (Ext2, Ext3 dan Ext4) dan ReiserFS. Berikut sistem file yang umumnya digunakan pada sistem operasi Linux:

1. Ext2 (2nd Extended)
Ext2 merupakan jenis sistem file Linux paling tua yang masih ada. Sistem file ini pertama kali dikenalkan pada Januari 1993. File system ini ditulis oleh Rémy Card, Theodore T. dan Stephen Tweedie. File system ini merupakan penulisan ulang besar-besaran dari Extended file system. Ext2 adalah sistem file yang paling ampuh di Linux dan menjadi dasar dari segala distribusi linux.

Pada sistem file Ext2, file data disimpan sebagai data blok. Data blok ini mempunyai panjang yang sama dan meskipun panjangnya bervariasi di antara sistem file Ext2, besar blok tersebut ditentukan pada saat sistem file dibuat dengan mk2fs. Jika besar blok adalah 1024 bytes, maka file dengan besar 1025 bytes akan memakai 2 blok. Ini berarti kita membuang setengah blok per file.

Sistem file Ext2 menyimpan data secara hirarki standar yang banyak digunakan oleh sistem operasi. Data tersimpan di dalam file, file tersimpan di dalam direktori. Sebuah direktori bisa mencakup file dan direktori lagi di dalamnya yang disebut sub direktori.

Ext2 mendefinisikan topologi sistem file dengan memberikan arti bahwa setiap file pada sistem diasosiasiakan dengan struktur data inode. Sebuah inode menunjukkan blok mana dalam suatu file tentang hak akses setiap file, waktu modifikasi file, dan tipe file. Setiap file dalam sistem file Ext2 terdiri dari inode tunggal dan setiap inode mempunyai nomor identifikasi yang unik. Inode-inode file sistem disimpan dalam tabel inode. Direktori dalam sistem file Ext2 adalah file khusus yang mengandung pointer ke inode masing-masing isi direktori tersebut.

Struktur Sistem File Ext2
a. Inode dalam Ext2
Inode adalah kerangka dasar yang membangun Ext2. Inode dari setiap kumpulan blok disimpan dalam tabel inode bersama dengan peta bit yang menyebabkan sistem dapat mengetahui inode mana yang telah teralokasi dana inode mana yang belum. Inode juga dapat menunjuk pada device khusus dan dapat menangani program sehingga program dapat mengakses ke device. Semua file device di dalam drektori /dev dapat membantu program mengakses device.

b. Superblok dalam Ext2
Superblok mengandung informasi tentang ukuran dasar dan bentuk file sistem. Informasi di dalamnya memungkinkan file system manager untuk menggunakan dan merawat sistem file. Biasanya, hanya superblok di blok group 0 saat file sistem di-mount tetapi setiap blok grup mengandung duplikatnya untuk menjaga jika file sistem menjadi rusak. Informasi yang dikandung adalah:

  • Magic Number, meyakinkan software bahwa ini adalah superblok dari sistem file Ext2.
  • Revision Level, menunjukkan revisi mayor dan minor dari sistem file.
  • Mount Count dan Maximum Mount Count, menunjukkan pada sistem jika harus dilakukan pengecekan dan maksimum mount yang diijikan sebelum e2fsck dijalankan.
  • Blocks per Size, besar blok dalam file sistem, contohnya 1024 bytes.
  • Blocks per Group, banyaknya blok per grup.
  • Block Group Number, nomor blok grup yang mengadung copy dari superblok.
  • Free Blocks, banyaknya blok yang kosong dalam file sistem.
  • Free Inode, banyak inode kosong dalam file sistem.
  • First Inode, nomor inode dalam inode pertama dalam file sistem, inode pertama dalam Ext2 root file sistem adalah direktori .
2. Ext3 (3rd Extended)
Ext3 adalah peningkatan dari sistem file Ext2. Peningkatan ini memiliki beberapa keuntungan, diantaranya:

lJournaling, Dengan menggunakan journaling, maka waktu recovery pada shutdown mendadak tidak akan selama pada Ext2. Namun ini menjadi kekurangan dari Ext3, karena dengan adanya fitur journaling, maka membutuhkan memori yang lebih dan memperlambat operasi I/O (Input/Output).
lIntegritas data, Ext3 menjamin adanya integritas data setelah terjadi kerusakan atau unclean shut down. Ext3 memungkinkan kita memilih jenis dan tipe proteksi dari data.
lKecepatan. Daripada 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.
lMudah dilakukan migrasi, Kita dapat berpindah dari sistem file Ext2 ke sistem file Ext3 tanpa melakukan format ulang.

3. Ext4 (4th Extended)
Ext4 merupakan peningkatan dari sistem file Ext3. Ext4 dirilis secara lengkap dan stabil mulai dari kernel 2.6.28. Keuntungan menggunakan Ext4 adalah mempunyai pengalamatan 48-bit blok yang artinya dia akan mempunyai 1 EiB = 1.048.576 TB. Ukuran maksimum sistem file 16 TB.

4. JFS (Journalis File System)
JFS atau dikenal juga dengan nama IBM Journal File System merupakan sistem file pertama yang menawarkan journaling. JFS sudah bertahun-tahun digunakan dalam IBM AIX® OS sebelum digunakan ke GNU/Linux. JFS saat ini menggunakan sumber daya CPU paling sedikit dibandingkan sistem file GNU/Linux lainnya. JFS sangat cepat diformat, mounting dan fsck, serta memiliki kinerja sangat baik, terutama berkaitan dengan deadline I/O scheduler. Walaupun begitu, dukungan terhadap JFS tidak seluas sistem file Ext atau Reiser FS.

5. Reiser FS
Sistem file Reiser dibuat berdasarkan balance tree yang cepat dan unggul dalam hal kinerja, dengan algoritma yang lebih rumit. Sistem file Reiser juga memiliki jurnal yang cepat dan ciri-cirinya mirip sistem file Ext3. Sistem file Reiser lebih efisien dalam pemanfaatan ruang disk, dimana dapat menghemat disk sampai dengan 6 persen. Contohnya jika kita menulis file 100 bytes, hanya ditempatkan dalam satu blok sementara sistem file lain menempatkannya dalam 100 blok. Reiser file system tidak memiliki pengalokasian yang tetap untuk inode.




Hirarki Standar Sistem File di Linux

Struktur Hirarki File System Linux Sesuai Standar FHS. Filesystem Hierarchy Standard (FHS) adalah seperangkat petunjuk untuk penempatan file dan direktori dibawah sistem operasi yang mirip UNIX. Tujuannya agar dapat mendukung interopabilitas aplikasi, program administrasi sistem, program pengembangan, skrip dan dapat menyatukan dokumentasi dari sistem ini.
Untuk pengorganisasian file dan direktori, diatur dalam bentuk hirarki. Hirarki ini mengikuti standar yang sudah dibuat dengan tujuan kompatibilitas antar distro. Hirarki standar tersebut adalah FHS (Filesystem Hierarchy Standard) dan LSB (Linux Standard Base). Pada saat distro Linux di install ke komputer anda. Anda akan menemukan direktori-direktori yang secara default dibuat oleh Linux. Direktori tersebut dibuat berdasarkan Filesystem Hierarchy Standard (FHS).

Struktur Hirarki File System Linux Sesuai Standar FHS
Berikut beberapa definisi direktori menurut standar FHS :

  • / ( Root folder ) : menduduki posisi puncak di dalam hirarki, direktori ini dilambangkan dengan tanda slash ( / ) atau biasa disebut garis miring. Direktori ini membawahi semua direktori penting lainnya. Sehingga penulisan direktori lainnya selalu menggunakan tanda / di depannya, yang menunjukkan kalau direktori tersebut dibawah root.
  • /bin : Direktori ini berisi perintah dasar yang dibutuhkan oleh system maupun user. Sebagian perintah dasar yang bisa anda jalankan disimpan dalam direktori ini.
  • /boot : berisi program dan data yang dibutuhkan pada saat melakukan proses booting (menjalankan) system.
  • /dev : direktori tempat file device
  • /etc : berisi file konfigurasi system
  • /home : direktori tempat menyimpan data user. Setiap user yang terdaftar secara otomatis akan dibuatkan direktori /home.
  • /lib : berisi file-file library dari aplikasi yang ada di system. Kadangkala satu file library digunakan oleh beberapa aplikasi secara bersama-sama.
  • /media : saat anda memasang flash disk ke komputer anda, anda bisa menemukan direktori flash disk di /media, karena direktori ini akan berisi media yang bisa dibongkar pasang di komputer anda. Seperti cdrom, flopy disk, flash disk, hardisk eksternal dsb.
  • /mnt : direktori tempat pengaitan sistem sementara
  • /opt : berisi paket aplikasi tambahan yang kita install ke dalam system.
  • /proc : filesystem untuk menjalankan proses
  • /root : direktori untuk user root
  • /sbin : berisi program biner yang dibutuhkan untuk menjalankan dan memperbaiki system. Biasanya aplikasi yang ada hanya bisa dijalankan oleh administrator atau root.
  • /temp : direktori tempat menyimpan file temporeri
  • /usr : berisi program-program yang bisa di akses oleh user, program source code. Di dalam direktori ini ada subdirektori /usr/bin dan /usr/sbin yang menyimpan aplikasi executable yang fungsinya sama dengan filefile di direktori /bin dan /sbin.
  • /var : untuk menyimpan informasi proses, seperti system history, access logs, dan error logs.
  • Dengan adanya standar FHS ini, pengguna dan pengembang memiliki pedoman direktori standar apa yang dibutuhkan untuk meracik sebuah distribusi Linux yang operasional. Juga file dan pustaka, masing-masing letaknya dimana, dipandu oleh standar ini.