Internals of Familiar Unix Commands

Length: 60 minutes


This talk is about the Unix process model, the process and u structures, the semantics of the fork and exec calls, and how this impacts the design of certain well-known Unix commands such as the shell, ls, nice, sudo, nohup, inetd, less, chroot, and cd.

Complete Slides

  1. Don't Touch That
  2. Overview
  3. Processes
  4. Processes
  5. Processes
  6. Processes
  7. The Shell
  8. Why fork and exec?
  9. File Descriptors
  10. Redirection
  11. Redirection
  12. But what if you do care?
  13. But what if you do care?
  14. But what if you do care?
  15. But what if you do care?
  16. Current directory
  17. Current directory
  18. Current directory
  19. Not Everything is Copied
  20. Not Everything is Copied
  21. Why Share File Pointers?
  22. Why Share File Pointers?
  23. Signal Handling
  24. Signal Handling
  25. Signal Handling
  26. stopafter
  27. File Locks

tgz file of the entire talk

Related Talks

Extended version of this talk with more detailed examples

The previous year's talk about inodes

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