Operating Systems 2015F Lecture 14

From Soma-notes
Revision as of 00:58, 24 October 2015 by Soma (talk | contribs) (Created page with "==Video== ==Notes== <pre> Lecture 14 Next week, I'll be around Wednesday and Friday to discuss projects. Email to make an appointment! Tutorials today and the tuesday aft...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Video

Notes

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