Final Review David Ferry, Chris Gill

Slides:



Advertisements
Similar presentations
Chapter 8 Windows Outline Programming Windows 2000 System structure Processes and threads in Windows 2000 Memory management The Windows 2000 file.
Advertisements

CE Operating Systems Lecture 13 Linux/Unix interprocess communication.
Processes CS 6560: Operating Systems Design. 2 Von Neuman Model Both text (program) and data reside in memory Execution cycle Fetch instruction Decode.
(a) What is the output generated by this program? In fact the output is not uniquely defined, i.e., it is not necessarily the same in each execution. What.
CSE 466 – Fall Introduction - 1 User / Kernel Space Physical Memory mem mapped I/O kernel code user pages user code GPLR virtual kernel C
Course Introduction David Ferry, Chris Gill Department of Computer Science and Engineering Washington University, St. Louis MO 1E81.
How & When The Kernel Runs David Ferry, Chris Gill Department of Computer Science and Engineering Washington University, 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
Kernel Synchronization David Ferry, Chris Gill CSE 522S - Advanced Operating Systems Washington University in St. Louis St. Louis, MO
Introduction to Operating Systems Concepts
Module 12: I/O Systems I/O hardware Application I/O Interface
Chapter 13: I/O Systems Modified by Dr. Neerja Mhaskar for CS 3SH3.
Linux Details: Device Drivers
Scheduling of Non-Real-Time Tasks in Linux (SCHED_NORMAL/SCHED_OTHER)
CPS 310 midterm exam #1, 2/19/2016 Your name please: ___________________ NetID:___________ /40 /40 /50.
How & When The Kernel Runs
Midterm Review Chris Gill CSE 422S - Operating Systems Organization
Inter-Process Communication Pipes Moti Geva
Midterm Review David Ferry, Chris Gill
Linux 202 Training Module Program and Process.
Functions, locals, parameters, and separate compilation
Implementing Processes and Threads
Linux Pipes and FIFOs David Ferry, Chris Gill
Processes David Ferry, Chris Gill
CS490 Windows Internals Quiz 2 09/27/2013.
Intro to Processes CSSE 332 Operating Systems
Semester Review Chris Gill CSE 422S - Operating Systems Organization
Interrupts and Interrupt Handling
CSCI 315 Operating Systems Design
CGS 3763 Operating Systems Concepts Spring 2013
The Active Object Pattern
Final Review CSE321 B.Ramamurthy 12/4/2018 B.Ramamurthy.
Chapter 9: Virtual Memory
Operating System Concepts
13: I/O Systems I/O hardwared Application I/O Interface
CS703 - Advanced Operating Systems
CSE 451: Operating Systems Spring 2012 Module 6 Review of Processes, Kernel Threads, User-Level Threads Ed Lazowska 570 Allen.
Processes and Threads.
CSE451 Memory Management Introduction Autumn 2002
Systems Programming University of Ilam
Linux Details: Device Drivers
Multithreaded Programming
Top Half / Bottom Half Processing
Simulating Reference Parameters in C
Kernel Synchronization I
Midterm Review Brian Kocoloski
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
How & When The Kernel Runs
Semester Review Brian Kocoloski
Kernel Synchronization II
Processes David Ferry CSCI 3500 – Operating Systems
Kernel Memory Chris Gill, David Ferry, Brian Kocoloski
Implementing Processes and Threads
Final Review CSE321 B.Ramamurthy 4/17/2019 B.Ramamurthy.
Lecture 3: Main Memory.
Kernel Tracing David Ferry, Chris Gill, Brian Kocoloski
CSE 153 Design of Operating Systems Winter 19
Scheduling Classes and Real-Time Scheduling in Linux
Review of Previous Lesson
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Implementing Processes and Threads
Interrupts and Interrupt Handling
Processes David Ferry, Chris Gill, Brian Kocoloski
CSE 153 Design of Operating Systems Winter 2019
User-level Memory Chris Gill, David Ferry, Brian Kocoloski
Virtual Memory and Paging
Shared Memory David Ferry, Chris Gill
Module 12: I/O Systems I/O hardwared Application I/O Interface
Scheduling of Regular Tasks in Linux
Presentation transcript:

Final Review David Ferry, Chris Gill CSE 522S - Advanced Operating Systems Washington University in St. Louis St. Louis, MO 63130

CSE 522S – Advanced Operating Systems Exam Scope Questions derived from slides Split between comprehension and analysis Studios useful for analysis & concepts 8 questions 80 minutes 10 minutes per question Does not cover “details” slides (i.e. device drivers) CSE 522S – Advanced Operating Systems

Major Concepts Pre-Midterm Kernel execution: Scheduling: System calls CFS Scheduler Interrupt handlers Real-Time Scheduler Kernel threads Kernel modules Processes: Process creation Process address space CSE 522S – Advanced Operating Systems

CSE 522S – Advanced Operating Systems Exam Concepts Signals: Sockets: Generation & delivery Communication endpoint abstraction Similarity to interrupt Bind, listen, accept Pipes/FIFOs: Shared memory: Anonymous & named Does not use kernel Atomicity Same physical memory Capacity How to impose order? CSE 522S – Advanced Operating Systems

CSE 522S – Advanced Operating Systems Example Question #1 Imagine you are writing two programs that communicate small quantities of data: If neither process is a direct descendent of each other, is the pipe() system call or the mkfifo() system call more appropriate? Why? (4 points) Give one advantage and one disadvantage of using a shared memory region. (4 points) Suppose you initially write your programs with FIFOs, but then want to switch to sockets. What aspect of these interfaces minimizes the amount of re-writing you need to do? (2 points) CSE 522S – Advanced Operating Systems

CSE 522S – Advanced Operating Systems Example Question #2 Recall that some functions are unsafe to be used inside a signal handler. Explain why the function below is unsafe to be used in a main program as well as a signal handler: (2 pts) int temp; void swap( int *a, int *b){ temp = &a; &a = &b; &b = temp; } Suppose you really need to call the above function as a result of a signal and cannot modify it. Give two approaches for doing so. (8 pts) CSE 522S – Advanced Operating Systems

CSE 522S – Advanced Operating Systems Example Question #3 Suppose you have one producer process passing work to multiple consumer processes through a single FIFO. The consumers try to read the FIFO continuously. What is the maximum size of each unit of work, in bytes, on a typical system? Why? (4 pts) Give an example of what might go wrong if the unit of work exceeds your limit given above. (2 pts) Propose a FIFO-based communications scheme for a single-producer, multiple-consumers scenario that supports individual units of work that is greater than this limit. (6 pts) CSE 522S – Advanced Operating Systems