Department of Computer Science 


CS 414/415: Spring 2006

Systems Programming and Operating Systems

 

 

 

 

 

 

 

 

Course Details

 Home

 Overview

 Course Staff/Help

 Academic Integrity

 How to Lose in CS 414

 
Schedule

 Lecture Notes

 CS415 Sections

 
Assignments

 Homework

 Projects

 Exams

 
Resources

 C for Java programmers

 CVS in CSUGLab

 Suggested Readings

 

 

Date

Topics Covered

Reading (7th Edition)
Italics for 6th Edition

01/23

Course Overview, History

S&G Ch.1
Ch.1

01/25

Architectural Support

S&G Ch.1
Ch.2

01/27

Design of OSes

S&G Ch.2
Ch.3

01/30

Processes
(Process Explorer from Sysinternals)

S&G Ch.3
Ch.4

02/01

Threads

S&G Ch.4
Ch.5

02/03

Critical Sections
Decker's Algorithm

S&G Ch.6
Ch.7

02/06

Bakery Algorithm, Atomic Instructions, Semaphores

S&G Ch.6
Ch.7

02/08

Using Semaphores: Bounded Buffer and Readers/Writers

S&G Ch.6
Ch.7

02/10

Monitors and Java Language Primitives

S&G Ch.6
Ch.7

02/13

Using Monitors, Readers/Writers Revisited

S&G Ch.6
Ch.7

02/15

CPU Scheduling Algorithms

S&G Ch.3 & 6
Ch.4 & 7

02/17

The Dining Philosophers: Concepts of Deadline and Livelock

S&G Ch.7
Ch.8

02/20

Deadlocks: Prevention and Avoidance

lecture will be by Einar Vollset

S&G Ch.7
Ch.8

02/22

Deadlocks: Detection and Recovery

lecture will be by Einar Vollset

S&G Ch.7
Ch.8

02/24

Introduction to Distributed Systems & Networking

lecture will be by Einar Vollset

S&G Ch.16
Ch.17

02/27

Introduction to Distributed Systems & Networking

End-to-End paper

03/01

Networking: Link Layer

 Ethernet paper

03/03

Networking: The Network Layer

 

03/06

The Domain Name System

 DNS basics

03/08

Networking: The Transport Layer

 

03/10

Remote Procedure Calls

 S&G Ch. 3.6
Ch. 4.6

03/13

Midterm  (in class)

 

03/15

Memory Management

 S&G Ch. 8
Ch. 9

03/17

No class: Too many people were already out of town and we were going to lack a "quorum"!

Spring Break

03/20-24

Spring Break

 

03/27

Virtual Memory

 S&G Ch. 9
Ch. 10

03/29

The Working Set Algorithm, thrashing, Dynamic Memory Allocation

S&G Ch. 9
Ch. 10
malloc Implementation

03/31

Dynamically linked Libraries

Shared Libraries in SunOS

04/03

Disks

S&G Ch. 12
Ch. 13

04/05

More on Disks, RAID

S&G Ch. 12
Ch. 13

04/07

File Systems: Introduction

S&G Ch. 10
Ch. 11

04/10

File Systems: Implementation

S&G Ch. 11
Ch. 12

04/12

File Systems: Directories, Sharing, Free Space

S&G Ch. 11
Ch. 12

04/14

P2P File Systems

 

04/17

Security Basics, Authentication

S&G Ch. 15
Ch. 19

04/19

Security: Attacks

S&G Ch. 15
Ch. 19

04/21

Security: Cryptographic Tools 1

 

04/24

Security: Cryptographic Tools 2

 

04/26

(Einar #1)

 

04/28

(Einar #2)

 

05/01

Distributed Systems

S&G Ch. 14
Ch. 18

05/03

Course Review, Intellectual Property Protection and Systems

 

05/05

No class: Slope Day

 

Many lecture slides adapted from Ranveer Chandra's and Gun's slides from previous year's CS414 and Mendel Rosenblum's slides from an OS course