Operating Systems


Instructor - Robert Hochberg 
Office-         Austin 325B 
Phone-         328-0126 
Email-         hochberg@cs.ecu.edu
Text - Modern Operating Systems
by Andrew S. Tannenbaum
Office Hours
MWF 9-10am 
MW   11:15 - 12:15
Secure Shell software can be downloaded here: 
Note:  The license for this software extends to students taking CSCI courses only.  Any other use violates copyright law, and can get you into trouble. 
Download SSH
  • When you install this program, you may get an SSH Secure Shell Client icon on the desktop.  If so, double-click it to run the program.  Otherwise, you'll have to select Start->Programs->SSH Secure Shell->Secure Shell Client to run it.
  • Click "QuickConnect" (also found under the file menu) to open a connection dialog box
  • For "Host Name," type stymie.csci.ecu.edu
  • Your User Name is your usual username
  • When you are connected, you'll have to type your password

 
Course Schedule
(subject to change)
Monday
Wednesday
Friday
 1/7  Two views of the OS 
Read:  Chapter 1 sections 1, 2, 4, 5
1/9  Tasks of the OS 1/11   Tasks of the OS - II
1/14  Processes 
Read:  Chapter 2 section 1
1/16  Threads 
Read:  Chapter 2 section 2
1/18  Threads II 
1/21  Martin Luther King day 
         Class on Tuesday
         Interprocess Communication
         Read:  Chapter 2 sections 2.3.1-4
1/23  Interprocess Synchronization 1/25  No Class
1/28  Semaphores
Read:  Chapter 2 sections 2.3.5-6
1/30  More on Semaphores
         Introduction to POSIX threads
Programming Assignment #1
2/1  Monitors
Read:  Chapter 2 section 2.3.7
2/4  Message Passing
Read:  Chapter 2 section 2.3.8
2/6  Some classic IPC problems
Read:  Chapter 2 section 2.4
2/8  Intro to Deadlocks
2/11  Scheduling Considerations
Read:  Chapter 2 section 2.5.1
2/13  Scheduling Algorithms
Read:  Chapter 2 sections 2.5.2-3
2/15  More Scheduling Algorithms
2/18  Exam 1 - Study Guide
1.1 2.1
1.3.1-4 2.2.1-4
1.4 2.3
1.5 2.4.1, 2.4.3
1.6.1 2.5.1-3
You can print out and write on this single-page "cheat sheet."
2/20  Programming Assignment #2 2/22  Linux Scheduling Algorithm
2/25  Conditions for Deadlock 2/27  Deadlock avoidance and Deadlock Recovery 3/1  Deadlock Graphs and depth-first search
3/4  Resource Trajectories and deadlock 3/6  Introduction to Memory Management 3/8  Memory with fixed partitions
3/18  Memory with variable partitions 3/20  Relocation 3/22  Best, worst, next and first fit
3/25  Virtual Memory and the MMU
Programming Assignment #3
3/27  Pages and frames, and two-level page tables 3/29  Good Friday, no class
4/1  What's in a page table 4/3  Page replacement algorithms 4/5  More page replacement algorithms
4/8    Exam 2 - Study Guide
3.1 4.1
3.2 4.2
3.4.1, 3.4.3 4.3
3.5.1-3.5.2 4.4.1-4.4.5
3.6 p. 706-708 - Linux scheduling
You can print out and write on this single-page "cheat sheet."

You should also know how to do a depth-first search on a graph, as we did in class, and as is described on p. 170.

4/10 4/12
4/15  The format of a disk in UNIX 4/17  The information in an inode 4/19  Inodes and the sizes of files and filesystems
Programming Assignment #4
4/22  Hard and symbolic links.  UNIX fork(). 4/24  File descriptors 4/26  File Descriptors and Redirection
4/29  Review of Semester 5/1 5/3  Final Exam
You may bring 3 "cheat sheets" to the exam...presumably your two old ones and a new one, but you may remake your old ones if you wish.
Sections to study:
6.1.1 - 6.1.4
6.3.1, 6.3.2 and 6.3.4
6.4.5
10.6.1-3, through the first half of p. 744
man pages: 
fork( )
wait( )
execvp( ) and execlp( )
open( )
close( )
dup( )
What I'd like you to know about those functions you can find in the paragraphs at the top of their man pages. 

All quizzes and the test