Notes Chapter 3

Friday, Aug. 29th, 2014

  1. Basic OS structure: kernel + modules + device drivers + …
  2. Interrupt (hardware-generated) vs. trap (exception) (software-generated)
  3. Dual-mode operation: distinguish between the execution of operating system code and user code.
    • Processor support for user mode and kernel mode. A hardware bit is used to remember in which state the processor is running (mode bit).
    • Processor’s instruction set designates privileged instructions which can only be executed when running in kernel model.
  4. The concept of system call (syscall)

Monday, Sept. 1st, 2014

  1. Unix commands are programs: /bin, /sbin, /usr/bin, /usr/sbin, …
  2. Some Unix “commands” are actually built into the shell (bash, for instance)
  3. ps(1), kill(1)
  4. sleep(3), usleep(3)
  5. C review: pointers
  6. Terminate a process with exit(3), which returns status to parent process
  7. wait(2) and waitpid(2) system calls
  8. C concept: double pointers (for instance: int** a)
  9. which(1)
  10. Process environment; the env command (/bin/env)

Wednesday, Sept. 3rd, 2014

  1. The lifetime of a process: states and transitions
  2. Process memory footprint, inheritance
  3. Process Control Block and OS bookkeeping for process management
  4. fork(2) and exec(2)

Friday, Sept. 5th, 2014

  1. CPU switching: interrupts, scheduling; the cost of a context switch
  2. Types of processes: CPU-bound vs. I/O-bound
  3. Scheduling vs. dispatching
  4. Types of schedulers: long-term vs. short-term
  5. Goals of the long-term scheduler (e.g. control the degree of multiprogramming) vs. goals of the short-term scheduler  (e.g. CPU sharing)
  6. Identifying when the short-term schedule is activated
  7. Data structures for process scheduling
  8. InterProcess Communication (IPC) with Unix pipe

Monday, Sept. 8th, 2014

  1. IPC with Unix pipe
  2. Other mechanisms for IPC: sockets (datagram, byte stream), shared memory, files
  3. IPC: direct vs. indirect communication; unidirectional vs. bidirectional; length of messages
  4. Message passing and synchronization: blocking vs. non-blocking channels
  5. Buffering: zero capacity, bounded capacity, unbounded capacity
  6. Types of processes: cooperating vs. independent
  7. The system(3) call
  8. The BSD style wait3(2) and wait4(2) calls

 

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.