5:15-6:25 pm MW Room: E 200
PREREQUISITES. CSC 172
INSTRUCTOR. Dr. M. S. Skaff Office: E204 Telephone: 993-3376
WEB SITE. http://skaffms.faculty.udmercy.edu/index.html
OFFICE HOURS. 11:00-12:00 am MWF, 2:00-3:00 pm MW, and anytime my office door is open or by appointment.
TEXTBOOK. Operating Systems: Internals and Design Principles by William Stallings, 6th Edition, Person-Prentice Hall, 2009, ISBN: 978-0-13-600632-9
COURSE DESCRIPTION. This course presents the concepts, structure, and mechanisms of operating systems. Its purpose is to present the nature and characteristics of modern operating systems.
This task is very challenging for several reasons (as stated by the author of the textbook). First, there is a wide range and variety of computer systems for which operating systems are designed. These include single-user workstations and personal computers, medium-sized shared systems, large mainframe and supercomputers, and specialized machines such as real-time systems. The variety involves capacity, speed, applications, and system support requirements. Second, computers are changing very rapidly as well as their operating systems.
Despite the rapid change and advancement in computers and their operating systems, there are fundamentals that remain the same. The objective in this course is to present these fundamentals of operating system design and to relate these to contemporary design issues and to current directions in the development of operating systems. These fundamentals will be developed by using both animation and simulation projects.
COURSE OBJECTIVES. Students will:
1. Learn an overview of computer architecture and organization, with emphasize on topics that relate to operating system design.
2. Understand processes, multithreading, symmetric multiprocessing (SMP), and microkernels and study key aspects of concurrency on a single system, with emphasis on the issues of exclusion and deadlock.
3. Understand techniques of memory management, including virtual memory.
4. Learn various approaches to process scheduling, thread scheduling, SMP scheduling, and real-time scheduling.
5. Understand the issues involved in Operating System control of the I/O function. In particular, emphasis on disk I/O and its relationship to system performance is studied as well as file management.
6. Learn about Embedded systems, Security, and distributed systems.
operating systems using running examples:
CSC 449-564-01 Term II 2008-09 OPERATING SYSTEMS p.2
COURSE OUTCOMES. After taking this course, a student should be able to know:
1. What is an operating system and how it is designed?
2. What is a process and its role on OS?
3. Understand the concepts of threads, SMP, and microkernels.
4. Understand the principles of concurrency, mutual exclusion, and synchronization as well as the ideas of deadlocks and starvation
5. The role that memory management and virtual memory play in OS.
6. How an OS uses and defines scheduling algorithms.
7. How I/O management and disk scheduling are used in an OS.
8. How File Management is implemented in an OS.
9. What are embedded and distributed systems and how security is implemented in an OS.
EXAMINATIONS. There will not be any in-class exams. In place of these exams, students will be submitting assigned homework based upon end-of-chapter exercises, completing questions based upon animated and simulation projects, and completing a group project assigned by the instructor.
GRADING: The course grade will be determined by the following percentages:
Homework Exercises from the textbook: 40%
Submitted solutions to Animation and Simulation Projects: 20%
Group Project Journal: 5%
Group Project: 25%
Attendance and Class Participation: 10%
The projects to be completed will be assigned by the instructor. Those students taking CSC 564 will be expected to turn in more homework and project assignments.
PROJECTS. Students will have three types of project to complete: animation, simulation, and programming. The animation and simulation projects involve running existing programs and answering questions. There are two (2) programming project: each is defined starting on page 157 and page 447. These two projects requires a knowledge of the C programming language as the student will be programming in the project.
HOMEWORK. The following exercises will be assigned as time permits.
p. 37-39 1.1-1.4, 1.5, 1.9, 1.10, 1.12, 1.13
p. 104 2.2-2.5
p. 154-156 3.1-3.3, 3.6-3.8, 3.11
p. 200-204 4.1, 4.2, 4.4, 4.5, 4.8, 4.10, 4.11, 4.13
p. 252-261 5.1, 5.3, 5.4a, 5.5, 5.6, 5.10, 5.14, 5.22, 5.23
p. 303-306 6.1, 6.2, 6.4, 6.5, 6.7, 6.11, 6.12
p. 336-338 7.1-7.3, 7.5, 7.6, 7.10, 7.12, 7.14
p. 397-400 8.1-8.3, 8.6-8.7, 8.10, 8.17
p. 435-438 9.1, 9.4, 9.6, 9.14, 9.15
p. 491-493 10.1, 10.3, 10.7
p. 538-539 11.1, 11.2, 11.3, 11.8
p. 599 12.1, 12.3, 12.4, 12.5
IMPORTANT FACTS. Last day to withdraw with no W – January 30, 2009
Last day to withdraw with a W - March 27, 2009
Spring Break – March 2 – 7, 2009
Final Exam Week: April 20-25, 2009
No Class- Jan 19, 2009
ACADEMIC INTEGRITY. Everything submitted for grading is expected to be student’s own work. Anything suspected as being otherwise the case will be dealt with according to the College policy.
REPORT OUTLINE REQUIREMENTS. The Group Project reports must follow the outline below:
1. TITLE PAGE. Center title of report to the page with your name and CSC 449-564 in the lower right hand corner.
2. SUMMARY FOR EXECUTIVE READER. A brief (less than one page) summary of the content and purpose of the report.
3. INTRODUCTION. Include background material and discuss the scope and limitations of your project.
4. PROJECT ANALYSIS or DISCUSSION. This section contains the principal information of the report including the methodology used. Be sure to fully describe any figures, tables or diagrams you include.
5. RESULTS /OUTPUT. This section documents any computer output that exists and results.
6. PROGRAM CODE.
8. REFERENCES. List any references that are utilized in the paper including textbooks, library books, or internet information.