CS430 – Operating Systems 07/06/2006 – 08/27/2006 – Fort Collins Facilitator Information

advertisement
CS430 – Operating Systems
07/06/2006 – 08/27/2006 – Fort Collins
6:00pm - 10:00pm Thursdays - Cluster
Facilitator Information
Alan Rossi
home phone: 303-452-2957
email: arossi@regis.edu
work phone: 303-430-2063
web site: http://academic.regis.edu/arossi
Course Description
Studies the organization and operation of computer systems. Includes batch processing, inter-active processing,
multiprogramming systems, storage management, data sharing in main storage, resource control, file systems and processor
scheduling.
Course Outcomes
Each Student is expected to achieve the following outcomes:
 Successful completion of written report
 Successful completion of oral presentation
 Successful completion of homework assignments
 Full and Complete participation in class discussions and exercises
 Successful completion of exams
Course Prerequisites
CS341 - Data Structures
Course Materials
Silberschatz, A. and Galvin, P. Operating System Concepts (6th ed.). Wiley & Sons; ISBN: 0-471-25060-0.
First Night Assignment
Read Chapters 1 & 2 in the text. Be Prepared to ASK QUESTIONS on unclear areas in the reading.
Grading Standards and Course Work Specifications
Each weekly discussion question response shall be a minimum of one page per Topic. These discussion question
answers are to be specific to the OS you have chosen for your project. Your papers should be written at the level of
one techie to another. You should assume that your audience has a thorough understanding of the topics we are
learning in this course.
Grading Scale
A = 93% - 100%
B+ = 88% - 89%
C+ = 78% - 79%
D+ = 68% - 69%
F = Below 60%
A- = 90% - 92%
B = 83% - 87%
C = 73% - 77%
D = 63% - 67%
Grading Valuation
Participation
Weekly essays
Final essay
Presentation
Exams
5%
20%
20%
15%
40%
B- = 80% - 82%
C- = 70% - 72%
D- = 60% - 62%
Academic Dishonesty
Regis University is committed to intellectual integrity in its academic pursuits. Sanctions may, therefore, be
imposed by the School for Professional Studies Undergraduate faculty, departments, or programs for cheating
(defined as using inappropriate sources of information on a test) or plagiarism (defined as presenting as one’s own,
the ideas, words, or products of another). Such sanctions may include a failing grade on the assignment, failure of
the course, or expulsion of the student from the course or the department.
Attendance/Participation
The expectation is for students to attend all class sessions. Because of the accelerated nature of the course work in
the School for Professional Studies, missing any class may have a negative impact on the student’s learning and
course performance. Any student who misses the first class must contact the facilitator/instructor or the Faculty and
Curriculum Department either prior to the first class session or as close to the first class session as possible. If a
student fails to do so, he/she will automatically be dropped from the course. A student who has not attended the first
class session may be admitted to the course only with facilitator/instructor permission.
Make up work may be required if the student misses a class. This work is arranged, in advance if possible, between
the facilitator/instructor and the student. The student is responsible for contacting the facilitator for the additional
assignments(s).
Incomplete Grade
A grade of Incomplete or ‘I” denotes that the required work for the course is incomplete due to unforeseen
circumstances. Unforeseen circumstances mean, for example, that an accident, an illness, a death, or a major life
transition has occurred. This grade is awarded at the discretion of the instructor and is submitted with an alternate
grade of “I/F.”
A student must submit a written request to the instructor asking that an incomplete grade be assigned prior to the end
of the term in which the course is taken. The course instructor will determine the length of time for course
completion, and the remaining requirements to complete the course; however the maximum time for completion is
the end of the following semester. Faculty will notify students in writing of the approval/denial of their request and
provide instructions and guidelines required to resolve the incomplete grade. If the course work is not completed by
the end of the next applicable semester and a grade change form submitted by the instructor, the incomplete grade
reverts to the alternate grade assigned by the instructor and is calculated in the grade point average.
Learning Topics
Learning Topic #1:
Learning Topic #2:
Learning Topic #3:
Learning Topic #4:
Learning Topic #5:
Learning Topic #6:
Learning Topic #7:
Learning Topic #8:
Learning Topic #9:
Learning Topic #10:
Learning Topic #11:
Learning Topic #12:
Learning Topic #13:
Learning Topic #14:
Learning Topic #15:
Learning Topic #16:
Learning Topic #17:
Operating Systems Overview
Operating System Components and Services
Process Concepts
Job Process Scheduling
Concurrent Process Synchronization
Process Deadlocks
Memory Organization and Management
Virtual Memory Management
File System Interface
File System Implementation
I/O Subsystems
Secondary Storage Organization & Management
Tertiary Storage Devices
Protection Concepts
Operation System Security
Networks
Distributed Systems
Course Assignments
Assignments to Be Completed For 7/20/2006
Topic: Operating Systems Overview

