Operating Systems 2015F Lecture 14: Difference between revisions
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== |
Revision as of 01:04, 24 October 2015
Video
The video from the lecture given on October 23, 2015 is now available.
Notes
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