CS 4315: Operating Systems
Fall 2009 (CRN: 10761, 3 credit hours, Class times: Monday-Wednesday 11:30am-12:45pm)
Instructor: Dr. Hong Lin
Office: S717 Tel: (713) 221-2781
E-mail:
linh@uhd.edu URL:
http://cms.dt.uh.edu/faculty/linh
Office
Hours: 2:00-4:30pm MTWR
Catalog description: (3-3-0) This course will introduce you to the concepts of operating systems. We will focus on traditional systems utilizing a single processor and the issues that arise when multiple processes must share the processor, memory and I/O resources. The course focuses on three main operating system functions: device management, process management, and storage management (main memory and file system management). Programming examples will be carried out on UNIX.
Textbook: "Operating Systems", 3rd edition, by Gary Nutt, Addison Wesley, 2004.
References: Any book on UNIX/LINUX, any book on C/C++ ). Some of these include:
Course Web Page: The
course web page is at: http://cms.dt.uh.edu/faculty/linh/courses/cs4315/index.htm.
As the semester progresses, various material will be posted and/or updated in
the course schedule including, the course syllabus, projects, homework
assignments, and lecture notes. I will also post course
announcements such as exam dates, project/homework deadlines as well as
urgent messages, if needed, on that page. So you may want to check it
regularly. Original Powerpoint presentations are developed by Dr. Gary
Nutt (The author of the textbook) and Dr.
Course prerequisites: CS 3304 and CS 3306
Topic prerequisites: i) Familiarity with computer hardware organizations ii) programming experience with C or C++, and iii) programming experience using data structures such as those discussed in CS3304.
Topic content:
|
Topic |
Textbook Chapter |
|
Introduction |
Chapter 1 |
|
Quick Overview of UNIX |
Chapter 2 & Unix Refs |
|
Operating System Organization |
Chapter 3 |
|
Computer Organization |
Chapter 4 |
|
Device Management |
Chapter 5 |
|
Processes |
Chapter 6 |
|
CPU Scheduling |
Chapter 7 |
|
Process Synchronization |
Chapter 8 |
|
Deadlock |
Chapter 10 |
|
Memory Management |
Chapter 11 |
|
Virtual Memory |
Chapter 12 |
|
File Systems |
Chapter 13 (optional) |
Learning
Ou
|
1. |
Understand fundamental
operating system abstractions such as processes,
threads, files, semaphores, IPC abstractions, shared
memory regions, e |
|
2. |
Understand how the
operating system abstractions can be used in the development of application
programs, or to build higher level abstractions. |
|
3. |
Understand how the
operating system abstractions can be implemented. |
|
4. |
Understand the principles
of concurrency and synchronization, and apply them to write correct
concurrent programs/software. |
|
5. |
Understand basic resource
management techniques (scheduling or time management, space management) and
principles and how they can be implemented. These also include issues of
performance and fairness objectives, avoiding deadlocks, as well as security
and protection. |
Programming Assignments: There will be some programming assignments to reinforce some of the theoretical concepts discussed in class. Programming assignments are to be written in C on LINUX. You may get a LINUX account on gator in the Academic Computing Lab (800 South Bld). Also, a telnet software "putty.exe" is available here.
Course grade: Course grades will be determined as follows:
|
Assignment |
Weight |
|
2 Midterm Exams |
20 % each |
|
Programming Assign. |
20 % |
|
Final Exam |
30 % |
|
Labs & Participation |
10 % |
|
Total |
100% |
Make-up exam late assignments: Homework/programming assignments are to be completed and turned in by the due date at the beginning of class. Late assignment will not be accepted. There are no makeup exams. If you miss one exam, your grade of the final exam will be counted twice. At most one exam can be missing. All missed grades will be recorded as zeros.
Academic Dishonesty: For this class, all work must be done individually -- no group work is allowed. You are encouraged to generally discuss assignments with fellow students, but may not copy their solution or code. Doing so constitutes academic dishonesty which will be sanctioned with a grade of F, and possibly further disciplinary actions by the University.
Statement on reasonable accommodations: UHD adheres to all applicable federal, state, and local laws, regulations, and guidelines with respect to providing reasonable accommodations for students with disabilities. Students with disabilities should be notified to register with Disabled Student Services and contact the instructor in a timely manner to arrange for appropriate accommodations.
Course Schedule
(This schedule is subject to update. You should check it regularly for assignments and due dates)
|
Week |
Monday |
Wednesday |
|
1 |
8/24 |
8/26 |
|
2 |
8/31 |
9/2 |
|
3 |
9/7 Labor Day |
9/9 |
|
4 |
9/14 Lab 3.1 Observing OS Behavior |
9/16 |
|
5 |
9/21 |
9/23 |
|
6 |
9/28 1st Test |
9/30 Project 1
Due |
|
7 |
10/5 |
10/7 |
|
8 |
10/12 |
|
|
9 |
10/19 |
10/21 |
|
10 |
10/26 Review for the 2nd
test |
10/28 |
|
11 |
11/2 |
11/4 Project 2
Due |
|
12 |
11/9 |
11/11 |
|
13 |
11/16 No class |
11/18 |
|
14 |
11/23 |
11/25 |
|
15 |
11/30 Chapter
11 - Part 2 Project 3 Due |
12/2 Review for Final Exam |
|
16 |
12/7 Reading Day |
12/9 |
|
17 |
12/14 |
12/16 Final Exam 11:30am
– 2:00pm |