Operating Systems 2015F Lecture 14: Difference between revisions

From Soma-notes
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..."
 
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
==Video==
==Video==
The video from the lecture given on October 23, 2015 [http://homeostasis.scs.carleton.ca/~soma/os-2015f/lectures/comp3000-2015f-lec14-23Oct2015.mp4 is now available].


==Notes==
==Notes==
[http://homeostasis.scs.carleton.ca/~soma/os-2015f/lectures/ms-job-talk-1.ppt Main talk slides]
[http://homeostasis.scs.carleton.ca/~soma/os-2015f/lectures/ms-job-talk-1.ppt Supplemental talk slides] (not presented)


<pre>
<pre>
Lecture 14
Lecture 14


Next week, I'll be around Wednesday and Friday to discuss projects. Email to make an appointment!
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.
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.
Assignment 4 will be due after the break, no later than Nov. 4th late
night.


pH does
pH does

Latest revision as of 01:10, 24 October 2015

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