Monday, April 6, 2020
File-System Structure
File-System
Structure
Hard disks have two important properties that make them suitable for
secondary storage of files in file systems:
(1) Blocks of data can be rewritten in place, and
(2) They are direct access,
allowing any block of data to be accessed with only (relatively) minor
movements of the disk heads and rotational latency.
Disks are usually accessed in physical blocks, rather than a byte at a
time. Block sizes may range from 512 bytes to 4K or larger.
File systems organize storage on disk drives, and can be viewed as a
layered design:
·
At the lowest layer are the
physical devices, consisting of the magnetic media, motors & controls, and
the electronics connected to them and controlling them. Modern disk put more
and more of the electronic controls directly on the disk drive itself, leaving
relatively little work for the disk controller card to perform.
·
I/O Control consists of device drivers, special software programs (
often written in assembly ) which communicate with the devices by reading and
writing special codes directly to and from memory addresses corresponding to
the controller card's registers. Each controller card ( device ) on a
system has a different set of addresses ( registers, a.k.a. ports )
that it listens to, and a unique set of command codes and results codes that it
understands.
·
The basic file system level
works directly with the device drivers in terms of retrieving and storing raw
blocks of data, without any consideration for what is in each block. Depending
on the system, blocks may be referred to with a single block number, ( e.g.
block # 234234 ), or with head-sector-cylinder combinations.
·
The file organization
module knows about files and their logical blocks, and how they map to
physical blocks on the disk. In addition to translating from logical to
physical blocks, the file organization module also maintains the list of free
blocks, and allocates free blocks to files as needed.
·
The logical file system deals
with all of the meta data associated with a file ( UID, GID, mode, dates, etc
), i.e. everything about the file except the data itself. This level manages
the directory structure and the mapping of file names to file control
blocks, FCBs, which contain all of the meta data as well as block number
information for finding the data on the disk.
Common file systems in use include the UNIX file system, UFS, the
Berkeley Fast File System, FFS, Windows systems FAT, FAT32, NTFS, CD-ROM
systems ISO 9660, and for Linux the extended file systems ext2 and ext3 ( among
40 others supported. )
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment