Final Exam, Preliminary Terms and Concepts The focus of this exam will be from chapter 4 and onwards, with the majority of exam questions coming from the material covered since the midterm. Chapter 1: entire chapter: all sections. What is an operating system. What are the primary responsibilities of an OS.: supporting convenient use and controlling sharing of resources, Primary functions of an OS: User interface, process management, job and session management, device management, time management, memory management, file management, error handling, reliability and security, monitoring and accounting, system management. Review Questions to consider: 1 – 5, Assignment #3 Chapter 2: History of Operating systems: Terms: Process management Process scheduling Punched cards Batch processing systems interactive computing Multi-tasking (timesharing) interleaved execution multiprogramming device management interrupts resident monitor/loader JCL batch serial operation batch multiprogramming time quantum/time slicing device driver command line interface Concepts: all sections. You should understand the major types of operating systems, how operating systems evolved, why they evolved, features of the different CATAGORIES of operating systems. How did punched cards, magnetic tapes, JCL, magnetic disks, and professional operators revolutionize computing, and how did they help lead to the evolution of operating systems. Know the importance of the “resident loader” (resident monitor). Understand the concepts of multiprogramming, spooling, and multitasking. What is meant by BATCH computing? What is a batch operating system. Questions to consider: 1-7, Assignment questions: 3, Instructors Notes: Lecture notes from instructor with information from additional sources. Chapter 4: process management: Terms: Sequential process Thread Context Batch processes Preemption Job concurrent sequential processes process control block (PCB) processor state context switching interactive processes real-time processes fork ready queue SCHEDULING scheduler Concepts: entire chapter!!! - very important chapter-- You must understand what is a process, and what are the different types of processes and what are their characteristics. It is important to understand what it means to execute processes in an interleaved fashion. What is the role of the PCB? What is the context of a process? Understand what is a process state. What are the different process states? What causes a transition from one state to another.. focus on diagram 4-4. Be able to draw a state chart and explain it!!! Be able to discuss the various operations that can be performed on processes, and what they involve (especially creation and termination). Questions to consider: 1 - 10 Instructors Notes: Lecture notes from instructor with information from additional sources. Chapter 5 – process scheduling Terms Long term scheduling short term scheduling medium term scheduling Active set swapping dispatcher Process states waiting time response time Preemption FIFO scheduling Dynamic priority scheduling Preemptive scheduling shortest remaining time next Time quantum processor time quantum storage time quantum Round robin scheduling aging feedback queues CPU bound processes I/O bound processes selfish scheduling Active set dispatcher priorities Static priority algorithms dynamic priority algorithms starvation Concepts: Process scheduling: !!!! entire chapter, very important!!!!! --- Know the 3 types of scheduling that can be performed and what each type of scheduling accomplishes. (longterm, short-term, medium-term), know the types of scheduling which must occur in the 3 major types of operating systems (real-time, batch, and interactive). Know the scheduling objectives that are often used in the evaluation of scheduling algorithms. Why is calculating the average waiting time important in assessing an algorithm. Understand the concept of aging!!! Understand what it means for a process to be CPU bound .vs. I/O bound. BE ABLE TO EXPLAIN, EACH OF THE FOLLOWING SCHEDULING ALGORITHMS. Also be able to estimate the average waiting time for a set of processes.. FIFO, shortest job next, shortest time remaining next, round robin (fifo), priority round robin, feed back queues, selfish scheduling, fair-share scheduling Questions to review in your text book: 1,2, 3, 4, 7, 8 & 9 Instructors Notes: 1. Notes on Process scheduling: Additional information and terms have been added from other sources . This source adds additional information on I/o vs cpu bound processes, as well as additional objectives of scheduling algorithms 2. Notes on scheduling algorithms: Additional information and terms have been added from other sources This contains additional details about the various scheduling algorithms, and gives examples of calculating the average waiting time of processes. Chapter 6 – Interrupts Terms: Interrupt Interrupt handler Interrupt Vector Concepts: 1. KNOW THE ISSUES INVOLVED IN HANDLING INTERRUPTS: 1. SAVING THE STATE 2. LINKING TO THE INTERRUPT 3. HANDLING PARAMETERS 4. RESOURCE USE AND PROCEDURE CALLS 5. HANDLING OTHER INTERRUPTS 2. Understand how interrupts affect the flow of control within a program 3. Know the different categories of interrupts: i/O, alert, timer, machine faults, system request interrupts, program fault interrupts. Questions to review: Review: 1- 3 Assignment #5 Instructors notes / slides: Power point slides on Interrupts. Chapter 7 – Memory management Terms: Memory Management Allocation Relocation Protection Static Allocation Dynamic Allocation Static memory Area Definition Dynamic memory area definition Fixed partitions Regions Fragmentation Statically defined partitions Dynamically defined regions Memory control block Boundary tag method First Fit Best fit Next fit Worst fit buddy system Relocation dictionary Based Addressing Fence address Bounds registers Protection keys Swapping Overlays Compaction Concepts: 1. Understand the three main issues involving memory management: Allocation, Relocation, and protection. 2. Understand STATIC vs DYNAMIC ALLOCATION of memory 3. understand static memory area definition and dynamic memory area definition 4. Under static allocation techniques: understand statically defined partitions and dynamically defined regions 5. Under dynamic allocation techniques: boundary tag method, first_fit, next_fit, best_fit, worst_fit 6. For protection strategies understand: fence addresses, bounds registers, etc Questions to Review: 1, 2, 4 - 11 Instructors notes and slides: Power point slides on memory Management Chapter 8 – time management Terms: Clock programmable clocks hardware clocks Clock drivers time-of-day services timer queues Understand the various types of timing services – beginning on page 9 in chapter 8 Concepts: 1. 2. 3. 4. Understand the different types of clocks Understand some of the basic issues with respect to time of day services Timer queues!!! and their use in managing program timing needs Be able to list various types of time related services that a system might be required to provide, from the end of the chapter. Questions to Review: 1-5 Instructors notes and slides: There are both lecture notes and power point slides on time management Chapter 9 – I/O Devices: (chapters 9 and 10 are merged in my lecture notes) Terms: Device Drivers Blocking Character devices I/O controller Block devices Concepts: 1. Understand the differences between character devices and block devices. 2. Role of a device driver in performing I/O Chapter 10 – Device Management Terms: Device Registers I/O Control Block Polling Interrupts Event flag Buffer Management Double Buffering Disk/Software Caching I/O Queues Synchronous communications Asynchronous communications Concepts: 1. Understand the device driver components and responsibilities in diagram10-22 2. On page 5, understand the programming strategies: programmed I/O and block transfer! 3. Understand what happens during polling 4. Contrast using Interrupt drive I/O vs polling to service I/O requests. 5. Understand how buffering and double buffering can improve I/O performance 6. Understand how software/disk caching can improve I/O performance, and the drawbacks to this technique 7. Be able to discuss issues with managing I/O request queues in a multiprogramming environment Questions to Review: Review: 1, 2, 3, 4 Assignment #5 Instructors notes and slides: Power point slides, and lecture notes Chapter 12 – File management Terms: File system file manager file descriptor Volume logical volume physical volume Volume descriptor allocation table system area Simple contiguous organization contiguous organization with extents Free chain blocked organizations blocked chained organization File allocation table blocked indexed organization File attributes simple/single directories user directories Hierarchical directories buffers file control blocks Concepts 1. Understand the basic file operations discussed in my lecture. (these are called primitive file operations in Dr. Mooney’s text) 2. Understand the purpose of a volume descriptor. 3. Understand how different areas are sometimes laid out on a volume: Volume descriptor, system area, allocation table, directory area, and file area 4. UNDERSTAND THE DIFFERENT FILE STORAGE ORGANIZATIONS, AND ISSUES RELATED TO INFORMATION RETAINED IN FILE DESCRIPTORS FOR EACH. (contiguous, contiguous with extents, blocked chained, blocked indexed) Questions to Review: 1 – 5, 7, 9, 10 Instructors notes and slides: Instructor notes and slides Chapter 13 – Virtual Memory Terms: memory translation translation table segment page frame internal fragmentation associative memory Principle of locality page referenced bit virtual memory system block descriptor mapping register page table external fragmentation page present flag demand fetching least recently used strategy physical address virtual address access control field paging page descriptors paging cache segmentation page fault clustering dirty bit page page table register Translation lookaside buffer thrashing prepaging global replacement strategy local replacement strategy Concepts: Understand the generalized translation scheme presented at the beginning of the chapter Understand how protection can be incorporated into this generalized scheme Understand the concept of segments, how it can be used with a virtual memory system Understand the concept of paging in general understand how paging is use to support a virtual memory system How does paging help to reduce/eliminate internal and external fragmentation How does the use of a paging cache help to decrease the # of memory accesses in a paging environment what are the steps that need to be take to translate a virtual address to a physical address in a virtual memory system what is a page fault, and what is thrashing What are the 3 principal problems involved in supporting a virtual memory system What issues are involved with fetching a page from secondary storage, or selecting a page for replacement Questions to Review: Review questions: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 & 12 Instructors notes and slides: Power point presentation Depending on the extent of lecture, the material for chapter 13 may only be lightly covered.