Contact Information | Textbooks | Course Objectives | Prerequisites |
Course Policy | Course Format | Grade Determination | Course Calendar |
Contact Information
Textbooks
Course Objectives:
The objective of this course is to familiarize you with the fundamental concepts and
algorithms that are applicable to a variety of modern operating systems. You will learn
how an operating system manages both system resources and asynchronous concurrent events.
Topics include: processes/threads, cpu scheduling, synchronization, deadlocks,
memory management, virtual memory, file systems, I/O systems, distributed
systems. Emphasis will be placed on the UNIX operating system.
Prerequisites
The prerequisite courses are CS226 Computer Organization and Architecture and CS232
Data Structures and Analysis of Algorithms. The knowledge you obtained about data
structures, in CS232, will help you understand the fairly elaborate database used to
record the status of activities being managed by an operating system. An understanding of
computer organization, as taught in CS226, is important since hardware resource management
is a primary function of an operating system.
Course Policy:
Attendance at all classes and laboratories is expected, however I understand that a
perfect attendance record is difficult to achieve. If you miss a class you are
responsible for getting any assignments that may have been made, or if any work is due you
must get it to me prior to the class. All homework is due on the date specified (at the
beginning of class) and no late homework solutions will be accepted (unless
you have made prior arrangements with me) - this policy allows me to distribute the
homework solutions on the same day you submit your solutions. I expect everyone to take
the exams on the scheduled dates, however if you are unable to do so you must make other
arrangements with me before the exam is given. I expect that all assignments, papers
and exams to represent individual effort. While the amount of time required of the student
to successfully complete this course varies from student to student plan on spending
at least 8-10 hours per week outside of class.
Course Format
We will meet twice a week, Wednesday and Friday, for lecture and on Monday for a closed
lab. Lab activities will be varied and include, but not limited to, homework
discussion and review, group and individual projects, operating system code
reviews, linux installation and configuration, and computer based
exploration. I really encourage individual and class questions. We will be covering
a substantial amount of material each class so I strongly recommend that you read the
assigned chapters before the lecture. This preview of the material will help you focus on
those areas during the lecture that are not clear to you by asking specific questions. My
lecture notes are available and will be used to help deliver a substantial amount of
material in a short period of time and to relieve you from having to take lengthy
notes. This syllabus will be updated weekly to reflect departures from the
tentative schedule, as well as to post actual homework assignments. Therefore, I expect
that you will consult these WEB pages frequently (once a week). Solutions to all homework
problems will be given. If you have any questions after reviewing these solutions please
ask them.
Grade Determination:
All exams are in class and closed book however one page (8.5 x 11) of notes is allowed.
Your final grade will be determined from the weighted average as
described above. The average weighted average will be a B/B+ and I will then assign letter
grades working up and down from the average.
CS 345 Course Calendar Spring 1998
Week | Topics | Assignment | |
1 1/12 |
M,W - Course Introduction Introduction to Operating Systems Computer System Structures F - no class snow day |
Read Chapters 1-2 | |
2 1/19 |
M - No Class Holiday W - Computer System Structures con't F - Operating Systems Structures - Processes |
Read Chapters 2,3 Assignment 1 - Chapters 1 and 2 |
|
3 1/26 |
M - Lab - WEB Exploration and Linux Online Course W, F - Processes con't |
Read Chapter 4 Lab 1 |
|
4 2/2 |
M, W - Lab - uCOS F - CPU Scheduling |
Read Chapter 5 Lab Handout - uCOS Assignment 2 - Chapter 4 Probs |
|
5 2/9 |
M - Lab - uCOS W - CPU Scheduling F - Lab Discussion and CPU Scheduling |
Read Chapters 5 Assignment 3 - Chapter 5 Probs Lab - uCOS 1 |
|
6 2/16 |
M - No Class Holiday W - Review F - Lab - uCos |
uCOS Listings Lab - uCOS 2 |
|
7 2/23 |
M - Exam Chapters 1-5 W, F - Process Synchronization; |
Read Chapter 6 - 6.1-6.3, 6.4 thru p170, 6.5 thru p174, 6.6 thru middle of p180, 6.7 to 1st para p180 | |
8 3/2 |
M, W - Process Synchronization F - No Class (makeup was 2/27) |
Read Linux Handout
|
|
9 3/9 |
Spring Break No Classes |
|
|
10 3/16 |
M - Lab Linux Demo W, F - Memory Management |
Read Chapters 8 - 8.1-8.1.1, 8.2-8.5.2.2, 8.5.5, 8.6 Assignment 4 - Chapter 6 Probs |
|
11 3/23 |
M - Lab Linux Installation W - Memory Management F - Virtual Memory |
Read Chapter 9 - 9.1-9.5.4 to top p310, 9.6-9.9 Assignment
5 - Chapter 8 Probs Lab - Linux 1 |
|
12 3/30 |
M - Lab Linux Administration W, F - Virtual Memory |
Read Chapter 10 Assignment 6 - Chapter 9 Probs Lab - Linux 2 |
|
13 4/6 |
M, W - File System Interface F - Lab Linux Administration |
Read Chapter 10 Assignment 7 - Chapters 10 Probs |
|
14 4/13 |
M - Review W - Exam 2 Chapters 6,8,9 F (double class) - File Systems Interface (UNIX) F - Lab (second half of class) |
Read Unix Handout Lab - Linux 3
|
|
15 4/20 |
M - No Class Holiday W - File System Implementation F - No Class (makeup 4/13) |
Read Chapter 11 |
|
16 4/27 |
M, W - File System Implemenation F - No Class (see 5/4) M - Optional Question Answering Session |
Read FAT File System Handout
|
|
17 5/6-5/12 |
Final Exam May 6th 1-4pm |
||
Week | Topics | Assignment |