CS 7343 - Operating Systems
- Instructor: Dr. Michael Hahsler
- Syllabus and assignments: Canvas
- All course material is provided under
News
- I am currently not offering this course. Please check my.smu.edu
Textbook
- William Stallings, “Operating Systems Internals and Design Principles,” 6/e, Prentice Hall, 2009. Book Website
Examples used in class
Assignments
Assignments need do be submitted in time per Blackboard. Please submit answers to questions as a plain text or a pdf file. Programs need to be accompanied by a Makefile for compilation. All files should be contained in a single zip or tar/tgz file. Help for Makefiles and tar.
Resources
-
Useful Unix/Linux commands (try “man command” in your shell or use online manpages)
- General: ls, cd, mkdir, rm, tar, pico, vim
- Compilig/debugging: gcc, make, gdb, ddd
- Process management: top, renice, ps, pstree, kill
man also works with system calls (if you installed manpages-dev). You can also look at this short introduction to the linux shell.
- Options to access to Unix/Linux
- (Preferred method) Install Ubuntu on top of Windows using VirtualBox (see this guide). Don’d forget to install the packages gcc and manpages-dev with the Ubuntu package manger!
- Install Ubuntu on top of Windows using wubi
- Use the school’s Unix/Linux machines (see computer operations and you will need ssh and scp tools).
- Programming Manuals
- Processor Architecture
- Interesting Links
- A New Solution of Dijkstra’s Concurrent Programming Problem, Communications of the ACM 17, 8 (August 1974), 453-455. (Original paper for the Bakery algorithm) Zombie processes in Linux
- Stewart, David and Michael Barr. “Rate Monotonic Scheduling,” Embedded Systems Programming, March 2002, pp. 79-80