Question 1: Discuss the differences between multitasking, multiprogramming, and timesharing.
Topic: Operating System Components and Services

Question 2: Discuss the interrupt architecture and Direct Memory Access (DMA). Explain how these
techniques work.

Question 3: In any high level programming language, the program statements are System Calls. Indicate
whether this statement is true or false. Provide a rationale for your answer.
Topic: Process Concepts

Question 4: Although it is important for a process to be able to spawn a new process, it can also be
dangerous. Consider the consequences of allowing a user to run the following:
do (forever)
spawn a new process just like me;
If a system allowed such a process to run, what would the consequences be? How could an operating
system designer safeguard against such processes?
Assignments to Be Completed For 7/20/2006
Topic: Job & Processor Scheduling


Question 1a: · Which of the following basic CPU scheduling algorithms do you think is best? Support your
answer.
o First-Come, First-Served
o Shortest-Job-First; Priority
o Round-Robin
o Multilevel Queue
o Multilevel Feedback Queue
Question 1b: Describe the effects of each of the following methods of assigning a quantum time:
o Quantum fixed and identical for all users
o Quantum variable and identical for all users at any one time
o Quantum fixed and unique to each user
o Quantum variable and unique to each user
Topic: Concurrent Process Synchronization


Question 2a: Explain why spinlocks are not appropriate for single-processor systems yet are often used in
multiprocessor systems.
Question 2b: Explain why interrupts are not appropriate for implementing synchronization primitives in
multiprocessor systems.
Assignments to Be Completed For 08/03/2006
Topic: Process Deadlocks

Question 1: Discuss why the system will be in a deadlock state if the following conditions exist at the same
time:
o Mutual exclusion
o Hold and wait
o No preemption
o Circular wait
Also, give a brief intuitive argument for the reason why each individual condition is necessary.
Topic: Real Memory Organization and Management

Question 2: Discuss the different dynamic storage allocation algorithms, First-fit, Best-fit, and Worst-fit.
What are the pros and cons of each algorithm? Which algorithm is the best? Support your argument.
Topic: Managing Virtual Memory



Question 3a: As the designer of a new virtual memory system, you have been given the choice of
implementing paging or segmentation, but not both. Which would you choose, and why?
Question 3b: Discuss why a programmer who writes programs specifically to exhibit good locality can
expect a marked improvement in the execution efficiency of the programs. Which high-level language
features should be emphasized and which should be avoided?
Question 3c: Summarize the arguments for and against both of the following:
a. small page sizes
b. large page sizes
Assignments to Be Completed For 08/03/2006
Topic: File System Interface

Question 1: Discuss the motivations for structuring file systems hierarchically.
Topic: File System Implementation

Question 2: Discuss file allocation implementation and its impact on performance.
Assignments to Be Completed For 08/17/2006
Topic: I/O Subsystems

