FILE SYSTEMS AND FILE MANAGEMENT
1. Booting and Bootstrapping
The process of starting a computer involves a hand-off of control from firmware to the operating system.
+2
Traditional BIOS Booting
Initialization: The PC is turned on and the BIOS initializes hardware.
+1
MBR Access: The BIOS calls code stored in the Master Boot Record (MBR) at the start of disk 0.
Partition Loading: The MBR loads code from the bootsector of the active partition.
Bootloader: The bootsector runs the bootloader, which presents an OS menu and loads the selected OS Kernelinto memory.
+2
UEFI (Unified Extensible Firmware Interface)
UEFI is a modern replacement for BIOS with several advantages:
+1
Storage: Initialization information is stored in an .efi file within a special EFI System Partition (ESP) on the hard drive rather than in firmware.
Disk Support: Supports disks larger than 2 TiB using the GUID Partition Table (GPT), which allows for sizes up to 8 ZiB.
+1
Capability: Features a CPU-independent architecture and drivers, along with network capability in the pre-OS environment.
2. File Concepts and Terminology
A file is a collection of usually related data.
Block: The smallest unit of data, typically between 256 and 4096 bytes; files require at least a one-block minimum.
Cluster: A group of one or more blocks.
Logical View: How the user sees the contents and attributes of files.
Physical View: The actual way a file is stored within the computer system.
Access Methods:
Sequential: Records must be retrieved from the beginning.
Random/Relative: Records can be retrieved from anywhere in any sequence.
3. File Storage Allocation
How the OS assigns physical blocks to files impacts performance and fragmentation.
Contiguous Allocation: Blocks are stored together in a row.
+2
Pros: Simple access for sequential and random methods.
+1
Cons: Disk fragmentation and difficulty handling file growth.
+1
Non-contiguous (Linked) Allocation: Blocks are scattered; each contains a link to the next.
+1
FAT (File Allocation Table): A variation where links are stored in a central table.
Indexed Allocation: All pointers for a file are stored in a single index block.
Unix i-nodes: Use direct and indirect blocks to accommodate files up to hundreds of gigabytes.
4. Journaling and Protection
Journaling File Systems: Use a log file to record every transaction requiring write access.
Structure Only: Protects the integrity of the file system structure (e.g., Windows NTFS).
Full Data: Guarantees integrity of data not yet written to disk (e.g., Linux ext4).
File Protection: Systems typically offer Read, Write, and Execution protection.
ACL (Access Control List): A detailed list of users and their specific permissions.
Owner/Group/Everyone: A standard method used in UNIX/Linux.
+1
5. Directory Structures
Directories provide the organization needed to locate files efficiently.
Tree-Structure: A hierarchical structure with a top-level root.
Absolute Path: Full path starting from the root (e.g.,
C:\FINANCE\QUICKEN\Q.EXE).Relative Path: Path created starting from the current directory.
Acyclic-Graph Directory: Allows links (like Windows shortcuts or Unix symbolic links) between branches, but does not allow cycles.