Instructor: Bob Rinker Office (Moscow): JEB324 Office (Coeur d'Alene): Hed 202 Email: rinker@cs.uidaho.edu Phone: (208)885-7378 Office Hours (Spring 20234: 2:30 - 3:30 MWF Catalog Description:
This course provides an overview of operating systems and operating system
principles. It includes sections on concurrency, scheduling and dispatch,
memory management, net-centric computing, OS security, and process management.
Concurrent programming using threads is also explored.
Lecture: 3 hours per week
Prerequisites: CS-150
Corequisites: CS-270 Syllabus: Downloadable from here
pdf Grading:
Your grade will be calculated using the following percentages:
Seven Mini Exams (@ 7% each)
49%
Final exam (comprehensive)
20%
Homework/Projects
25%
Points for completing all projects
6%
Total
100%
The letter grade you receive from the course will be determined as follows:
90%-100%
A
89.9%-80%
B
79.9%-70%
C
69.9%-60%
D
Below 60%
F
The instructor reserves the right to adjust these percentages lower if
deemed necessary.
Announcements
Welcome to the class!
For office hours, use the following Zoom ID: 139-231-823 . You will be placed into the "Waiting Room" - I will invite you in when I am ready for you. This
way, we can be assured of a confidential discussion.
Assignments:
Assignments will appear here sometime after they are assigned
- Assignment #0
(
pdf
)
This assignment does not need to be turned in
- Assignment #1
(
pdf
)
Due: Feb 5
- Assignment #2
(
pdf
)
Due: Feb 12
- Assignment #3
(
pdf
)
Due: Feb 23
NOTE: The "system" command is *NOT* a system call, it is a regular function that just uses the (existing) shell
to execute
the command. The purpose of this assignment is to write a simple shell, NOT to use the (existing) shell to do the work. Using the system command is NOT an acceptable solution to this problem.
- Assignment #4
(
pdf
)
Due: Mar 4
- Assignment #5
(
pdf
)
Due: Mar 22
- Assignment #6 - NOTE: the assignment has been edited to include more specific
output requirements.
(
pdf
)
Due: Apr 12 - NOTE: Due date has been extended. Slides used in lectures
Slides on OS/UNIX History
(
here
)
"UNIX Geneology"
(
here
)
Linus Torvald's famous email
(
here
)
Chapter 2 -
(
here
)
Chapter 3 -
(
here
)
Slides on UNIX Processes - Part 1 -
(
here
)
Slides on UNIX Processes - Part 2 -
(
here
)
Chapter 4 -
(
here
)
Chapter 5 -
(
here
)
Chapter 6 -
(
here
)
Handout on using pthreads
(
here
)
Chapter 12 -
(
here
)
Chapter 11 -
(
here
)
Chapter 7 -
(
here
)
Chapter 8 -
(
here
)
Chapter 9 -
(
here
) Links to other useful information
A useful ASCII code chart
(
pdf
)
Slides on command line arguments
(
pdf
)
Tar file containing several of the example programs involving fork() and
exec(),
here
. (Shift-click to download).
A tar file is somewhat like a zip file - an archive of separate
files. In fact, many "zip" programs will also unpack tar files. On Linux, you
can use the command:
tar xvf file.tar
Slides on the DOS disk format
(
pdf
)
The dumpfile program we discussed in class
(
pdf
)
The dumpmbr program - an expanded version of the dumpfile program that uses
the values contained in the boot block (also called the "master boot record"
MBR) to calculation actual locations on the disk
(
pdf
)
Slides on UNIX file system calls
(
pdf
)
How to use the cscheckin program
(
pdf)
A decent vi editor Cheat Sheet
(pdf
or
ps)
Unix tutorial (from the University of Edinburgh)
here.
How to use the cscheckin program
(
pdf)
A decent vi editor Cheat Sheet
(pdf
or
ps)
Unix tutorial (from the University of Edinburgh)
here.