Lectures, Assignments, and Exercises
2.1 proc
2.2 ipc
2.3 vm
2.4 fs
2.5 io
2.6 virt
2.7 sec
2.8 perf
2.9 Paper
2.10 Presentation
2.11 Midterm
2.12 Final

2.5 io

This exercise is optional. Refer to the exercise policy for details.
Using asynchronous I/O operations, like epoll, implement a I/O-managing kernel for TCP connections that scales well. I recommend implementing a very basic HTTP server using this system, so you can test with HTTP load testing tools. I recommend writing explicit I/O completion continuations, rather than trying to capture them automatically. Bonus omph for implementing your own user-level thread system, however.