File System di Linux

10 September 2008 pukul 4:07 AM | Ditulis dalam Tips Linux | Tinggalkan komentar

File merupakan kumpulan data atau informasi yang saling berhubungan sesuai dengan pembuatnya .
Sedangkan file system sendiri merupakan struktur yang digunakan sebuah sistem informasi untuk membaca hard disk.

Adapun jenis file system yang sering digunakna adalah FAT (File Allocation Table), FAT 32 (File Allocation Table 32),NTFS (New Technology File System) (*Ketiganya biasanya digunakan untuk platform Windows),Ext, Ext2, Ext3 (*Ketiganya biasanya digunakan untuk platform Linux*), OS/2,HPFS, Reizer,dll

Mekanisme Second Extended File System (Ext2FS)

Ext2fs menggunakan mekanisme yang mirip dengan BSD Fast File System (ffs) dalam mengalokasikan blok-blok data dari file, yang membedakan adalah :
Pada ffs, file dialokasikan ke disk dalam blok sebesar 8KB, dan blok-blok itu dibagi menjadi fragmen-fragmen 1KB untuk menyimpan file-file berukuran kecil atau blok-blok yang terisi secara parsial di bagian akhir file.
Ext2fs tidak menggunakan fragmen, pengalokasian dalam unit-unit yang lebih kecil. Ukuran blok secara default pada ext2fs adalah 1KB, meskipun mendukung juga pengalokasian 2KB dan 4KB.
Alokasi pada Ext2fs didesain untuk menempatkan blok-blok lojik dari file ke dalam blok-blok fisik pada disk, dengan demikian I/O request untuk beberapa blok-blok disk secagai operasi tunggal.

Kehandalan Second Extended File System Ext2FS

Administrator sistem dapat memilih ukuran blok yang optimal (dari 1024 sampai 4096 bytes), tergantung dari panjang file rata-rata, saat membuat file sistem.
Administrator dapat memilih banyak inode dalam setiap partisi saat membuat file sistem.
Strategi update yang aman dapat meminimalisasi dari system crash.
Mendukung pengecekan kekonsistensian otomatis saat booting.
Mendukung file immutable (file yang tidak dapat dimodifikasi)dan append-only (file yang isinya hanya dapat ditambahkan pada akhir file tersebut).

Informasi yang Disimpan pada Inode
Device tempat inode berada
Mode file
Locking information
Pemilik dan grup pemilik dari file tersebut.
Jenis file (regular, direktori, dll.)
Hak akses atas file.
Waktu pembuatan, pembacaan, dan perubahan terakhir.
Waktu perubahan informasi pada inode.
Jumlah link yang menunjuk ke file ini.
Ukuran file.
Alamat yang menunjukan lokasi sebenarnya dari data file.
Satu – satunya informasi yang tidak tersimpan pada inode adalah nama file dan direktori. Informasi ini tersimpan pada file direktori khusus. Dengan membandingkan nama file dan nomor inode, sistem dapat membangun struktur pohon yang dapat dimengerti user. User dapat melihat nomor inode dengan menggunakan opsi –i pada perintah ls. Masing-masing inode memiliki ruang memori yang terpisah pada disk.

Pembagian Blok

Layout dari partisi dan group block Ext2FS

Keterangan:
Setiap partisi terbagi menjadi:
Boot block, yang merupakan blok pertama, dipakai untuk booting, sehingga tidak diurusi oleh Ext2FS.
Block group sebanyak n buah. Setiap block group berukuran sama dan terdiri dari:
Super Block, disimpan dalam struktur ext2_super_block
Group Descriptor, disimpan dalam bentuk xt2_group_desc
Data Block Bitmap
Inode Bitmap
Inode Table, terdiri dari kumpulan block yang berurutan, dan masing-masing blok mengandung sejumlah inode yang terlah terdefinisi sebelumnya. Semua inode memiliki ukuran sama.
Data Blocks, menyimpan data sebenarnya dari file.

Struktur inode dalam Linux diimplementasikan sebagai berikut :
struct inode {
struct list_head i_hash;
struct list_head i_list;
struct list_head i_dentry;
unsigned long i_ino;
unsigned int i_count;
kdev_t i_dev;
umode_t i_mode;
nlink_t i_nlink;
uid_t i_uid;
gid_t i_gid;
kdev_t i_rdev;
off_t i_size;
time_t i_atime;
time_t i_mtime;
time_t i_ctime;
unsigned long i_blksize;
unsigned long i_blocks;
unsigned long i_version;
unsigned long i_nrpages;
struct semaphore i_sem;
struct inode_operations *i_op;
struct super_block *i-sb;
wait_queue_head_t i_wait;
struct file_lock *i_flock;
struct vm_area_struct *i_mmap;
struct page *i_pages;
spinlock_t i_shaerd_lock;
struct dquot *i_dquot(MAXQUOTAS);
struct pipe_inode_info *i_pipe;
unsigned long i_state;
unsigned long i_flags;
unsigned char i_sock;
atomic_t i_writecount;
unsigned int i_attr_flags;
_u32 i_generation;
union {

struct extfs_inode_info ext2_i;

struct socket socket_i;
void *generic)ip;
}u;
};

Linux Third Extended File System (Ext3FS)

Ext3FS merupakan pengembangan dari Ext2FS. Ext3FS memiliki beberapa kelebihan antara lain:
Optimasi waktu pengecekan jika terjadi kegagalan sumber daya, kerusakan sisem atau unclean shutdown.
Setelah mengalami kegagalan sumber daya, unclean shutdown, atau kerusakan sistem, Ext2FS harus melalui proses pengecekan. Proses inidapat 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. Jurnal yang disediakan oleh EXT3 menyebabkan tidak perlu lagi dilakukan pengecekan data setelah kegagalan sistem. EXT3 hanya dicek bila ada kerusakan hardware seperti kerusakan hard disk, tetapi kejadian ini sangat jarang. Waktu yang diperlukan EXT3 file sistem setelah terjadi unclean shutdown tidak tergantung dari ukuran file sistem atau banyaknya file, tetapi tergantung dari besarnya jurnal yang digunakan untuk menjaga konsistensi. Besar jurnal default memerlukan waktu kira-kira sedetik untuk pulih, tergantung kecepatan hardware.
Integritas data dan kecepatan akses yang fleksibel.
Ext3FS menjamin adanya integritas data setelah terjadi kerusakan atau unclean shutdown. Ext3FS memungkinkan kita memilih jenis dan tipe proteksi dari data.
Mudah melakukan migrasi dari Ex2FS.
Kita dapat berpindah dari EXT2 ke sistem EXT3 tanpa melakukan format ulang.
Cepat
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.

sumber: taufiq trunojoyo

Tinggalkan sebuah Komentar »

RSS feed for comments on this post. TrackBack URI

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

Buat situs web atau blog gratis di WordPress.com.
Entries dan komentar feeds.

%d blogger menyukai ini: