Midterm Review Brian Kocoloski

Slides:



Advertisements
Similar presentations
Processes CSCI 444/544 Operating Systems Fall 2008.
Advertisements

Introduction to Operating Systems – Windows process and thread management In this lecture we will cover Threads and processes in Windows Thread priority.
Mid#1 Revision. CH1 Mind map Ch2 Mind map Types of Questions Short Answers (essay) True/False MCQ Problems Code to trace.
1 Process Description and Control Chapter 3 = Why process? = What is a process? = How to represent processes? = How to control processes?
CSE 451: Operating Systems Autumn 2013 Module 6 Review of Processes, Kernel Threads, User-Level Threads Ed Lazowska 570 Allen.
Silberschatz, Galvin and Gagne ©2011Operating System Concepts Essentials – 8 th Edition Chapter 4: Threads.
Threads, Thread management & Resource Management.
Multiprogramming CSE451 Andrew Whitaker. Overview Multiprogramming: Running multiple programs “at the same time”  Requires multiplexing (sharing) the.
Operating Systems ECE344 Ashvin Goel ECE University of Toronto OS-Related Hardware.
CE Operating Systems Lecture 11 Windows – Object manager and process management.
Threads G.Anuradha (Reference : William Stallings)
CE Operating Systems Lecture 10 Processes and process management in Linux.
Chapter 2 Processes and Threads Introduction 2.2 Processes A Process is the execution of a Program More specifically… – A process is a program.
1 Review of Process Mechanisms. 2 Scheduling: Policy and Mechanism Scheduling policy answers the question: Which process/thread, among all those ready.
1 Computer Systems II Introduction to Processes. 2 First Two Major Computer System Evolution Steps Led to the idea of multiprogramming (multiple concurrent.
Multi-Tasking The Multi-Tasking service is offered by VxWorks with its real- time kernel “WIND”.
Processes, Threads, and Process States. Programs and Processes  Program: an executable file (before/after compilation)  Process: an instance of a program.
Threads, Thread management & Resource Management.
CSC 660: Advanced Operating Systems
Time Sources and Timing David Ferry, Chris Gill CSE 522S - Advanced Operating Systems Washington University in St. Louis St. Louis, MO
Interrupts and Interrupt Handling David Ferry, Chris Gill CSE 522S - Advanced Operating Systems Washington University in St. Louis St. Louis, MO
Processes David Ferry, Chris Gill CSE 522S - Advanced Operating Systems Washington University in St. Louis St. Louis, MO
Advanced Operating Systems CS6025 Spring 2016 Processes and Threads (Chapter 2)
Scheduler activations Landon Cox March 23, What is a process? Informal A program in execution Running code + things it can read/write Process ≠
Introduction to Operating Systems Concepts
Processes and threads.
Final Review David Ferry, Chris Gill
Scheduling of Non-Real-Time Tasks in Linux (SCHED_NORMAL/SCHED_OTHER)
Process Management Process Concept Why only the global variables?
CS 6560: Operating Systems Design
How & When The Kernel Runs
Midterm Review Chris Gill CSE 422S - Operating Systems Organization
Lesson Objectives Aims Key Words
Copyright ©: Nahrstedt, Angrave, Abdelzaher
Processes Chapter 3 These slides include text, figures, and information from Operating Systems Concepts, by Silberschatz, Galvin, and Gagne. They also.
Time Sources and Timing
OPERATING SYSTEMS CS3502 Fall 2017
Midterm Review David Ferry, Chris Gill
Scheduler activations
Chapter 4: Multithreaded Programming
Process Description and Control
Processes David Ferry, Chris Gill
Time Sources and Timing
Semester Review Chris Gill CSE 422S - Operating Systems Organization
Interrupts and Interrupt Handling
System Structure and Process Model
More examples How many processes does this piece of code create?
CSE 451: Operating Systems Spring 2012 Module 6 Review of Processes, Kernel Threads, User-Level Threads Ed Lazowska 570 Allen.
Chapter 2: The Linux System Part 3
Kernel Structure and Infrastructure
Lecture Topics: 11/1 General Operating System Concepts Processes
Threads Chapter 4.
Top Half / Bottom Half Processing
Kernel Synchronization I
Overview of the Lab 2 Assignment: Multicore Real-Time Tasks
How & When The Kernel Runs
Semester Review Brian Kocoloski
Chapter 3: Processes.
Scheduling of Regular Tasks in Linux
Time Sources and Timing
Scheduling & Dispatching
Kernel Tracing David Ferry, Chris Gill, Brian Kocoloski
CS510 Operating System Foundations
Scheduling Classes and Real-Time Scheduling in Linux
Linux Process State Scheduling information Identifiers
Interrupts and Interrupt Handling
CS703 – Advanced Operating Systems
Processes David Ferry, Chris Gill, Brian Kocoloski
Scheduling of Regular Tasks in Linux
CPU Scheduling David Ferry CSCI 3500 – Operating Systems
Presentation transcript:

Midterm Review Brian Kocoloski CSE 422S - Operating Systems Organization Washington University in St. Louis St. Louis, MO 63130

CSE 422S –Operating Systems Organization Midterm Exam 8-10 questions, which will test for comprehension, some key terms and details, and a bit of analysis How I would study (in order of importance) Start with LKD readings - Review PPT presentations at the same time that you do the readings Review studios for reinforcement Types of questions: True/False Multiple Choice Open answer / code snippets Bring pen/pencil/eraser/water bottle. No other material permitted on your desk 80 minutes total, 8:40-10am on Thu March 1 Will distribute exams, start promptly at 8:40am CSE 422S –Operating Systems Organization

CSE 422S –Operating Systems Organization 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

CSE 422S –Operating Systems Organization Core Concepts LKD Ch 5 What are system calls for? What are some of the system calls we’ve looked at in the studios? (recall strace from studio 5) 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

CSE 422S –Operating Systems Organization 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

CSE 422S –Operating Systems Organization 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) CSE 422S –Operating Systems Organization

