
Operating Systems Organization Exam 1 Review and Core Concepts Overview
Prepare for the upcoming Operating Systems Organization exam with this comprehensive review covering core concepts such as system calls, program execution, linking, and kernel implementations. Study materials, recommendations, and key topics are provided to help you succeed in understanding operating systems in depth.
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
Exam 1 Review James Orr CSE 422S - Operating Systems Organization, Fall 2021 Washington University in St. Louis St. Louis, MO 63130 1
Exam 1 8-10 questions, which will test for comprehension, some key terms and details, and a bit of analysis Recommendations for study (in order of importance) 1. Start with LKD and LPI readings - Review PPT presentations at the same time that you do the readings 2. Review studios and lab for reinforcement Types of questions: True/False Multiple Choice Explain why ____ is false Open answer / code snippets You are allowed one8.5 by 11 page of notes (written or printed) with info on one or both sides of the page. Also bring pen/pencil/eraser/water bottle. No other materials besides those and the exam copy will be permitted at your desk. 80 minutes total, 8:30-9:50am on Mon October 18, 2021 Will distribute exams around 8:25am, will start promptly at 8:30am CSE 422S Operating Systems Organization 2
Core Concepts LKD Ch 1 Pg 4: Overview of Operating Systems and Kernels Figure 1.1: breakdown between user space and kernel space LKD Ch 2 Pg 16: A Beast of a Different Nature Understand differences between writing user code and writing kernel code (libraries, header files, etc.) CSE 422S Operating Systems Organization 3
Core Concepts (Program Execution, Linking, and Layout) Slides from Wed, Sep 8th Performance differences between static and dynamic linking Usage of Procedure Linkage Table (PLT) and Global Offset Table (GOT) for performing dynamic linking/loading CSE 422S Operating Systems Organization 4
Core Concepts LKD Ch 5 What are system calls for? What are some of the system calls we ve looked at in the studios? (fork, exec, strace, etc) What operations are done in order to invoke a system call? Why is implementing a new system call not always a great idea? CSE 422S Operating Systems Organization 5
Core Concepts LKD Ch 6 How does the kernel implement libraries Why is rolling your own data structures frowned upon? Be able to perform basic operations on a linked list (I will give you the linked list API if a question asks you to do this) LKD Ch 17 Kernel Module traits, characteristics, necessary functions, how to pass parameters CSE 422S Operating Systems Organization 6
Core Concepts LKD Ch 11 What does HZ represent? How does the kernel keep track of real time? How does the kernel manage timers? How does it know when a timer has expired? What happens when a thread invokes schedule()? Other timing concepts What are hrtimers useful for? Why can t the system clock (configured via HZ) be used to implement high resolution times (i.e., on the order of nanosecond resolution) CSE 422S Operating Systems Organization 7
Kernel Tracing/Debugging Kernel oops vs kernel panic printk/dmesg Trace-cmd/Kernelshark Strace/ftrace CSE 522S Advanced Operating Systems 8
Core Concepts LKD Ch 3 What are the data structures used to track processes? struct task_struct, struct thread_info What is the difference between task_struct and thread_info? What are the different states a process can be in?(Figure 3.3 on pg 28) What is meant by copy-on-write? How does it make it quicker to create new processes? How are kernel threads different from user threads/processes? CSE 422S Operating Systems Organization 9
Core Concepts (Synchronization) LKD Ch 9 Critical Regions and Race Conditions (pp. 162) Causes of Concurrency (pp. 167) Note the difference between true concurrency - i.e., parallelism and concurrency Deadlock (pp. 169) LKD Ch 10 Atomic hardware operations How to build a spinlock with atomic instructions When to use spinlocks vs. semaphores/mutexes (pp. 197) Test and set, compare and exchange, Read- Copy-Update (RCU) CSE 422S Operating Systems Organization 10
Example Question #1 Imagine you are implementing a new OS feature that communicates with user space. User programs request an action from the kernel, and the kernel returns some data. Consider two options for implementing this feature: syscall vs. kernel module. Give two advantages of implementing this by creating a new system call (4 points): Give two advantages of implementing this by creating a new kernel module that reads and writes files (4 points): If you use the kernel module approach, what must user programs do to pass requests to it after it has been loaded (2 points)? CSE 422S Operating Systems Organization 11
Example Question #2 User-space programs may be linked either statically or dynamically Describe the differences between static and dynamic linking. In your answer, consider the following metrics: size of the resulting binaries, speed of linking, speed loading into memory (4 points) Was this process statically or dynamically linked, and how can you tell? (4 points) CSE 422S Operating Systems Organization 12
Example Question #3 In the blank next to each term below, please write the letter for the text that best matches it and that it best matches (4 points). ___ task structure a. Non-root node of process family tree ___ init process b. Implements process family tree node ___ child process c. Extends process family tree ___ fork call d. Root of the process family tree CSE 422S Operating Systems Organization 13