Question 1: · Discuss circumstances in which blocking I/O should be used, and circumstances in which
nonblocking I/O should be used.
Topic: Secondary Storage Organization and Management

Question 2: In what sense is SCAN fairer than SSTF? C-SCAN fairer than SCAN? Elaborate.
Topic: Tertiary Storage Devices

Question 3: Discuss the types of tertiary storage used in your workplaces, and your experiences with them.
Assignments to Be Completed For 08/17/2006
Topic: Protection Concepts


Question 1a: Discuss the strength and weaknesses of implementing an access matrix using access lists that
are associated with objects.
Question 1b: Discuss the strength and weaknesses of implementing an access matrix using capabilities
that are associated with domains.
Topic: Operating System Security

Question 2: Discuss a means by which managers of systems connected to the Internet could have designed
their systems to limit or eliminate the damage done by a worm. What are the drawbacks of making the
change that you suggest.
Assignments to Be Completed For 08/24/2006
Topic: Networks

Question 1: What are the advantages of using dedicated hardware devices for routers and gateways?
What are the disadvantages of using these devices compared with using general-purpose computers?
Topic: Distributed Systems

Question 2: Briefly discuss the different algorithms for implementing mutual exclusion in a distributed
environment. From your point of view, which algorithm is best? Support your argument.
Report and Oral Assignment
This project requires a written report and an oral presentation. Prepare an analysis of a mini-, or mainframe operating
system. A microcomputer operating system is not acceptable. Some possible operating systems are (or you may choose
your own):
z/OS (aka MVS or OS/390), UNIX, LINUX, SOLARIS, IRIX, etc.
The analysis is to be presented during the last workshop, both orally to the class and in written format. The written
analysis is expected to be at least 18 - 24 pages, NOT including supporting illustrations. Both oral and written forms of the
analysis will be graded. The oral presentation is to include graphic illustrations of the organization and key elements or
components of the operating system, plus a 1 or 2 page summary handout. The following topics are required for inclusion
in your analysis:
- Design principles underlying the operating system (batch, online, etc.).
- Major elements of process management (process status, process control, synchronization, etc.)
- Methods for inter-process communication (shared memory or message systems, direct or indirect, one or two way, e.g.
mailboxes, popes or ports). Any networking capabilities may also be discussed here or in an additional topic category.
- Major elements of memory management (overlays, partitions, multi-programming, virtual memory, etc.).
- Major elements of scheduling (algorithms used, deadlock handling, potential starvation problems, etc.).
- Major elements of file system handling (access methods, directory systems, file protection, etc.).
- Methods for handling I/O functions.
- Major elements of the programming interface (Job Control Language, what the programmer needs to know to use the
system, etc.).
- Advantages and disadvantages of this operating system (in which environments would this operating system work best).
All selections require facilitator approval to avoid duplication. All approvals will be on a first-come, first-served basis.
The oral presentation must be at least 5 minutes in length. You will have visual aids that are large enough to be read from
the back of the room and know your topic well enough to present it rather than read it.
Late Assignments/Assignment Revisions
Late projects or homework assignments will receive a 15% penalty and will not be accepted more than one week late.
Course Calendar
Due to this course being a cluster, we will meet only 5 times. Students are still responsible for ALL material.
Date
07/06/2006
07/20/2006
08/03/2006
08/17/2006
08/24/2006
Topics
Introduction, OS Structures, Processes, Threads
CPU Scheduling, Process Synchronization
Deadlocks, Main Memory, Virtual Memory
File-System Interface & Implementation
Mass-Storage Structure, I/O Systems
Midterm Exam covering chapters 1 – 9
Protection, Security
Distributed System Stucts., File Sys., Coordination
Project Presentations and Reports Due
Final Exam covering chapters 10 - 18
Reading
Chap. 1 – 4
Chap. 5 – 9
Activities
Wayne Cook - Substitue
Chap. 10 – 13
Midterm exam
Chap. 14 – 18
Final exam
Download