Operating Systems Exam Review and Course Overview

exam review n.w
1 / 18
Embed
Share

"Get ready for your operating systems exam with a focus on new and old content, covering topics like UNIX/Linux, C programming, processes and threads, synchronization, CPU scheduling, and more. Understand key concepts, write code, and solve problems effectively. Be prepared to excel in your exam and enhance your knowledge of operating systems. Explore this comprehensive review to boost your understanding and performance in the class."

  • Operating Systems
  • Exam Review
  • UNIX/Linux
  • Processes and Threads
  • CPU Scheduling

Uploaded on | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. Exam Review cs550 Operating Systems

  2. Preliminary Information Exam will focus on new content, but old content is still fair game. Exam format will be the same and of similar length to the previous exams. Remember, if you score better on this exam than you did on one of the previous exams, the final exam score will replace the worse of those two scores. We have built upon much of our old content in getting to the new content.

  3. Overview Topics covered in this class included: UNIX/Linux command line tools C programming MPI and POSIX (pthreads) Threads Libraries for C Processes and Threads Synchronization Deadlock Scheduling File Systems Memory Management Cache and Cache Coherency IO Systems Protection and Security (briefly)

  4. Processes and Threads Understand and be able to describe the Ready, Run and Blocked States. Understand the definitions of processes and threads and how they may be represented programmatically (pthreads and MPI). Be able to write programs that make use of threads and processes. Be able to describe and recognize synchronization errors such as race conditions and fix them.

  5. Synchronization Be able to understand, describe, and use synchronization primitives. Semaphores Mutex Locks and Condition Variables Atomic Variables Be able to write and describe pseudocode for the following example of synchronization Readers/Writers Problem Producer-Consumer Problem

  6. Implementations of Processes and Threads Be able to write MPI code using the following primitives Rank (Process Id) Size (Number of processes) Blocking Send and Receive Non-Blocking Send and Receive Barriers Be able to write threaded code and make use of synchronization primitives Know how to create, join, and terminate threads Know how to make use of shared variables

  7. CPU Scheduling Know scheduling policies FCFS First Come First Served SJF Shortest Job First SRTN Shortest Remaining Time Next RR Round Robin Know that others exist too (Dynamic/RT scheduling) Know about CPU Bursts, Time Slices, and how the Scheduler works with the Ready and Run States

  8. Know parts of Scheduler Know parts of scheduler Dispatcher Context Switcher Enqueuer Know preemptive vs. non-preemptive Know Gantt charts and scheduling performance Know about multilevel queues and multiple processor scheduling

  9. Synchronization Concepts Mutual Exclusion Critical sections Race conditions Semaphores Mutex Locks and Condition Variables Interprocess communication Atomic Transaction and Monitors Implementations (Know pseudocode for these!) Producers Consumers with Semaphores Readers Writers with Semaphores

  10. Deadlock Know how to draw a resource allocation graph. Be sure to label multiple requests for the same resource on the exam. Know the conditions for deadlock Circular wait Hold and wait Mutual Exclusion No preemption Know the Dining Philosphers example of deadlock and at least one programmatic way to fix it by preventing deadlock.

  11. Handling Deadlock Prevention ensure Deadlock does not exist by removing one of the four conditions for deadlock. Avoidance Utilize the Banker's algorithm to ensure a safe state exists before allowing processes to proceed. Detect and Recover Allow deadlock to occur, but use a heuristic or algorithm to detect it, then if a deadlock has occurred, then use a graph algorithm to determine which processes are in a circular wait, and rollback to a safe state. Ignore Deadlock Ignore deadlock and require the user or system administrator to either kill off processes or reset the system.

  12. File Systems and Management Know the definition of a file and a directory and understand file permissions Understand file I/O primitives - read, write, open, close Understand file file pointers and the use of standard in/out Fragmentation and free space management Understand the difference between various types of file systems FAT/FAT32 (Non-journaling) NTFS (Journaling, Windows-based) Ext4 (Journaling, Linux-based) Lustre a parallel file system for linux that makes use of metadata storage, object storage servers, and object storage targets Understand file system mounting and unmounting Understand the importance of DMA (Direct Memory Access)

  13. Disk Drives and Management Disk drive parts Platter, arm, spindle, head, tracks, sectors, blocks Disk I/O Scheduling FCFS Shortest Seek Time First (SSTF) Elevator (SCAN) Circular Scan

  14. Cache Understand the importance of cache Understand Cache-Coherent Non-Uniform Memory Access Understand cache coherence methodologies Snooping Snarfing Understand the importance of cache misses with respect to paging and thrashing

  15. Memory Management Partitions Contiguous vs Non-contiguous allocation Frames Pages Segments Fragmentation Process address space Swapping memory Virtual Memory Understand the Translation Lookaside Buffer

  16. Paged Memory Paging policy Fetch Demand Prepaging Replacement Policies LRU FIFO Optimal

  17. I/O Systems I/O Hardware and Buses (e.g. PCI and Daisy Chaining) I/O Ports, Polling, and Algorithm for Data Transfer Interrupts and Interrupt Requests Direct Memory Access Blocking and Non-blocking I/O Asycnhronous System Calls Spooling Kernel Data Structures Know the definition of an iNode (See I/O Systems notes)

  18. Security and Protection (Chpt 14) Know that protection is an internal OS problem and that there are various mechanisms and policies for OS protection Read about the principle of least privilege in Chpt 14 Domains know that these consist of both hardware and software objects Know the definition and parts of the Access Matrix Global table Access Lists Capability Lists Read about access control

Related


More Related Content