Download presentation
Presentation is loading. Please wait.
Published byCarolina Bernardes Morais Modified over 6 years ago
1
CSE 522S Advanced Operating Systems Course Introduction
Chris Gill Department of Computer Science and Engineering Washington University, St. Louis MO Thanks to David Ferry, who initially developed and taught the first version of this material in the spring semester of 2016, and to the students who took the course with me that fall, whose suggestions have been leveraged to improve it
2
Three Goals for Students
Build intuition about OS operation and design principles Additional mechanisms: signals, pipes/fifos, sockets, shared memory, etc. Enrich skills for monitoring the runtime operation of an OS New features of monitoring tools, e.g., event queries for kernelshark The scientific method (hypothesis, prediction, experiment, analysis, repeat) Gain further experience enforcing/evaluating OS behavior E.g., real-time behavior E.g., forensics for memory, file system, processes/threads, timing As in CSE 422, the studios will help you gain experience and expertise to use in the lab assignments CSE 522S – Advanced Operating Systems
3
CSE 522S – Advanced Operating Systems
Course Environment As in CSE 422, our OS of choice is the Linux kernel Open source, widely deployed Practical for both research and applied use Helps to develop a broadly applicable skill set This course is designed around the Raspberry Pi 3 Avoids modifying the kernel on machines others may need to use Can quickly re-deploy a new version of the kernel if the one running locks up “Personal computing” at its best Reasonably fast, provides interesting multi-core behavior, affordable Each Raspberry Pi 3 has 1.2GHz 64-bit quad-core ARMv8 for < $100 (CanaKit) Useful, and used elsewhere in WUSTL CSE research and education The Raspberry Pi family is based on the ARM processor architecture The OS has lots of processor-dependent code (in separate directories) Will occasionally mention x86 differences, where relevant CSE 522S – Advanced Operating Systems
4
CSE 522S – Advanced Operating Systems
Class Readings Course textbooks (lots of good advice to help you succeed): Linux System Programming, 2nd Ed., by Robert Love, 2013 Linux Kernel Development, 3rd Ed., by Robert Love, 2010 (also a text book for CSE 422) Google is your friend Linux is widely documented (but documentation often is not current) Lots of other resources exist for Linux mechanisms and features We will also provide links to key resources on the course web site CSE 522S – Advanced Operating Systems
5
CSE 522S – Advanced Operating Systems
Words of Advice Kernel hacking requires a lot of patience and thought Spend time thinking before debugging, designing, writing, compiling, etc. Use the DD (Debuggen von Denken) debugger (Thomas Gleixner suggested) Anticipate PEBCAK (problem exists between chair and keyboard) errors Don’t underestimate the power of pencil and paper before you start typing Work efficiently but persistently Huge established codebase to digest – break it down into manageable bites Our goal is for the time spent “hands-on” to be similar to our intro courses Start early, fail (succeed) quickly, iterate rapidly, progress steadily over time A few initial tips (to avoid problems we’ve seen already) Always plug in the (micro-USB) power connection last (after all other cables) Make sure keyboard etc. is configured correctly when system first boots up CSE 522S – Advanced Operating Systems
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.