Back To Main

Prof. D. Salane
Operating Systems, Fall 2004
MAT 375 01 and 02

 
Syllabus
Day Sections1 Topics
1 OS: 1.1-1.7 User and system view. Batch, multiprogrammed and time-sharing systems. Working in a Linux environment (See LabAssignment1.doc, papers section,OS home page).
2 OS: 2.1-2.5, LT: 3.2 Computer system operation. I/O structure and DMA. Storage structure and hierarchy. Dual mode operation. I/O, memory, and CPU protection.
3 OS: 3.1,3.2; LT: 3.3-3.7 Process, main-memory, file, I/O-system and secondary storage management. Command-interpreter system. Operating-system services.
4 OS: 3.4, LT: 4.1-4.3 Introduction to the BASH shell and Linux utilities for process, file and device management.
5 OS: 3.5,3.7 Simple, layered, microkernel designs. Goals, mechanisms, policies and implementation. Security weaknesses in modern OS design.
6 LT: 7.1-7.5, 8.1-8.5 File Systems in Linux: the user view
7 LT: 5.1-5.3,20.3,20.5 Developing C programs under Linux. Program to copy files using C system calls.
8   Floating Lecture.2
9 Exam I
10 OS: 4.1-4.2, LT: 13.1-13.4 Process concept, state control block and context switching. Threads. Queues and schedulers.
11 OS: 4.3-4.4, LT: 13.5-13.7 Process creation and termination. C program for forking a process. Cooperating processes.
13 OS: 4.5.1-4.5.4, LT: 12:11 IPC. Pipes. Message passing. Blocking and nonblocking sends and receives. MPI send and receive semantics.
14 OS: 5.1-5.4 Threads: Benefits, models, issues. Linux Pthreads. A threads based program for the Bounded Buffer problem.
15 OS: 6.1-6.4,6.7.3

Scheduling: concepts, criteria, basic algorithms and multiple-processor scheduling. Linux scheduling.
16 OS: 7.1-7.4 Synchronization: Background, critical-section problem, hardware and semaphores.
17 OS: 7.5-7.7 Readers-Writers and Dining Philosophers problems. Critical regions and monitors.
18 OS: 8.1-8.3 Deadlock characterization. Methods for handling and preventing. The Sleeping Barber problem.
19   Exam II
20 OS: 9.1-9.3 Memory management: Binding, logical vs physical addresses. Dynamic loading, linking and shared libraries. Swapping, overlays. Memory protection, allocation and fragmentation.
21 OS: 9.4-9.6 Paging and segmentation. 80x86 segmentation with paging.
22 OS: 10.1-10.6 Virtual memory, demand paging, memory mapped files, page replacement, allocation strategies and the working set model.
23 OS: 11.1,11.2 LT: 8.6 File concept, types, attributes, operations, structure. Access methods. Extended attributes in Linux.
24 OS: 11.3-11.6; LT: 11.2,11.6 Directory structures. File system mounting, sharing and protection.
25 OS: 12.1-12.2,12.4.3,12.4.4; LT: 7.6-7.8 File system structure and implementation. Directory implementation. Indexed allocation and Linux i-nodes.
26 Host intrusion detection revisited. Anomaly vs.pattern based detection. Case Study: Tripwire.
27 OS: 19.1-19.6, 19.8 External security. User authentication and authorization. System and progam threats: stack and buffer overflows, worms and viruses. Intrusion detection. Computer security classifications. NSA's Secure Linux Project.
28   Secure access to hosts in a grid environment. Case study: NASA's Information Power Grid.
29   Final Exam
 
     
 

1 Most lectures follow the texts; however, supplemental material from various sources is introduced throughout the course. OS refers to the Operating Systems Concepts text. LT refer to Linux: The Texbook.

2 The floating lecture will be used where needed for review or to discuss projects.