Lecture 3 Notes: O/S Organization
topic: overall o/s design
what should the main components be?
what should the interfaces look like?
why have an o/s at all?
why not just a library?
then apps are free to use it,
Lecture 5 Notes: Kernel Setup
entering the kernel (interrupts, system calls, &c)
returning to user space
where can the system be executing?
diagram: u/k, user stacks, kernel stacks
what are the transitions?
u -> k: sys call / interrupt / exception
Lecture 4 Notes: xv6 VM Codes
xv6 VM code
today's problem: [user/kernel
diagram] suppose the shell
has a bug:
sometimes it writes to a random memory address
how can we keep it from wrecking the kernel? and
Lecture 1 Notes: Basic Computer Concepts
how does it know what to do with its output?
I/O: process has file descriptors, numbered starting from 0.
index into table in process's kernel state
system calls: open, read, write, close
Lecture 9 Notes: File Systems API
topic: file systems
what they are
how the xv6 file system works
intro to larger topics
why are file systems interesting?
they are a critical (and fruitful) piece
Lecture 10 Notes: Computer Crashes
what is crash recovery? you're
writing the file system then
the power fails
is your file system still useable?
the main problem:
crash during multi-step operation
leaves FS invariants violated can
lead to ugly
Lecture 7 Notes: Computer Processes
* abstract virtual machine
provides the illusion to application of a dedicated computer, but an abstract one
convenient for application developer
one process cannot effect a
A full PC has:
an x86 CPU with registers, execution unit, and memory management
CPU chip pins include address and data signals
other resources: BIOS ROM, clock, .