CS 111 Lecture 11 Notes

File Systems

Prepared by Michael Sweatt and Steven Collison

Overview

In previous lectures, we described how an operating system interacts with storage while abstracting away the details of the logic used to store and retrieve files. In this lecture we will begin to describe the data structures and algorithms used to efficiently store and retrieve data on disk.

Some I/O Performance Metrics

Network Router: A Hypothetical Example

Hardware Specification

Techniques to do I/O

Polling: Simplest Approach

Batching: If a little is good more is better

Batching + Interrupts: Blocking with big block size

DMA: Direct Memory Access

Batching + Polling: Hybrid

Real Hard drive Specs

Performance Concerns

The primary bottleneck we are concerned with are:

A simple solution would be to overlap the latencies by performing these actions concurrently:
This solution is impractical since we cannot easier predict where the next request will be, making it hard to overlap the two operations.
The two has to be added which is approximately 13ms.

File System Design

Eggert FS

FAT File System


Unix File System(UFS)


Further Reading

These cover the topics mentioned here in more detail and depth, some to a point beyond the scope of the course.

FAT File System
Ext2: A modern FS Linux File System: Overview