1 / 22

Exam Review

This exam review covers operating system concepts, history, concurrency, scheduling, threads, and synchronization. Questions include multiple choice, short answer, and problem solving.

deborahrose
Download Presentation

Exam Review

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Exam Review Sarah Diesburg Operating Systems CS 3430

  2. Coverage • Total: ~60 points; 1 min / point (12.5% of grade) • Based on lectures 1-13, homeworks 1-3, project 1 • Multiple choice, short answer, and problem solving questions

  3. Introduction and History • Definitions • Operating system • Job • Batch system • Timesharing

  4. Introduction and History • Definitions • Multiprocessing • Multithreading • Multitasking • Multiprogramming • Uniprogramming

  5. Introduction and History • Short answers • Four phases of OS history • OS design goals

  6. Concurrency: Threads, Address Spaces, and Processes • Definitions • Thread • Address space • Process • Context switch

  7. Concurrency: Threads, Address Spaces, and Processes • Short answers • Benefits of concurrency • Thread vs. process • Dispatching loop • Thread state diagram

  8. Genesis: From Raw Hardware to Processes • Definitions • Master boot record • System call • User mode • Kernel mode • Trap instruction

  9. Genesis: From Raw Hardware to Processes • Short answers • Booting sequence • System call sequence • Process creation • init process

  10. CPU Scheduling • Definitions • Starvation

  11. CPU Scheduling • Short answers • Preemptive vs. nonpreemptive scheduling • FIFO • RR • SJN • SRTF • Multilevel feedback queues • Lottery scheduling

  12. Cooperating Threads • Definitions • Atomic operation • Race condition

  13. Cooperating Threads • Short answers • Independent threads • Cooperating threads • Decision tree

  14. Synchronization • Definitions • Mutual exclusion • Critical section

  15. Synchronization • Short answers • Code verification (e.g. how to test a locking solution)

  16. Implementing Mutual Exclusion • Definitions • Busy waiting

  17. Implementing Mutual Exclusion • Short answers • Ways to implement locks • Interrupt disables • test_and_set operation • Atomic memory load and store • Wait queues

  18. Semaphores and Bounded Buffer • Definitions • Semaphore

  19. Semaphores and Bounded Buffer • Short answers • Semaphores vs. integers • Two uses of semaphores • P() and V() functions

  20. More on Semaphores • Definitions • Safety • Liveness • Fairness

  21. More on Semaphores • Short answers • Code verification

  22. Project 1 • Be able to answer questions about the code • Be able to write pseudocode to fork(), execute(), and waitpid() • You don’t need to remember all the arguments to the system calls – just remember what system calls you used

More Related