CSC 332 - Syllabus

The City College of New York • Grove School of Engineering • Computer Science Department • Course Syllabus

Course number

CSc 33200

Course name

Operating Systems

Credits & hours

4 cr., 3 lecture hr. and 2 laboratory hr.

Course coordinator

Prof. Peter Brass

 

Textbook, title, author, and year

  • Operating Systems: Internals and Design Principles (7th ed.), Prentice-Hall, 2012, ISBN-13: 978-0-13-230998-1
  • Other supplemental materials: books, chapters, web materials related to course work

Specific course information

  • Concepts, structure, mechanisms of operating systems. Relevant to embedded systems, smart phones, single-user workstations and PCs, and medium-sized shared systems (e.g., cloud); Multi-tasking. Resource abstractions and Sharing. System protection and integrity. Inter-task communications and Synchronization. Lab projects (individual); Written exams and reports.
  • Prereq.: CSc 22000 and CSc 21700 or EE 31100
  • Required course

Specific goals for the course and Relationship to student outcomes

 

1

2

3

4

5

6

a. the student develops understanding of coordination, fairness, and security issues in resource sharing

R

R

 

R

 

R

b. the student acquires knowledge of techniques for data and code protection across programs

I

I

 

I

 

R

c. the student develops understanding of the application of engineering techniques in organizing memory and disk subsystems

 

I

 

I

 

R

d. the student develops understanding of the application of engineering techniques in organizing memory and disk subsystems

I

I

 

I

 

I

e. the student is exposed to axiomatic proofs, the use of algorithmic approaches and logical reasoning

R

R

   

R

I - introductory-level; R - reinforced-level; P - program-level

Brief list of topics to be covered

Week

Topics

1

Single-user systems, multi-user systems: disks, CPU, memory, networks

2

Interrupt processing: I/O sub-systems, disks, resource sharing, system calls

3

Hardware-supported protection mechanisms, Kernel structures, file storage

4

Process concept: concurrent processes, process scheduling

5

Inter-process communication: message-passing, shared data, secure channels

6

Critical regions, Mutual exclusion algorithms: safety & liveness, security, proofs

7

Semaphores: definition, implementation, mutual exclusion algorithms

8

Process synchronization: concurrency and ordering; analogical examples

9

Bounded buffer, reader-writer problems

10

Deadlocks: characterization, wait-for-graphs, disadvantages

11

Deadlock avoidance: banker's algorithm, examples, analysis

12

Scheduling algorithms & mechanisms: (disk, CPU, memory), denial-of-service issues

13

Memory management: virtual address, paged memory, caching, protection

14

Cloud data storage (privacy, protection); Course Wrap-up