CSE 422S –Operating Systems Organization 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

CSE 422S –Operating Systems Organization Core Concepts LKD Ch 4 What are the two questions that drive the behavior of the Linux scheduler? Which process should run? For how long should it run? Differences in requirements between I/O and compute bound processes Limitations of the O(1) scheduler How CFS addresses those limitations vruntime CSE 422S –Operating Systems Organization

CSE 422S –Operating Systems Organization Core Concepts Real-time scheduling Understand the three real-time scheduling classes Be able to walk through examples of determining which process will execute given different periods, RT priorities, and runtimes (as done in class) Differences between user and kernel preemption (LKD pg 62) and why kernel preemption is useful from a real-time perspective CSE 422S –Operating Systems Organization

CSE 422S –Operating Systems Organization Core Concepts LKD Ch 7 & Ch 8 Interrupt context vs user context Figure 7.1: path from hardware to kernel interrupt handling Difference between interrupt context and executing code with interrupts disabled What is the tension that drove the design of top-half and bottom-half processing? Be able to explain the differences between the three bottom half interrupt handler types, and to choose which would be best if I give you a set of constraints CSE 422S –Operating Systems Organization

Linux Kernel Familiarity Be familiar with the main data structures we’ve looked at (you don’t need to memorize the fields, but be aware of what type of information they record) struct task_struct (include/linux/sched.h) struct sched_entity (include/linux/sched.h) If the slides or a studio refers to particular fields of a data structure, understand what those fields refer to current current->mm find_vpid() pid_task() CSE 422S –Operating Systems Organization

Core Concepts (summary) Kernel execution: Timing: System calls Time sources (clocks) Interrupt handlers Timers Kernel threads Timer granularity Benchmarking Kernel programming: Tracing: Kernel modules Core kernel image Kernel tracing System call tracing CSE 422S –Operating Systems Organization

Core Concepts (summary) Processes: Scheduler tensions Interrupt handling: Process creation Process address space Interrupt context Process family tree Process context Top half processing Scheduling: Bottom half processing O(1) Scheduler IRQs CFS Scheduler Tasklets Real-Time Scheduler Work queues CSE 422S –Operating Systems Organization

CSE 422S –Operating Systems Organization 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

CSE 422S –Operating Systems Organization Example Question #2 You have a periodic system where the Linux real-time scheduler runs every ms, the round-robin scheduling interval is 100ms, and there are five tasks, which will consume 300ms, 300ms, 400ms, 500ms, and 700ms of processor time respectively each time they run. If your system schedules tasks in FIFO order on a single core, what is the longest a task might wait before it runs (3 points)? If it instead schedules tasks in round-robin order on a single core, what is the longest a task might wait before it runs (3 points)? Rank the round-robin and FIFO schedulers as as either “HIGH” or “LOW” for each of: response time, overhead, fairness (3 points). CSE 422S –Operating Systems Organization

CSE 422S –Operating Systems Organization 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