Chapter 4. Other Sources of Information

The Operating System Resource Center at http://www.nondot.org/sabre/os/articles/ has a wealth of information on various operating system techniques, including file systems.

Another important source of information is the Linux kernel source, available from http://www.kernel.org/. File system drivers are in the fs directory, but many include files defining structures are actually in include/linux. The RAID and LVM code lives in drivers/md and include/linux/raid. All code for reading various partition maps is in fs/partitions. The Linux kernel even contains some format detection code in init/do_mounts.c, used in mounting an initial ramdisk (initrd).

Other Unix kernels are also available in source code, like Darwin (the BSD-based kernel used in Mac OS X) at http://www.opensource.apple.com/darwinsource/ and the free BSD derivatives FreeBSD (http://www.freebsd.org/), OpenBSD (http://www.openbsd.org/), and NetBSD (http://www.netbsd.org/).