3.5 File Systems
The nal project focuses on le systems. Similar to virtual
memory, le systems tend to be large and complex pieces of
code, so we have students implement extensions to an exist-
ing le system code base. This assignment requires students
to gain practical understanding of how the virtual le system
(VFS) infrastructure is designed, which is the key le sys-
tem abstraction layer that every le system designer needs
to understand. In addition to the le abstraction, students
are exposed to issues that arise in real-world systems, such as
the endian-ness of permanent data storage, data consistency
and reliability, and embedded data retrieval.