Sistem file atau sistem berkas merupakan struktur logika yang digunakan untuk mengendalikan akses terhadap data yang ada pada disk. Dengan kata lain, sistem file merupakan database khusus untuk penyimpanan, pengelolaan, manipulasi dan pengambilan data, agar mudah ditemukan dan diakses.
Hubungan antara sistem operasi dengan sistem file adalah sistem file 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 akan membuka dan membaca file tersebut, kemudian mengirimkan informasinya kepada sistem operasi dan akhirnya bisa dibaca oleh pengguna.
Fungsi file system
Fungsi sistem file dasar Penyimpanan disk adalah keharusan yang disertai dengan beberapa detail menarik dan tak terhindarkan. Jelas, sistem file dirancang untuk menyediakan ruang penyimpanan data yang tidak mudah menguap
Sistem File 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.
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:
Journaling,
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).
Integritas data,
Ext3 menjamin adanya integritas data setelah terjadi kerusakan atau unclean shut down. Ext3 memungkinkan kita memilih jenis dan tipe proteksi dari data.
Kecepatan,
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.
Mudah 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. 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.
Distribusi Linux adalah sebutan untuk sistem operasi yang dibangun dari Kernel Linux dan koleksi perangkat lunak dari sistem manajemen paket, ciri khususnya adalah Utilitas GNU. Pada umunya, berbagai distro Linux memiliki GUI yang berbeda-beda seperti Cinnamon, Pantheon, dan Unity.
5. Debian
Debian adalah sistem operasi yang hanya terdiri dari perangkat lunak sumber terbuka gratis. Proyek Debian telah beroperasi sejak 1993 – lebih dari 20 tahun yang lalu! Proyek yang sangat dihormati ini masih merilis versi baru Debian, tetapi dikenal karena bergerak jauh lebih lambat daripada distribusi seperti Ubuntu atau Linux Mint. Ini dapat membuatnya lebih stabil dan konservatif, yang ideal untuk beberapa sistem.
Debian adalah sistem operasi yang hanya terdiri dari perangkat lunak sumber terbuka gratis. Proyek Debian telah beroperasi sejak 1993 – lebih dari 20 tahun yang lalu! Proyek yang sangat dihormati ini masih merilis versi baru Debian, tetapi dikenal karena bergerak jauh lebih lambat daripada distribusi seperti Ubuntu atau Linux Mint. Ini dapat membuatnya lebih stabil dan konservatif, yang ideal untuk beberapa sistem.Ubuntu pada awalnya didirikan untuk mengambil bit inti dari Debian yang stabil dan meningkatkannya lebih cepat, mengemas perangkat lunak menjadi sistem yang mudah digunakan yang lebih sering diperbarui.
6. Ubuntu
Ubuntu mungkin adalah distribusi Linux yang paling terkenal. Ubuntu didasarkan pada Debian, tetapi memiliki repositori perangkat lunak sendiri. Sebagian besar perangkat lunak dalam repositori ini disinkronkan dari repositori Debian.
Proyek Ubuntu memiliki fokus untuk menyediakan pengalaman desktop (dan server) yang solid, dan tidak takut untuk membangun teknologi kustomnya sendiri untuk melakukannya. Ubuntu digunakan untuk menggunakan lingkungan desktop GNOME 2, tetapi sekarang menggunakan lingkungan desktop Unity sendiri. Ubuntu bahkan membangun server grafis Mir sendiri sementara distro lain bekerja di Wayland.
Ubuntu pada awalnya didirikan untuk mengambil bit inti dari Debian yang stabil dan meningkatkannya lebih cepat, mengemas perangkat lunak menjadi sistem yang mudah digunakan yang lebih sering diperbarui.
Ubuntu modern tanpa tepi terlalu berdarah. Ini menawarkan rilis setiap enam bulan, dengan rilis LTS (jangka panjang) yang lebih stabil setiap dua tahun. Ubuntu saat ini sedang mengembangkan perluasan distribusi Ubuntu untuk dijalankan pada smartphone dan tablet.
7. Linux Mint
Mint adalah distribusi Linux yang dibangun di atas Ubuntu. Ini menggunakan repositori perangkat lunak Ubuntu, sehingga paket yang sama tersedia di keduanya. Awalnya, Mint adalah distribusi alternatif yang disukai terutama karena itu termasuk codec media dan perangkat lunak berpemilik yang tidak disertakan oleh Ubuntu secara default.
Distribusi ini sekarang memiliki identitasnya sendiri. Anda tidak akan menemukan desktop Unity Ubuntu sendiri di sini – sebagai gantinya, Anda mendapatkan desktop Cinnamon atau MATE yang lebih tradisional. Mint mengambil pendekatan yang lebih santai untuk pembaruan perangkat lunak dan tidak akan secara otomatis menginstal pembaruan perangkat lunak penting. Secara kontroversial, ini telah menyebabkan beberapa pengembang Ubuntu untuk memberi label tidak aman.
8. CentOS / Red Hat Enterprise Linux
Red Hat Enterprise Linux adalah distribusi Linux komersial yang ditujukan untuk server dan workstation. Ini didasarkan pada proyek open-source Fedora, tetapi dirancang untuk menjadi platform yang stabil dengan dukungan jangka panjang.
Red Hat menggunakan hukum merek dagang untuk mencegah perangkat lunak resmi Red Hat Enterprise Linux mereka dari redistribusi. Namun, perangkat lunak intinya gratis dan bersumber terbuka. CentOS adalah proyek komunitas yang menggunakan kode Red Hat Enterprise Linux, menghapus semua merek dagang Red Hat, dan membuatnya tersedia untuk penggunaan dan distribusi gratis. Ini adalah versi gratis RHEL, jadi ada baiknya jika Anda menginginkan platform stabil yang akan didukung untuk waktu yang lama. CentOS dan Red Hat baru-baru ini mengumumkan bahwa mereka berkolaborasi, jadi CentOS sekarang menjadi bagian dari Red Hat itu sendiri.
9. Fedora
Fedora adalah proyek dengan fokus yang kuat pada perangkat lunak bebas – Anda tidak akan menemukan cara mudah untuk menginstal driver grafis berpemilik di sini, meskipun repositori pihak ketiga tersedia. Fedora adalah pendarahan dan berisi versi terbaru dari perangkat lunak.
Tidak seperti Ubuntu, Fedora tidak membuat lingkungan desktop sendiri atau perangkat lunak lainnya. Sebaliknya, proyek Fedora menggunakan perangkat lunak “hulu”, menyediakan platform yang mengintegrasikan semua perangkat lunak hulu ini tanpa menambahkan alat kustom mereka sendiri atau menambalnya terlalu banyak. Fedora hadir dengan lingkungan desktop GNOME 3 secara default, meskipun Anda juga bisa mendapatkan “spin” yang datang dengan lingkungan desktop lainnya.
Fedora disponsori oleh Red Hat, dan merupakan fondasi untuk proyek Red Hat Enterprise Linux komersial. Tidak seperti RHEL, Fedora adalah pendarahan dan tidak didukung lama. Jika Anda ingin rilis lebih stabil yang didukung lebih lama, Red Hat akan lebih suka Anda menggunakan produk Enterprise mereka.
10. Arch Linux
Arch Linux lebih tua daripada distribusi Linux lainnya di sini. Ini dirancang untuk menjadi fleksibel, ringan, minimal, dan untuk “Keep it Simple.” Menjaga sederhana bukan berarti Arch menyediakan banyak utilitas grafis dan skrip konfigurasi otomatis untuk membantu Anda mengatur sistem Anda.Sebaliknya, itu berarti Arch membagi dengan hal-hal itu dan keluar dari jalan Anda.
Anda bertanggung jawab untuk mengonfigurasi sistem Anda dengan benar dan menginstal perangkat lunak yang Anda sukai. Arch tidak menyediakan antarmuka grafis resmi untuk pengelola paket atau alat konfigurasi grafis yang rumit. Sebaliknya, ia menyediakan file konfigurasi yang bersih yang dirancang untuk pengeditan yang mudah. Disk instalasi membuang Anda di terminal, di mana Anda harus memasukkan perintah yang tepat untuk mengkonfigurasi sistem Anda, partisi disk Anda, dan menginstal sistem operasi sendiri.
Arch menggunakan model “rolling release”, yang berarti gambar instalasi hanyalah snapshot dari perangkat lunak saat ini. Setiap bit perangkat lunak akan diperbarui dari waktu ke waktu tanpa Anda perlu meng-upgrade ke “rilis” baru dari Arch.
Distribusi ini memiliki sedikit kesamaan dengan Gentoo, yang populer pada satu waktu. Kedua distribusi Linux dirancang untuk pengguna yang tahu bagaimana sistem mereka bekerja atau yang setidaknya mau belajar. Namun, Arch menggunakan paket biner sementara Gentoo memiliki fokus (yang tidak perlu) untuk mengumpulkan setiap bit perangkat lunak dari sumber – ini berarti cepat menginstal perangkat lunak pada Arch karena Anda tidak perlu menghabiskan siklus CPU dan waktu menunggu perangkat lunak untuk dikompilasi.
References :