Shell
- useful command line programs
- bc -l
- cal
- uniq
- filters out duplicate lines
- sort
- takes input on STDIN, sorts lines, prints to STDOUT
- vmlinux is the linux kernel with virtual memory [1]
- vmlinuz is the same but compressed
- bash runs on vmlinux
- most programs run on bash
- ls/cd also run on vmlinux
- ls runs as a child process of bash
- to get rid of a misbehaving child
- the parent must kill it
- waits for child to die
- an unreaped child becomes a zombie
- zombies can't be killed, must be reaped
- to kill a zombie, must kill parent
- orphans become a child of init (ward of state)
- init is good at reaping children
job control
- job is a process
- term comes from batch processing
- Useful control sequences
- To start a stopped job in the foreground
- fg %n
- where n is the job number
- To start a stopped job in the background
- To determine jobs that are running
- Who manages jobs?
- the shell
- built on kernel functionality
Why we're studying unix
- all operating systems have basically the same architecture
- windows is just a variation on unix
- windows comes from vms
References
[1]: https://en.wikipedia.org/wiki/Vmlinux