Back to ComputerTerms FileSystem * Root File System * Mounted File Systems * Boot Block or Sector * '''Super Block''' * Static parameters of the file system: FS size, Block and fragment sizes parameters affecting allocation policies * Problems with allocating Free blocks using the free stack. * 4.2BSD changes to improve efficiency and robustness. * '''Cylinder groups''' * Cylinder header information: (superblock, cylinder block, and the inodes) * Allocation issues in Cylinder Groups * Global and Local allocation routines. == Disk Structures == We always have a root file system / and mounted files systems have a bit set in the inode indicating that they are mounted file systems. The inode has a device number which is looked up in the mount table. Every file system is a seperate system resource. The first logical sector contains a boot block (sector) containing a bootstrap program. The '''Superblock''' contains static parameters of the file system including: * Size of hte file system * The block and fragment sizes of data * The free blocks list (like a stack, but maintained as a linked list orginally) Free blocks are removed and pushed from the front of the free blocks list. '''''This allocation operation causes a files to become more and more fragmented as disk activity continues'''''. As a result BSD 7 used only 3% of the bandwidth available to the disk drive on average. == Changes in 4.2 BSD File allocation routines == To improve efficiency and robustness, '''cylinder groups''' where born. Cylinder groups are 1 or more consecutive cylinders grouped together for the purpose of localizing allocation. Each cylinder group contains: * Superblock identical to every other cylinder group Superblock * Cylinder block which contains * Bit map of free datablocks and fragments * Bit map of free inodes * Statistics on recent progress of allocation strategies??? * Inodes * Data Blocks For Example ||Data Blocks|| ||Superblock|| ||Cylinder Block|| ||Inodes|| ||Data Blocks|| Disk allocation happens as often as possible within a cylinder group to reduce the seek time. There are two policies that are implemented: 1) Global routine to select a desired disk block and the second is a local policy routine using the specific infomration recorded in the cylinder blocks to choose a block near the requested one. Increases in efficiency of the new Fast File System up'd bandwidth usage to 30% from 3%. Back to ComputerTerms FileSystem