Skip to main content

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 ProcThere 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 systemstruct proc_dir_entry{unsigned short low_ino; //inode numberunsigned short namelen; //length of the nameconst char *name; //name of the entrymode_t mode; //modeuid_t uid; //User IDgid_t gid; //Group IDunsigned long s…

The Ext2 File System

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 systemFinally, Ext2 file system was developed with a faster operation.Structure of ext2 File systemThe 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 inodesFile inodes close to their directory inodesSuperblockDefined as the structure ext2_super_block.Contains control info…