CSE 60641: Operating Systems

Slides:



Advertisements
Similar presentations
Cpr E 308 Spring 2004 Recap for Midterm Introductory Material What belongs in the OS, what doesn’t? Basic Understanding of Hardware, Memory Hierarchy.
Advertisements

Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Computer Systems/Operating Systems - Class 8
Extensible Kernels Edgar Velázquez-Armendáriz September 24 th 2009.
CS533 Concepts of Operating Systems Class 5 Integrated Task and Stack Management.
Course: Operating Systems Instructor: Umar Kalim NUST Institute of Information Technology, Pakistan Operating Systems.
1 MetaTM/TxLinux: Transactional Memory For An Operating System Hany E. Ramadan, Christopher J. Rossbach, Donald E. Porter and Owen S. Hofmann Presenter:
User-Level Interprocess Communication for Shared Memory Multiprocessors Bershad, B. N., Anderson, T. E., Lazowska, E.D., and Levy, H. M. Presented by Chris.
SCHEDULER ACTIVATIONS Effective Kernel Support for the User-level Management of Parallelism Thomas E. Anderson, Brian N. Bershad, Edward D. Lazowska, Henry.
CS533 Concepts of Operating Systems Class 8 Shared Memory Implementations of Remote Procedure Call.
CS533 Concepts of Operating Systems Class 4 Remote Procedure Call.
Scheduler Activations Effective Kernel Support for the User-Level Management of Parallelism.
Introduction to Operating Systems – Windows process and thread management In this lecture we will cover Threads and processes in Windows Thread priority.
3.5 Interprocess Communication Many operating systems provide mechanisms for interprocess communication (IPC) –Processes must communicate with one another.
3.5 Interprocess Communication
USER LEVEL INTERPROCESS COMMUNICATION FOR SHARED MEMORY MULTIPROCESSORS Presented by Elakkiya Pandian CS 533 OPERATING SYSTEMS – SPRING 2011 Brian N. Bershad.
Advanced OS Chapter 3p2 Sections 3.4 / 3.5. Interrupts These enable software to respond to signals from hardware. The set of instructions to be executed.
CS533 Concepts of Operating Systems Class 7 Integrated Task and Stack Management.
CS533 Concepts of Operating Systems Class 3 Integrated Task and Stack Management.
Scheduler Activations : Effective Kernel Support for the User-level Management of Parallelism Thomas E. Anderson, Brian N. Bershad, Edward D. Lazowska.
User-Level Interprocess Communication for Shared Memory Multiprocessors Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy Presented.
PRASHANTHI NARAYAN NETTEM.
CS533 Concepts of Operating Systems Class 4 Remote Procedure Call.
Stack Management Each process/thread has two stacks  Kernel stack  User stack Stack pointer changes when exiting/entering the kernel Q: Why is this necessary?
What is Concurrent Programming? Maram Bani Younes.
COP 4600 Operating Systems Spring 2011 Dan C. Marinescu Office: HEC 304 Office hours: Tu-Th 5:00-6:00 PM.
CSE 60641: Operating Systems Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism. Thomas E. Anderson, Brian N.
CSE 451: Operating Systems Winter 2015 Module 5 1 / 2 User-Level Threads & Scheduler Activations Mark Zbikowski 476 Allen Center.
M. Accetta, R. Baron, W. Bolosky, D. Golub, R. Rashid, A. Tevanian, and M. Young MACH: A New Kernel Foundation for UNIX Development Presenter: Wei-Lwun.
COT 4600 Operating Systems Fall 2009 Dan C. Marinescu Office: HEC 439 B Office hours: Tu-Th 3:00-4:00 PM.
Managing Processors Jeff Chase Duke University. The story so far: protected CPU mode user mode kernel mode kernel “top half” kernel “bottom half” (interrupt.
Chapter 3 RTOS Concepts And Definitions Department of Computer Science Hsu Hao Chen Professor Hsung-Pin Chang.
Threads, SMP and Microkernels Process vs. thread: –Unit of resource ownership (process has virtual address space, memory, I/O channels, files) –Unit of.
Threads, SMP, and Microkernels Chapter 4. Processes and Threads Operating systems use processes for two purposes - Resource allocation and resource ownership.
2.2 Threads  Process: address space + code execution  There is no law that states that a process cannot have more than one “line” of execution.  Threads:
An operating system for a large-scale computer that is used by many people at once is a very complex system. It contains many millions of lines of instructions.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
Introduction to Operating Systems Concepts
Operating Systems CMPSC 473
Why Events Are A Bad Idea (for high-concurrency servers)
CS 6560: Operating Systems Design
How & When The Kernel Runs
Chapter 5: Threads Overview Multithreading Models Threading Issues
Chapter 4: Multithreaded Programming
Operating System Concepts
B. N. Bershad, T. E. Anderson, E. D. Lazowska and H. M
Mach Kernel Kris Ambrose Kris Ambrose 2003.
Scheduler Activations
Threads, SMP, and Microkernels
COP 4600 Operating Systems Spring 2011
Threads Chapter 4.
Processes and Threads.
What is Concurrent Programming?
CSE 153 Design of Operating Systems Winter 2018
Lecture 4- Threads, SMP, and Microkernels
Fast Communication and User Level Parallelism
CPU scheduling decisions may take place when a process:
Multithreaded Programming
What is Concurrent Programming?
Operating Systems (CS 340 D)
Improving IPC by Kernel Design
Outline Operating System Organization Operating System Examples
Chapter 2 Operating System Overview
CSE 153 Design of Operating Systems Winter 2019
CSE 542: Operating Systems
Processes David Ferry, Chris Gill, Brian Kocoloski
CSE 542: Operating Systems
CS 5204 Operating Systems Lecture 5
What is a Thread? A thread is similar to a process, but it typically consists of just the flow of control. Multiple threads use the address space of a.
CS Introduction to Operating Systems
Presentation transcript:

CSE 60641: Operating Systems Sunday, January 13, 2019 CSE 60641: Operating Systems Using Continuations to Implement Thread Management and Communication in Operating Systems Richard P. Draves, Brian N. Bershad, Richard F. Rashid, Randall W. Dean. SOSP '91 Mach paper – precedes the events and threads paper Manage thread stack inside and kernel by using application defined continuations Can be optimized further 13-Jan-19 CSE 60641: Operating Systems

CSE 60641: Operating Systems Programming models Process model One stack for every thread in the kernel Interrupt or event model Uses a single, per processor stack When the paper was written, workstations had 32 MB main memory and laptops had < 8 MB Why should we worry about saving stack space? 1/13/2019 CSE 60641: Operating Systems

CSE 60641: Operating Systems Prior solutions via application level threads (C-threads) Observation: multiprocessor programs tend to stay away from the kernel, multithreaded programs are kernel intensive Use interrupt model to redesign Mach History of mach and other realities make this hard 1/13/2019 CSE 60641: Operating Systems

CSE 60641: Operating Systems Continuations 1/13/2019 CSE 60641: Operating Systems

CSE 60641: Operating Systems Using continuations Support both types of threads Target problem areas and convert them to use continuations Very small of points are problematic (6 of 60) Useful for stack discarding, stack handoff and continuation recognition, cross address space IPC Exception handling Preemptive scheduling – waiting threads continue in use space 1/13/2019 CSE 60641: Operating Systems

CSE 60641: Operating Systems Performance Time saved, space saved Software engineering concerns: would this kernel be a nightmare to maintain Question: how is this relevant for different class of modern machines? 1/13/2019 CSE 60641: Operating Systems