Systems Software (CS270)
Welcome to Systems Software CS270.
This course is offered in the Fall Semester 2010 at the University of Idaho in Moscow.
The course is taught by Dr. Axel Krings.
This web-page
contains information about the course, e.g. syllabus, class notes, pointers
to interesting places etc.
Material can be down-loaded in pdf format, and will be made
available in the updated form as the class goes on.
If you have comments, please let me know.
Course description from UI General Catalog:
CS 270 Systems Software (3 cr),
Productivity tools such as make, Debugging tools, Linking and loading, Shell programming and scripting languages, Process management and inter-process communication, Concurrent programming using threads, Exception handling. Prereq: CS121 and CS150
Text: Graham Glass and King Ables, Linux for Programmers and Users, Third Edition, Prentice Hall.
- Contact information:
- Axel Krings (PhD), JEB 320,
- Phone: 208-885-4078, fax: 208-885-9052.
- Email: krings@uidaho.edu (see comments in syllabus on email procedures)
- Office Hours:
(see here)
- Class times: MWF 11:30-12:20 pm room JEB121.
Class Handouts:
- The handouts are ordered by sequence numbers and the material covered in the lectures are indicated next to the date.
Specifically, the numbers in parentheses indicate the slides covered during class, i.e., [a/b-c/d] indicates that the material covered is from sequence a (slide b) to sequence c (to slide d).
- If there are any problems with accessing the handouts,
please let me know (email, phone, smoke signs, drums, ...)!
- Corrections: some slides may contain formatting errors, typos etc.
which have been addressed in class, but have not been reflected
in the notes posted here.
-
Syllabus and last year's topic list (pdf)
- Lecture Notes
- Lecture 1 (08/23/10): [1/01-1/08]
Sequence 1, (pdf),
: Introduction, based on Chapter 1 of the text
- Lecture 2 (08/25/10): [1/09-1/17]
Sequence 2, (pdf),
: Background, OS evolution , Unix, Linux and how it started
- Lecture 3 (08/27/10): [1/18-2/15]
Sequence 3, (pdf),
: Compiling code (preprocessing, compiling, linking, loading), multimodule compilation, object files
- Lecture 4 (08/30/10): [2/16-3/17]
Sequence 4, (pdf),
: object files, Executable and Linkable Format (ELF)
- Lecture 5 (09/01/10): [4/01-4/13] no new notes,
Object files and ELF cont.
- Lecture 6 (09/03/10): [4/14-5/05]
Sequence 5, (pdf),
: Linux commands, online demos
- Lecture 7 (09/08/10): [5/06-6/03]
Sequence 6, (pdf),
: Linux commands, Starting Linux, init process etc., online demos
- Lecture 8 (09/10/10): [6/04-6/08]
Sequence 7, (pdf),
: Linux system calls, files, file system, mounting & unmounting, /etc/fstab, /etc/mtab, online demos
- Lecture 9 (09/13/10): [7/01-7/06] Network file system, basic RAID
- Lecture 10 (09/15/10): [7/07-8/08]
Sequence 8, (pdf),
:
Maintaining a file system: file system integrity, statistics, quotas, creation, backup, linux commands fsck, du, df, quota, csquota, mkfs, dump, restore
- Lecture 11 (09/17/10): [8/09-9/05]
Sequence 9, (pdf),
:
Principle and Demo of OS X time machine, Advanced Linux commands and utilities
- Lecture 12 (09/20/10): [9/06-10/02]
Sequence 10, (pdf),
:
Linux shell basics
- Lecture 13 (09/22/10): [10/03-10/10]
Sequence 11, (pdf),
:
Shells and shell scrips
- Lecture 14 (09/24/10): [10/11-11/05]
shell scrips
- Lecture 15 (09/27/10): [11/06-11/15]
Sequence 12, (pdf),
:
Bash, variables
- Lecture 16 (09/29/10): [11/16-12/11]
shell programming cont.
- Lecture 17 (10/01/10): [12/12-13/24]
Sequence 13, (pdf),
:
shell programming cont.
- Lecture 18 (10/04/10): [14/02-14/15]
Sequence 14, (pdf),
:
Perl
- EXAM 1 (10/06/10) covering materials up to (and including) sequence 13
- Lecture 19 (10/08/10): [14/16-15/14]
Sequence 15, (pdf),
:
Perl cont., exam 1 discussion
- Lecture 20 (10/11/10): [15/15-17/09]
Sequence 16, (pdf),
:
Perl cont.,
- Lecture 21 (10/13/10): [17/10-17/17]
Sequence 17, (pdf),
:
Networking
- Lecture 22 (10/15/10): [17/18-17/27]
Sequence 18, (pdf),
:
Networking cont.
- Lecture 23 (10/18/10): [18/01-18/12]
Networking, the evolution of the Internet
- Lecture 24 (10/20/10): [19/01-19/30]
Sequence 19, (pdf),
:
The Internet, Computer & Information Ethics
- Lecture 25 (10/22/10): [19/31-19/53]
Sequence 20, (pdf),
:
Computer & Information Ethics, Execution environment
- Lecture 26 (10/25/10): [20/01-20/13]
Sequence 21, (pdf),
:
Linux Desktop, Network Access
- Lecture 27 (10/27/10): [21/01-21/24]
Sequence 22, (pdf),
:
Linux Desktop, Network Access
- Lecture 28 (10/29/10): [22/01-22/23]
C compilers, single-module and multimodule programs, archiving utility ar, make files
- Lecture 29 (11/01/10): [22/24-23/05]
Sequence 23, (pdf),
:
(attack.avi),
make files cont., profiling, profiling research application
- Lecture 30 (11/03/10): [23/06-23/21]
profiling, profiling research application, call graphs, debugging
- Lecture 31 (11/05/10): [23/22-23/29]
Ass4 discussion, static and dynamic call graphs, dynamic program execution
- Lecture 32 (11/08/10): [23/30-23/34]
static and dynamic call graphs, runtime monitoring and profiling using gprof
file management & system calls
- Lecture 33 (11/10/10): [24/01-24/17]
Sequence 24, (pdf),
:
Ass4 discussion, File management, Error handling, advanced system calls
- Lecture 34 (11/12/10): [24/18-24/51]
Sequence 25, (pdf),
:
Process management
- Lecture 35 (11/15/10): [24/52-25/13] Ass4 extended to Wednesday
- Exam 2 (11/17/10) covering the following material: [14/01-24/51]
- Lecture 36 (11/19/10): [25/13-25/20]
exam 2 discussion, process control, fork, zombies, wait, exec...
- Have a great break and travel safely!
- Lecture 37 (11/29/10): [25/21-25/33]
Sequence 26, (pdf),
:
Signals
- Lecture 38 (12/01/10): [26/01-26/20]
Sequence 27, (pdf),
:
Pipes (unnamed, named)
- Lecture 39 (12/03/10): [26/21-27/18]
Sequence 28, (pdf),
:
Sockets
- Lecture 40 (12/06/10): class canceled
- Lecture 41 (12/08/10): [28/01-28/29]
socket programming
- Lecture 41 (12/10/10): [29/01-29/22]
Sequence 29, (pdf),
:
System administration
- Final exam (12/16/10) at 10:00am, covering all material in sequence 24 though 29
- Support Notes
- Executable and Linkable Format (ELF) (pdf), get an intuition from here
Homeworks/Projects/Exams: