Operating System Project 2
A safer OOM-killer for Android kernel with very low overhead
Course and project information are provided in handout.
Implementation details are explained in project report.
-
Baseline
- Implement a custom system call which can set memory limits for UIDs
- Define a global variable to store UID and RSS information
- Implement a naive OOM-killertriggered by __alloc_page_nodemask (not included in this version)
-
Bonus
- Implement a OOM-killer triggerd by timer
- Allow users to exceed memory limits for a pre-set time period
-
Something More!
- Support using make menueconfig to add Yimin's OOM-killer feature in GUI
- Make timer dynamic to further decrease overhead
- Support passive detection of changes of UIDs using tracepoints to reduce the overhead of OOM-killer to the limit
To my inspiring and gifted classmates @Alex Chi @Bugen Zhao