* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Course Introduction - Department of Computer Science
Survey
Document related concepts
Linux adoption wikipedia , lookup
Plan 9 from Bell Labs wikipedia , lookup
Mobile operating system wikipedia , lookup
Berkeley Software Distribution wikipedia , lookup
Linux kernel wikipedia , lookup
Unix security wikipedia , lookup
Spring (operating system) wikipedia , lookup
Process management (computing) wikipedia , lookup
Distributed operating system wikipedia , lookup
Transcript
Course Introduction David Ferry, Chris Gill Department of Computer Science and Engineering Washington University, St. Louis MO [email protected] E81 CSE 522S - Advanced Operating Systems 1 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 Systems 2 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 Systems 3 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 Systems 4 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 Systems 5 Words of Warning • OS hacking requires a lot of patience and thought – – – – – • The RPi2 is an ARM processor – – • 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 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 Systems 6 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 Systems 7 Class Readings Course textbook: Linux Kernel Development, 3rd 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 Systems 8 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 Systems 9