Operating Systems 2015F Lecture 14

From Soma-notes
Jump to navigation Jump to search

Video

The video from the lecture given on October 23, 2015 is now available.

Notes

Main talk slides

Supplemental talk slides (not presented)

Lecture 14

Next week, I'll be around Wednesday and Friday to discuss projects.
Email to make an appointment!

Tutorials today and the tuesday after break are catch-up tutorials.
Finish the stuff you haven't done or, if you are caught up, work on
your project.  I drop one tutorial, so you can consider this to be an
optional one if you wish.

Assignment 4 will be due after the break, no later than Nov. 4th late
night.

pH does
-------
* monitors every system call on a Linux system
  - on a per-process basis
* able to slow down any system call, and later resume normal speed
* load a profile on execve, update on disk as necessary


To make pH work
---------------
What do I have to change?
* inject code into the system call dispatcher
  - runs before actual per-system call code runs
* change fork
  - copy pH's state
     - shared exec profile
     - copied sequence state
* change execve
  - load the right profile
    (yes, disk I/O from the kernel!)
* change exit
  - free pH state
* main pH routine
  - called by syscall dispatcher
  - analyzes sequences, updates profiles, maintains train, test,
    slows down syscalls
* to slow down a system call
  - put it on a wait queue
* created /proc interface