Review Guide for Final Exam
General Information
The final exam is scheduled for Monday, December 17th from
3-4:50. There will be two portions of the
exam:
-
The first portion of the
exam is actually a take-home question that will be provided to you during
class on Friday, December 14th. This question will ask you to discuss
one or more of the research literature we discussed in class (the question
will be open ended enough that you will be able to select which paper(s) to
discuss). This question will represent 20% of your final exam score.
You may use any course materials or outside sources that you wish in
developing your answer, although all sources should be properly cited.
-
The second portion of the
exam will consist of a "standard" in class exam. This will consist of
several questions regarding topics from the Silberschatz and Galvin textbook.
Combined, they will represent 80% of your final exam score. The nature
of these questions will be very similar to those used on the previous two
exams. This portion of the exam is closed book. However, you will be allowed one 8 1/2"
x 11" sheet of paper filled with notes of your choosing. (You may write on both
the front and back side of the paper.)
Study Hints
- Go through the previous exams and homework questions. If I
considered it important enough to ask questions earlier, it is likely that I
still consider it important. It is VERY likely that at least
1/2 the questions I ask will be simple modifications of these questions (if
not out and out repeats).
- I know I said it on he last exam, but I mean it -- play the "second guess Dr. Schafer" game.
You know the type of questions I like to ask. Try to anticipate what
things I haven't asked you about yet that were still important enough that I
might try to work them in (in particular with vocab words).
- Remember that this is a final exam. This means that I am trying to
test your knowledge of the general concepts we discussed in the course.
You can safely ignore anything that asks for specifics of a given operating
system (eg how Solaris handles free frame lists). Instead, understand
what the point of a free frame list is and some of the general methods for
storing them.
Specific material from the chapters
These are basically the same lists I published for the two
midterm exams. However, I have eliminated chapters and sections which you
can safely ignore for the final.
Chapter 1
-
What is an OS? Goals of OS
Chapter
4
-
Types of processes: system, user
-
Process State Diagram (what are the states and how are they different from
each other?)
-
Process control block (what are the different "parts" of a process the OS
keeps track of?)
-
Process scheduling queues: short-term, medium-term, and long-term
-
(What is a/How does the OS perform a) context switch
Chapter 5
-
Threads -- what are they? How are they different from a process
-
Implementations: kernel-level, user-level.
Chapter 6
-
Terms:
CPU scheduling, I/O bound, CPU bound, (non)preemptive scheduling
-
Scheduling Algorithms: FCFS, Round Robin, SJF, multi-level scheduling queue,
multilevel feedback queues.
-
Algorithm evaluation criteria: turnaround time, waiting time, response time.
Chapter 7
- Terms: Process synchronization, race condition, mutual exclusion, entry, critical
section, exit, and
remainder sections
- Conditions necessary for mutual exclusion solution
- Classical synchronization problems: bounded-buffer, readers and writers,
dining-philosophers problem
Chapter 8. Deadlock
-
Terms: deadlock, (non-)preemptable resource, safe state
-
Necessary Conditions for deadlock
-
Strategies used for dealing with deadlock:
- Ignore the problem - "Ostrich algorithm"
- Detection and recovery
- Dynamically avoid deadlock by careful resource allocation
- Deadlock Prevention
-
Banker's Algorithm for Deadlock Avoidance - safe state, etc.
Chapter 9. Memory Management
- Terms: logical/physical address, internal/external fragmentation,
first/best/worst fit
- Paging:
- logical to physical address translation
- page-table entries
- TLB
- inverted page table
- shared pages
- Segmentation:
- logical to physical address translation
- sharing
Chapter 10. Virtual Memory
- Terms: demand paging, page fault, page fault trap, locality of reference,
thrashing
- Performance of Demand Paging - effective memory-access time
- frame-allocation algorithm
- page-replacement algorithms:
- FIFO (Belady's anomally)
- Optimal page replacement
- LRU
- Allocation Policies: local page replacement and global-page replacement
Chapter 11 - File-Systems
- Terms:: partitions, directory structure, files
- File Attributes: Symbolic Name, type, location, size, protection, time, date
of access and modification, user identification
- Implementation data structures: per-process tables and system-wide open-file
table
- Access Methods: Sequential Access, Direct Access, indexed
- Free-space Management:
- Free-space list implementations: Bit Vector, Linked List, Grouping, Counting
Chapter 12. I/O Systems
Goal: To make the I/O subsystem independent of the I/O hardware.
- Terms: Blocking I/O, Nonblocking I/O, Asynchronous I/O system calls.
- Ways to check on the progress of the I/O: polling, I/O multiplexing,
Signal-Driven I/O
Chapter 13. Mass-Storage Structure
- Disk Scheduling: FCFS, SSTF, SCAN, C-SCAN, LOOK, C-LOOK
- Swap-space management: swap-space use and location