Operating Systems and Architecture (Spring 2016)
The CO527 course at University of Kent has two halves. The first half is about computer architecture, and is taught by Fred Barnes. The second half is about operating systems, and is taught by me. For my half, I wrote some lecture notes, which you can find below.
- Introduction to Operating Systems
- Dynamic Memory
- Using File Systems
- Implementing File Systems
- Using Networks
- Implementing Networks
- Processes and Threads
Beware: These notes underwent almost no editing at all! I plan to improve them next year. If you have a favorite topic that is currently missing from the notes, then please let me know by email. Since these notes are so raw, it's not efficient to spend your time looking for typos. However, if you do find mistakes, especially if you find important ones, then I'd really like to know about it.
There's also some code I wrote while preparing this course: co527-allcode.tar.bz2 (2.5MiB). Some of the files in the archive are discussed in the lecture notes, some are not. Sometimes it's because I thought it's not worth discussing them, but sometimes it's simply because I didn't get to it. The code includes my reference solutions to three SPOJ problems (FIFO cache, LRU cache, Optimum cache). You may want to solve them yourself before seeing the solution. The Optimum cache one is not that obvious. But, since the SPOJ text doesn't explain much, you may want to read the lecture notes on caching before proceeding.
Last updated: 15 April 2016