What's a file?

Length: 60 minutes


Of all the many parts of Unix, the inode is the thing that makes Unix most like Unix, because Unix is all about files, and the inode is the filesystem data structure that represents a file. This talk takes the output of ls -l as a jumping-off point to discuss the inode and how the kernel uses it for essential operations such as permissions checking, reading and writing files, and the Unix rm and chmod commands.

Complete Slides

  1. What's a File?
  2. ls -l
  3. ls -l
  4. drwxr-xr-x 3 mjd users 4096 2007-11-22 21:01 bin
  5. Overview of Unix Filesystem Structure
  6. Inodes
  7. include/linux/fs.h
  8. Permissions
  9. Reading
  10. Reading
  11. Reading
  12. open
  13. Directories
  14. open
  15. open
  16. drwxr-xr-x 3 mjd users 4096 2007-11-22 21:01 bin
  17. One file with two names?
  18. chmod
  19. chmod
  20. link
  21. Links are symmetric
  22. rm
  23. rm
  24. rm
  25. Symbolic link
  26. Thank You!

tgz file of the entire talk

Related Talks

This was supposed to be a "revised" version of my 2001 talk on The Structure and Implementation of the ext2 Filesystem, but I ended up rewriting it from scratch.

If you found this interesting, you may want to read the other followups to the earlier talk. In 2002, I gave a followup talk about the Unix process structure. I later revised the talk to include more detailed Perl examples. The original talk about processes and the revised version with examples are both available.

Return to: Universe of Discourse main page | Perl Paraphernalia | Other Classes and Talks