Posts

Showing posts from October, 2009

Introduction to Proc File System

The proc file system provides information on the current status of the Linux kernel and running process. It also allows modifications of kernel parameters in simple ways during runtime Each process in the system that is currently running is assigned a directory /proc/pid, where pid is the process identification number of the relevant process There are also files and directories for process independent information such as loaded modules, used bus systems etc. Disadvantages of Proc There is no interface for the individual files, every user has to find out where and how the information that is required is hidden in the file Another disadvantage is that all information is output as strings, therefore conversion is always necessary for further processing Structure of File system struct proc_dir_entry { unsigned short low_ino; //inode number unsigned short namelen; //length of the name const char *name; //name of the entry mode_t mod

The Ext2 File System

Image
The initially developed file system was Minix which uses a partition of 64MB and the filenames of no more than 14 characters. After that, A file system called ext was developed which uses a partition size of 2GB and filenames of 255 characters but it was slow compared with Minix. Later the file system for Xia was developed with a partition size of 2GB and 248 characters in filename comparatively faster that Ext file system Finally, Ext2 file system was developed with a faster operation. Structure of ext2 File system The ext2 file system was influenced by the BSD Fast File System (BSD FFS). Thus a partition is divided into a number of block groups, corresponding to the cylinder groups in FFS, with each block group holding a copy of the superblock and inode blocks and data blocks. The objective for developing the block groups is that The data block should be close to the inodes File inodes close to their directory inodes