Executable structure
…
Dynamic linking
…
File system
A file is an abstraction of persistent storage, hiding details of storage devices: protocol, allocation, etc.
- A disk may contain multiple partitions, the file system lives on the partition basis.
- Anything containing a file system is known as a volume. Volumes can span multiple disks.
Disk structure
- Boot area
- File system control block (or superblock): filesystem type, #blocks, metadata layout
- Array of file control block: permission, ownership, etc. of each file
- (optional) Free space map
- Additional structures stored in memory:
- In-memory partition tables
- Cached directory information
- System-wide in-core file state
- Process open-file tables
Bootstrapping
- Ground zero:
- BIOS: mini real OS
- Stored in mostly-read-only memory (nowadays flash memory, previously: EEPROM, EPROM, PROM)
- Load the actual OS
- Configures hardware details: RAM refresh rate (bus speed), password protection, Boot-device order, etc.
I/O devices
Memory-mapped IO vs port-mapped IO…