SI411 Operating Systems

Fall AY07

Final Exam Objectives

Final Exam: Time: 0755, Tuesday, 12 December 2006, Location: MI300

·        Please muster in with your section leader prior to the start time for the exam.

·        As per the course policy, only non-programmable calculators may be used on the exam.

·        The exam is cumulative, and covers chapters 1,2,3,4, 5, 6, 7, 8, and 9 of the Silberschatz text, and chapters 2, 15, and 16 of the Deitel text.

·    The following exam objectives are intended to aid you in your preparations for the course's examinations.  However, the following are not considered to be inclusive of all the testable material from this course.  All assigned reading material, supplemental handouts, class lectures, class discussions, homework, labs, programming projects, and in-class problem-solving sessions are considered testable material.

 

=================  6 Week Exam Objectives  =================

Introduction to operating systems

Computer system operation

 

OS Structures

 Processes

 Threads

 

CPU Scheduling

 

 

Java Programming Language Issues

 

 

 =================  12 Week Exam Objectives  =================

 

(In addition to the 6 week Objectives given above)

Process synchronization

 

 

 

 Deadlock

·        Be able to define deadlock

·        Understand the role of resource allocation in deadlock

·        Understand the role of resource allocation graphs in determining if a system is in deadlock

·        Describe the significance of a cycle in a resource allocation graph

·        Given a resource allocation graph, determine whether or not a cycle exists

·        Given a resource allocation graph, determine whether or not deadlock exists

·        Be able to distinguish between shareable, consumable and serially reusable resources

·        Understand the effect on deadlock if a resource is preemptive

·        Understand the effect on deadlock if a resource is non-preemptive

·        Be able to characterize a resource as preemptive or non-preemptive

·        Understand the conditions that must hold for deadlock to occur

·        Be able to describe the various mechanisms through which an operating system can deal with the issue of deadlock.

·        Understand the role of Dijkstra's "Banker's Algorithm" with regard to deadlock

·        Describe the meaning of "safety" in terms of the Bankers algorithm

·        Be able to determine whether a system's allocation of resources is "safe"

·        Be capable of determining whether a process's request for a resource should be granted with respect to the banker's algorithm.

 

 

Java Programming Language Issues (12 week)

 

=================  Final Exam Objectives  =================

(In addition to the 6 and 12 week objectives given above)

Main Memory Management

·        Understand the significance of the degree of multiprogramming in terms of the performance of the operating system

·        Understand contiguous vs. non-contiguous memory

·        Understand the role of memory partitions

·        Be able to allocate memory using the first-fit approach

·        Be able to allocate memory using the best-fit approach

·        Be able to allocate memory using the worst-fit approach

·        Be capable of determining the best case in terms of CPU utilization based on the degree of multiprogramming and the percentage of time processes are blocked.

·        Be capable of determining the worst case in terms of CPU utilization based on the degree of multiprogramming and the percentage of time processes are blocked.

·        Be capable of determining the expected case in terms of CPU utilization based on the degree of multiprogramming and the percentage of time processes are blocked.

·        Understand the significance of relocatable code in terms of memory management

·        Understand the role of the memory management unit in terms of memory management

·        Understand the significance of swapping in terms of memory management

·        Be able to compare and contrast the various approaches to dynamic allocation of memory

·        Understand internal fragmentation

·        Understand external fragmentation

·        Understand the memory fragmentation that may occur in both contiguous and non-contiguous memory

·        Understand Paging

·        Understand Segmentation

·        Be capable of tracing a memory reference using page tables

·        Understand the rational for including associative registers in a memory management scenario

·        Be capable of tracing a memory reference using page tables in combination with associative registers

·        Understand effective access time

·        Be capable of computing the effective access time to an instruction in main memory