Download presentation
Presentation is loading. Please wait.
Published byJemima Riley Modified over 9 years ago
1
Course Introduction David Ferry, Chris Gill Department of Computer Science and Engineering Washington University, St. Louis MO davidferry@wustl.edu 1E81 CSE 522S - Advanced Operating Systems
2
Three Goals for Students The goal of this course is that students develop: 1.A good intuition about OS operation and design principles – OS mechanisms: syscalls, interrupts, processes, process scheduling, process synchronization, inter-process communication 2.Skills for monitoring the runtime operation of an OS – Tracers: ftrace (trace-cmd and kernelshark), strace – User space benchmarking 3.Hands-on experience in modifying an OS – Source-code intensive course – You’ll be asked to modify and evaluate the OS – Course project requires a substantial modification E81 CSE 522S - Advanced Operating Systems2
3
Course Motivation For an increasing number of computer applications, general purpose operating systems are not enough, E.g.: – Real-time Systems – Embedded Systems – Cyber-physical Systems – High-speed Networking Or are moving away from discrete microprocessor designs, E.g.: – Automotive – Digital control Many graduate students are doing research that modifies or heavily depends on the details of the kernel. E81 CSE 522S - Advanced Operating Systems3
4
Topics Overview The OS is too large to cover everything! This course specifically focuses on OS features that affect process semantics. E.g.: – Scheduling – Inter-process communication – System timing – See course website for specifics This course doesn’t cover: – Device drivers – File systems – Networking – Memory management – Plenty other topics E81 CSE 522S - Advanced Operating Systems4
5
Course Environment Our OS of choice is the Linux kernel – Open source, most deployed – Most practical for research – Broadly applicable skill set The course is designed around the Raspberry Pi 2 – We don’t want to modify the kernel on “production” machines – Provides four cores at 900MHz – Reasonably fast, provides interesting multicore behavior – Cheap – Useful and used elsewhere in WUSTL CS curriculum E81 CSE 522S - Advanced Operating Systems5
6
Words of Warning OS hacking requires a lot of patience and thought – RPI2 kernel compile time: approx 90 minutes! – Spend more time thinking through code before writing – Huge established codebase to digest – Our goal is that your “hands-on” time is similar to other courses – Start early, fail early. The RPi2 is an ARM processor – The OS has lots of processor dependent code – Will try to provide pointers to x86 references as well Your instructor knows less than you think! – There are too many specifics in the kernel to know everything – But we’re happy to talk about anything E81 CSE 522S - Advanced Operating Systems6
7
Course Format Class time is split between lecture and studios. There will be two lab assignments in the first 8 weeks of class. There will be a course project in the last 6 weeks of class. We will have a midterm and final exam. E81 CSE 522S - Advanced Operating Systems7
8
Class Readings Course textbook: Linux Kernel Development, 3 rd Ed., by Robert Love, 2010. – Book is a great starting resource for kernel hackers – Other class readings are relatively current documents about the Linux kernel – Plan to look at a lot of source code in your spare time – Course website provides a number of free/online references Google is your friend – Linux is widely documented (but often not current) – Lots of resources exist for individual directories, files, and even functions E81 CSE 522S - Advanced Operating Systems8
9
This is a New Course Hopefully this course: – Isn’t too hard (or too easy) – Builds upon basic OS understanding – Works for people with basic to advanced knowledge of Linux I welcome comments and suggestions about topics and pacing Please come talk to me if you have any questions or comments E81 CSE 522S - Advanced Operating Systems9
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.