Processes and Non-Preemptive Scheduling. Otto J. Anshus
|
|
|
- Benedict Gordon
- 10 years ago
- Views:
Transcription
1 Processes and Non-Preemptive Scheduling Otto J. Anshus 1
2 Concurrency and Process Challenge: Physical reality is Concurrent Smart to do concurrent software instead of sequential? At least we want to have many apps running on a single computer at the same time Must share CPU, memory, I/O devices Lots of interrupts/traps/exceptions and faults (page faults) will happen Options let each application/computation see the others and deal with it (each must fight or cooperate with the others) let each application/computation believe it has the computer all alone (analogy: each car sees the highway without other cars (but perhaps it is a highway where the width and the speed limit can change at any time) Trad. approach: Make the OS understand process and support processes Now we can decompose complex problems into simpler ones Applications/computations are comprised of one or several processes Cooperating processes need synchronization and communication (using message passing) Each process comprised of one or several Cooperating threads Synchronization and communication (using locks, semaphores, monitors) Deal with one at a time Each process can believe it has a computer to itself: it can be written as if this is indeed the case 2 2
3 Threads Processes Processes Kernel Action 1 Get input from device Process input Action 2 Processes Action 3 Kernel 3 3
4 Threads Processes Processes Kernel Process An instance of a program under execution Program specifying (logical) control-flow (thread) Data Private address space Open files Running environment Very important operating system concept Used for supporting the concurrent execution of independent or cooperating program instances Used to structure applications and systems Protection unit 4 4
5 Flow of Execution (Assume R to disk => long wait s ms) P1: Read file syscall Trap handling; Scheduler (selects P2); Dispatch Pselected; Int0x80 interrupt from user level application Kernel Mode User Mode Time (interleaved sequence) P2: CPU bound Trap handling; Scheduler (selects P1); Dispatch Pselected; P1: CPU bound Trap handling; Scheduler (selects some P); Dispatch Pselected; Input finished interrupt from Disk (OS scheduler can select any ready process to run) Timer Interrupt (repeated every ms) 5 5
6 Concurrency & performance Common in physical reality Speedup ideal: n processes, n speedup reality: bottlenecks + overheads + sequential vs. parallel parts if & when the processes cooperate Questions Speedup when working with 1 partner? working with 20 partners? Super-linear speedup? Also check out Amdahl s Law 6 6
7 Procedure, Co-routine, Thread, Process Procedure, Function, (Sub)Routine Call-execute all-return nesting Co-routine Call-resumes-return Thread (more later) Process Single threaded Multi threaded User level non preemptive scheduler in user code 7 7
8 Procedure and Co-routine Main A B Call A; Call B; User Yield when finished Call B; Return Return Main A B Call A; Call B; Resume A; User Yield during execution to share CPU Resume B; Return Resume A; Never executed 8 8
9 Process Modern process: Process and Thread are separated as concepts Process Unit of Resource Allocation Defines the context Thread Control Thread Unit of execution, scheduling Every process have at least one thread Every thread exists within the context of a process? 9 9
10 Simplest (single threaded, sequential) Process Sequential execution of operations No concurrency inside a (single threaded) process Everything happens sequentially Process state Registers Stack(s) Main memory I/O devices Files and their state Communication ports Other resources 10 10
11 Program and Process For at least one thread of execution main() { foo() bar() baz() qux() quux() } foo(){ } bar() { }/* a.k.a. gazonk baz() { } qux() { } quux() { } Program main() { foo() bar() baz() qux() quux() } foo(){ } bar() { } baz() { } qux() { } quux() { } Process PID heap stack main foo registers PC Resources: comm. ports, files, semaphores The context 11 11
12 Process vs. Program Process > program Program is just part of process state Example: many users can run the same program Process < program A program can invoke more than one process Example: Fork off processes 12 12
13 Threads Processes Processes Kernel Supporting and Using Processes Multiprogramming Supporting concurrent execution (overlapping or (transparently) interleaved) of multiple processes (or multiple threads if only one process per program.) Achieved by process- or context switching, switching the CPU(s) back and forth among the individual processes (threads), keeping track of each process (threads) progress Concurrent programs Programs that exploit multiprogramming for some purpose (e.g. performance, structure) Independent or cooperating Operating systems is important application area for concurrent programming. Many others (event driven programs, servers, ++) 13 13
14 Instruction Pointer (program counter) in the EIP register! Trap Handler Process State Transitions U s e r L e v e l P r o c e s s e s P1 P2 Service P3 P4 KERNEL MULTIPROGRAMMING Uniprocessor: Interleaving ( pseudoparallelism ) Multiprocessor: Overlapping ( true paralellism ) Trap Return Handler BlockedQueue P2 Scheduler Dispatcher ReadyQueue Current P1 P3 P4 PCB s Scheduler dispatch Running terminate Wait for resource Create a process Memory resident part Ready Blocked Resource becomes available 14 14
15 What needs to be saved and restored on a context switch? Volatile state Program counter (Program Counter (PC) also called Instruction Pointer (Intel: EIP)) Processor status register Other register contents User and kernel stack pointers A pointer to the address space in which the process runs the process s page table directory 15 15
16 Basic Flow of Context Switch Save(volatile machine state, current process); Load(another process s saved volatile state); Start(new process); 16 16
17 Implementing processes OS (kernel) needs to keep track of all processes Keep track of it s progress (Parent process, if such a concept has been added) Metadata (priorities etc.) used by OS Memory management File management Process table with one entry (Process Control Block) per process Will also have the processes in queues 17 17
18 Make a Process Creation load code and data into memory create an empty stack initialize state to same as after a process switch make process READY to run insert into OS scheduler queue (Ready_Queue) Clone Stop current process and save (its) state make copy of currents code, data, stack and OS state make the new process READY to run 18 18
19 Process Control Block (PCB) Process management info State (ready, running, blocked) Registers, PSW, EFLAGS, and other CPU state Stack, code, and data segment Memory management info Segments, page table, stats, etc I/O and file management Communication ports, directories, file descriptors, etc. OS must allocate resources to each process, and do the state transitions 19 19
20 Primitives of Processes Creation and termination fork, exec, wait, kill Signals Action, Return, Handler Operations block, yield Synchronization We will talk about this later 20 20
21 Processes (II) Classical/traditional processes were, using today s terminology, Single Threaded Sequential program Single process Parallel program Multiple cooperating processes 21 21
22 Threads thread a sequential execution stream within a process (a.k.a. lightweight process) threads in a process share the same address space thread concurrency easy to program overlapping of computation with I/O supports doing many things at a time: web browser a server serves multiple requests 22 22
23 Thread Control Block (TCB) state (ready, running, blocked) registers status (EFLAGS) program counter (EIP) stack code 23 23
24 Thread API creation fork, join mutual exclusion acquire(lock_name), release (lock_name) operations on monitor condition variables wait, signal, broadcast alert alert, alertwait, testalert 24 24
25 Thread vs. Procedure threads may resume out of order cannot use LIFO stack to save state each thread has its own stack threads can be asynchronous procedure is synchronous: can use compiler to save state, and restore multiple overlapping threads multiple CPUs 25 25
26 Process vs. Thread address space processes do not (usually) share memory, threads in a process do therefore, process context switch implies getting a new address space in place page table and other memory mechanisms privileges each process has its own set, threads in a process share 26 26
27 Threads and Processes in the Course Project OS Trad. Threads Process Project OS Single-threaded processes in individual address spaces Threads User Level Thread Support Kernel Address Space Kernel threads User Level Kernel Level Kernel Level 27 27
28 User- and Kernel-Level Thread Support User-level threads within a process are Indiscernible by OS Scheduled by (user-level) scheduler in process Kernel-level threads Maintained by OS Scheduled by OS 28 28
29 User vs. Kernel-level Threads Question What is the difference between user-level and kernel-level threads? Discussion User-level threads are scheduled by a scheduler in their process at user-level Co-routines Cooperative scheduling (explicit yield syscall, implicitly at any syscall (Warning: shared resources can result in race conditions and deadlocks)) Timer interrupt to get preemption (Warning: shared resources) Kernel-level threads are scheduled by kernel scheduler Implications When a user-level thread is blocked on an I/O event, the whole process is blocked A context switch of kernel threads is more expensive than for user threads A smart scheduler (two-level) can avoid both drawbacks. But is more complex 29 Do we like complexity? 29
30 Threads & Stack Private: Each user thread has its own kernel stack Shared: All threads of a process share the same kernel stack 30 30
31 Example: fork (UNIX) fork() clones a process Spawns a new process (with new PID) Called in parent process Returns in parent and child process Return value in parent is child s PID Return value in child is 0 Child gets duplicate, but separate, copy of parent s user-level virtual address space Child gets identical copy of parent s open file descriptors exec overlays (replaces) the current process 31 31
32 fork, exec, wait, kill Return value tested for error, zero, or positive Zero, this is the child process Typically redirect standard files, and Call Exec to load a new program instead of the old Positive, this is the parent process Wait, parent waits for child s termination Wait before corresponding exit, parent blocks until exit Exit before corresponding wait, child becomes zombie (un-dead) until wait Kill, specified process terminates 32 32
33 When may OS switch contexts? Syscall/Exception User process User process Interrupt handler: Start service or Handle exception Scheduler (i) Select next process to run (ii) Restore context (iii) Run it Service Service Service Service Operating System Kernel Only when OS runs Events potentially causing a context switch: (User level) system calls Process created (fork) Process exits (exit) Interrupt Hardware TIMER INTERRUPT (100ms) Process blocks implicitly (I/O calls, block/wait, IPC calls) Process enters state ready explicitly (yield) System Level Trap By HW By SW exception Kernel preempts current process Potential scheduling decision at any of above + Timer to be able to limit running time of processes I/O INTERRUPT (from keyboard, floppy, other) 33 33
34 Context Switching Issues Performance Overhead multiplied so need to keep it fast (nano vs micro vs milli seconds) Most time is spent SAVING and RESTORING the context of processes Less processor state to save, the better Pentium has a multitasking mechanism, but SW can be faster if it saves less of the state How to save time on the copying of context state? Re-map (address) instead of copy (data) Where to store Kernel data structures shared by all processes Memory How to give processes a fair share of CPU time Preemptive scheduling, time-slice defines maximum time interval between scheduling decisions 34 34
35 ! PC Trap Handler P1 Example Process State Transitions U s e r L e v e l P r o c e s s e s P2 Service P3 P4 KERNEL MULTIPROGRAMMING Uniprocessor: Interleaving ( pseudoparallelism ) Multiprocessor: Overlapping ( true paralellism ) Trap Return Handler Scheduler Dispatcher BlockedQueue ReadyQueue Current Memory resident part P1 P3 P2 P4 PCB s Create a process Scheduler dispatch Ready Running Yield (call scheduler) Terminate (call scheduler) Blocked Block for resource (call scheduler) Resource becomes available (move to ready queue) 35 35
36 Scheduler Non-preemptive scheduler invoked by syscalls (to OS Kernel) block yield (fork and exit) The simplest form Scheduler: save current process state (store to PCB) choose next process to run dispatch (load state stored in PCB to registers, and run) Does this work? PCB must be resident in memory Remember the stacks 36 36
37 Stacks Remember: We have only one copy of the Kernel in memory => all processes execute the same kernel code => Must have a kernel stack for each process Used for storing parameters, return address, locally created variables in frames or activation records Each process user stack kernel stack always empty when process is in user mode executing instructions Does the Kernel need its own stack(s)? 37 37
38 More on Scheduler Should the scheduler use a special stack? Yes, because a user process can overflow and it would require another stack to deal with stack overflow (because it makes it simpler to pop and push to rebuild a process s context) (Must have a stack when booting ) Should the scheduler simply be a kernel process (kernel thread)? You can view it that way because it has a stack, code and its data structure This thread always runs when there is no user process Idle process In kernel or at user level? 38 38
39 Win NT Idle No runable thread exists on the processor Dispatch Idle Process (really a thread) Idle is really a dispatcher in the kernel Enable interrupt; Receive pending interrupts; Disable interrupts; Analyze interrupts; Dispatch a thread if so needed; Check for deferred work; Dispatch thread if so needed; Perform power management; 39 39
40 Process Context Switch save a context all registers (general purpose ad floating-point) all co-processor state save all memory to disk? what about cache and TLB? start a context: reverse of above challenge: save state without changing it before it is saved hardware will save a few registers when an interrupt happens. We can use them. CISC: have a special instruction to save and restore all registers to/from stack RISC: reserve registers for kernel 40 40
41 Where Should PCB Be Kept? Save the PCB on user stack Many processors have a special instruction to do it efficiently But, need to deal with the overflow problem When the process terminates, the PCB vanishes Save the PCB on the kernel heap data structure May not be as efficient as saving it on stack But, it is very flexible and no other problems 41 41
42 Job swapping The processes competing for resources may have combined demands that results in poor system performance Reducing the degree of multiprogramming by moving some processes to disk, and temporarily not consider them for execution may be a strategy to enhance overall system performance 42 42
43 Job Swapping Swap in Partially executed swapped-out processes Swap out Ready Queue I/O I/O Waiting queues CPU Terminate 43 43
44 Add Job Swapping to State Transition Diagram Terminate (call scheduler) Create a process Scheduler dispatch Ready Yield (call scheduler) Running Blocked Block for resource (call scheduler) Swap out Resource becomes available (move to ready queue) Swap out Swap in Swapped 44 44
45 Concurrent Programming w/ Processes Clean programming model User address space is private Processes are protected from each other Sharing requires some sort of IPC (InterProcess Communication) Overhead (slower execution) Process switch, process control expensive IPC expensive 45 45
46 Revisit Monolithic OS Structure All processes share the same kernel Kernel comprises Interrupt handler & Scheduler Key drivers Threads doing stuff Process & thread abstraction realization Boot loader, BIOS Scheduler Use a ready queue to hold all ready threads (== process if single-threaded) Schedule a thread in current or a new context We will have: Single threaded processes We will have: Kernel with multiple threads (kind of) 46 46
Chapter 6, The Operating System Machine Level
Chapter 6, The Operating System Machine Level 6.1 Virtual Memory 6.2 Virtual I/O Instructions 6.3 Virtual Instructions For Parallel Processing 6.4 Example Operating Systems 6.5 Summary Virtual Memory General
Operating System Overview. Otto J. Anshus
Operating System Overview Otto J. Anshus A Typical Computer CPU... CPU Memory Chipset I/O bus ROM Keyboard Network A Typical Computer System CPU. CPU Memory Application(s) Operating System ROM OS Apps
Page 1 of 5. IS 335: Information Technology in Business Lecture Outline Operating Systems
Lecture Outline Operating Systems Objectives Describe the functions and layers of an operating system List the resources allocated by the operating system and describe the allocation process Explain how
Lesson Objectives. To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization
Lesson Objectives To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization AE3B33OSD Lesson 1 / Page 2 What is an Operating System? A
Operating Systems. 05. Threads. Paul Krzyzanowski. Rutgers University. Spring 2015
Operating Systems 05. Threads Paul Krzyzanowski Rutgers University Spring 2015 February 9, 2015 2014-2015 Paul Krzyzanowski 1 Thread of execution Single sequence of instructions Pointed to by the program
Operating Systems Concepts: Chapter 7: Scheduling Strategies
Operating Systems Concepts: Chapter 7: Scheduling Strategies Olav Beckmann Huxley 449 http://www.doc.ic.ac.uk/~ob3 Acknowledgements: There are lots. See end of Chapter 1. Home Page for the course: http://www.doc.ic.ac.uk/~ob3/teaching/operatingsystemsconcepts/
Introduction. What is an Operating System?
Introduction What is an Operating System? 1 What is an Operating System? 2 Why is an Operating System Needed? 3 How Did They Develop? Historical Approach Affect of Architecture 4 Efficient Utilization
ELEC 377. Operating Systems. Week 1 Class 3
Operating Systems Week 1 Class 3 Last Class! Computer System Structure, Controllers! Interrupts & Traps! I/O structure and device queues.! Storage Structure & Caching! Hardware Protection! Dual Mode Operation
Process Description and Control. 2004-2008 william stallings, maurizio pizzonia - sistemi operativi
Process Description and Control 1 Process A program in execution (running) on a computer The entity that can be assigned to and executed on a processor A unit of activity characterized by a at least one
CS161: Operating Systems
CS161: Operating Systems Matt Welsh [email protected] Lecture 2: OS Structure and System Calls February 6, 2007 1 Lecture Overview Protection Boundaries and Privilege Levels What makes the kernel different
CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study
CS 377: Operating Systems Lecture 25 - Linux Case Study Guest Lecturer: Tim Wood Outline Linux History Design Principles System Overview Process Scheduling Memory Management File Systems A review of what
Embedded Systems. 6. Real-Time Operating Systems
Embedded Systems 6. Real-Time Operating Systems Lothar Thiele 6-1 Contents of Course 1. Embedded Systems Introduction 2. Software Introduction 7. System Components 10. Models 3. Real-Time Models 4. Periodic/Aperiodic
An Implementation Of Multiprocessor Linux
An Implementation Of Multiprocessor Linux This document describes the implementation of a simple SMP Linux kernel extension and how to use this to develop SMP Linux kernels for architectures other than
10.04.2008. Thomas Fahrig Senior Developer Hypervisor Team. Hypervisor Architecture Terminology Goals Basics Details
Thomas Fahrig Senior Developer Hypervisor Team Hypervisor Architecture Terminology Goals Basics Details Scheduling Interval External Interrupt Handling Reserves, Weights and Caps Context Switch Waiting
Module 8. Industrial Embedded and Communication Systems. Version 2 EE IIT, Kharagpur 1
Module 8 Industrial Embedded and Communication Systems Version 2 EE IIT, Kharagpur 1 Lesson 37 Real-Time Operating Systems: Introduction and Process Management Version 2 EE IIT, Kharagpur 2 Instructional
Road Map. Scheduling. Types of Scheduling. Scheduling. CPU Scheduling. Job Scheduling. Dickinson College Computer Science 354 Spring 2010.
Road Map Scheduling Dickinson College Computer Science 354 Spring 2010 Past: What an OS is, why we have them, what they do. Base hardware and support for operating systems Process Management Threads Present:
Operating System: Scheduling
Process Management Operating System: Scheduling OS maintains a data structure for each process called Process Control Block (PCB) Information associated with each PCB: Process state: e.g. ready, or waiting
COS 318: Operating Systems
COS 318: Operating Systems OS Structures and System Calls Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall10/cos318/ Outline Protection mechanisms
Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
Operating Systems for Parallel Processing Assistent Lecturer Alecu Felician Economic Informatics Department Academy of Economic Studies Bucharest
Operating Systems for Parallel Processing Assistent Lecturer Alecu Felician Economic Informatics Department Academy of Economic Studies Bucharest 1. Introduction Few years ago, parallel computers could
Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture
Review from last time CS 537 Lecture 3 OS Structure What HW structures are used by the OS? What is a system call? Michael Swift Remzi Arpaci-Dussea, Michael Swift 1 Remzi Arpaci-Dussea, Michael Swift 2
CS414 SP 2007 Assignment 1
CS414 SP 2007 Assignment 1 Due Feb. 07 at 11:59pm Submit your assignment using CMS 1. Which of the following should NOT be allowed in user mode? Briefly explain. a) Disable all interrupts. b) Read the
Multi-core Programming System Overview
Multi-core Programming System Overview Based on slides from Intel Software College and Multi-Core Programming increasing performance through software multi-threading by Shameem Akhter and Jason Roberts,
CS0206 OPERATING SYSTEMS Prerequisite CS0201, CS0203
CS0206 OPERATING SYSTEMS Prerequisite CS0201, CS0203 L T P C 3 0 0 3 PURPOSE Every computer professional should have a basic understanding of how an operating system controls the computing resources and
theguard! ApplicationManager System Windows Data Collector
theguard! ApplicationManager System Windows Data Collector Status: 10/9/2008 Introduction... 3 The Performance Features of the ApplicationManager Data Collector for Microsoft Windows Server... 3 Overview
Operating Systems 4 th Class
Operating Systems 4 th Class Lecture 1 Operating Systems Operating systems are essential part of any computer system. Therefore, a course in operating systems is an essential part of any computer science
Chapter 2: OS Overview
Chapter 2: OS Overview CmSc 335 Operating Systems 1. Operating system objectives and functions Operating systems control and support the usage of computer systems. a. usage users of a computer system:
Chapter 2 Basic Structure of Computers. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan
Chapter 2 Basic Structure of Computers Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan Outline Functional Units Basic Operational Concepts Bus Structures Software
Operating System Impact on SMT Architecture
Operating System Impact on SMT Architecture The work published in An Analysis of Operating System Behavior on a Simultaneous Multithreaded Architecture, Josh Redstone et al., in Proceedings of the 9th
Chapter 1 Computer System Overview
Operating Systems: Internals and Design Principles Chapter 1 Computer System Overview Eighth Edition By William Stallings Operating System Exploits the hardware resources of one or more processors Provides
CSC 2405: Computer Systems II
CSC 2405: Computer Systems II Spring 2013 (TR 8:30-9:45 in G86) Mirela Damian http://www.csc.villanova.edu/~mdamian/csc2405/ Introductions Mirela Damian Room 167A in the Mendel Science Building [email protected]
First-class User Level Threads
First-class User Level Threads based on paper: First-Class User Level Threads by Marsh, Scott, LeBlanc, and Markatos research paper, not merely an implementation report User-level Threads Threads managed
Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6
Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6 Winter Term 2008 / 2009 Jun.-Prof. Dr. André Brinkmann [email protected] Universität Paderborn PC² Agenda Multiprocessor and
This tutorial will take you through step by step approach while learning Operating System concepts.
About the Tutorial An operating system (OS) is a collection of software that manages computer hardware resources and provides common services for computer programs. The operating system is a vital component
Example of Standard API
16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface
Operating Systems Overview
Operating Systems Overview No single definition, but many perspectives: Role in an overall system: Intermediary between computer hardware and everything else User view: Provides an environment, preferably
Technical Properties. Mobile Operating Systems. Overview Concepts of Mobile. Functions Processes. Lecture 11. Memory Management.
Overview Concepts of Mobile Operating Systems Lecture 11 Concepts of Mobile Operating Systems Mobile Business I (WS 2007/08) Prof Dr Kai Rannenberg Chair of Mobile Business and Multilateral Security Johann
SYSTEM ecos Embedded Configurable Operating System
BELONGS TO THE CYGNUS SOLUTIONS founded about 1989 initiative connected with an idea of free software ( commercial support for the free software ). Recently merged with RedHat. CYGNUS was also the original
CHAPTER 15: Operating Systems: An Overview
CHAPTER 15: Operating Systems: An Overview The Architecture of Computer Hardware, Systems Software & Networking: An Information Technology Approach 4th Edition, Irv Englander John Wiley and Sons 2010 PowerPoint
Operating System Tutorial
Operating System Tutorial OPERATING SYSTEM TUTORIAL Simply Easy Learning by tutorialspoint.com tutorialspoint.com i ABOUT THE TUTORIAL Operating System Tutorial An operating system (OS) is a collection
Lecture 25 Symbian OS
CS 423 Operating Systems Design Lecture 25 Symbian OS Klara Nahrstedt Fall 2011 Based on slides from Andrew S. Tanenbaum textbook and other web-material (see acknowledgements) cs423 Fall 2011 1 Overview
Chapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines Operating System Concepts 3.1 Common System Components
Performance Comparison of RTOS
Performance Comparison of RTOS Shahmil Merchant, Kalpen Dedhia Dept Of Computer Science. Columbia University Abstract: Embedded systems are becoming an integral part of commercial products today. Mobile
Weighted Total Mark. Weighted Exam Mark
CMP2204 Operating System Technologies Period per Week Contact Hour per Semester Total Mark Exam Mark Continuous Assessment Mark Credit Units LH PH TH CH WTM WEM WCM CU 45 30 00 60 100 40 100 4 Rationale
Multiprogramming. IT 3123 Hardware and Software Concepts. Program Dispatching. Multiprogramming. Program Dispatching. Program Dispatching
IT 3123 Hardware and Software Concepts Operating Systems II October 26 Multiprogramming Two or more application programs in memory. Consider one CPU and more than one program. This can be generalized to
The Microsoft Windows Hypervisor High Level Architecture
The Microsoft Windows Hypervisor High Level Architecture September 21, 2007 Abstract The Microsoft Windows hypervisor brings new virtualization capabilities to the Windows Server operating system. Its
Chapter 3. Operating Systems
Christian Jacob Chapter 3 Operating Systems 3.1 Evolution of Operating Systems 3.2 Booting an Operating System 3.3 Operating System Architecture 3.4 References Chapter Overview Page 2 Chapter 3: Operating
REAL TIME OPERATING SYSTEMS. Lesson-10:
REAL TIME OPERATING SYSTEMS Lesson-10: Real Time Operating System 1 1. Real Time Operating System Definition 2 Real Time A real time is the time which continuously increments at regular intervals after
How To Write A Windows Operating System (Windows) (For Linux) (Windows 2) (Programming) (Operating System) (Permanent) (Powerbook) (Unix) (Amd64) (Win2) (X
(Advanced Topics in) Operating Systems Winter Term 2009 / 2010 Jun.-Prof. Dr.-Ing. André Brinkmann [email protected] Universität Paderborn PC 1 Overview Overview of chapter 3: Case Studies 3.1 Windows Architecture.....3
Operatin g Systems: Internals and Design Principle s. Chapter 10 Multiprocessor and Real-Time Scheduling Seventh Edition By William Stallings
Operatin g Systems: Internals and Design Principle s Chapter 10 Multiprocessor and Real-Time Scheduling Seventh Edition By William Stallings Operating Systems: Internals and Design Principles Bear in mind,
Overview of Operating Systems Instructor: Dr. Tongping Liu
Overview of Operating Systems Instructor: Dr. Tongping Liu Thank Dr. Dakai Zhu and Dr. Palden Lama for providing their slides. 1 Lecture Outline Operating System: what is it? Evolution of Computer Systems
System Virtual Machines
System Virtual Machines Introduction Key concepts Resource virtualization processors memory I/O devices Performance issues Applications 1 Introduction System virtual machine capable of supporting multiple
Linux Process Scheduling Policy
Lecture Overview Introduction to Linux process scheduling Policy versus algorithm Linux overall process scheduling objectives Timesharing Dynamic priority Favor I/O-bound process Linux scheduling algorithm
Chapter 3 Operating-System Structures
Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual
ò Paper reading assigned for next Thursday ò Lab 2 due next Friday ò What is cooperative multitasking? ò What is preemptive multitasking?
Housekeeping Paper reading assigned for next Thursday Scheduling Lab 2 due next Friday Don Porter CSE 506 Lecture goals Undergrad review Understand low-level building blocks of a scheduler Understand competing
Outline: Operating Systems
Outline: Operating Systems What is an OS OS Functions Multitasking Virtual Memory File Systems Window systems PC Operating System Wars: Windows vs. Linux 1 Operating System provides a way to boot (start)
Chapter 1 FUNDAMENTALS OF OPERATING SYSTEM
Chapter 1 FUNDAMENTALS OF OPERATING SYSTEM An operating system is a program that acts as an intermediary between a user of a computer and the computer hardware. The purpose of an operating system is to
Operating Systems. III. Scheduling. http://soc.eurecom.fr/os/
Operating Systems Institut Mines-Telecom III. Scheduling Ludovic Apvrille [email protected] Eurecom, office 470 http://soc.eurecom.fr/os/ Outline Basics of Scheduling Definitions Switching
Why Threads Are A Bad Idea (for most purposes)
Why Threads Are A Bad Idea (for most purposes) John Ousterhout Sun Microsystems Laboratories [email protected] http://www.sunlabs.com/~ouster Introduction Threads: Grew up in OS world (processes).
Lecture 1 Operating System Overview
Lecture 1 Operating System Overview What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. The Major Objectives of an Operating system
Chapter 11 I/O Management and Disk Scheduling
Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 11 I/O Management and Disk Scheduling Dave Bremer Otago Polytechnic, NZ 2008, Prentice Hall I/O Devices Roadmap Organization
Operating Systems OBJECTIVES 7.1 DEFINITION. Chapter 7. Note:
Chapter 7 OBJECTIVES Operating Systems Define the purpose and functions of an operating system. Understand the components of an operating system. Understand the concept of virtual memory. Understand the
Tools Page 1 of 13 ON PROGRAM TRANSLATION. A priori, we have two translation mechanisms available:
Tools Page 1 of 13 ON PROGRAM TRANSLATION A priori, we have two translation mechanisms available: Interpretation Compilation On interpretation: Statements are translated one at a time and executed immediately.
Real Time Programming: Concepts
Real Time Programming: Concepts Radek Pelánek Plan at first we will study basic concepts related to real time programming then we will have a look at specific programming languages and study how they realize
Advanced Operating Systems (263 3800 00L)
Advanced Operating Systems (263 3800 00L) Timothy Roscoe Fall 2014 https://www.systems.ethz.ch/courses/fall2014/aos Systems Group Department of Computer Science ETH Zürich 1 Week 3: OS Architecture, Threads,
Operating System Components and Services
Operating System Components and Services Tom Kelliher, CS 311 Feb. 6, 2012 Announcements: From last time: 1. System architecture issues. 2. I/O programming. 3. Memory hierarchy. 4. Hardware protection.
1 Organization of Operating Systems
COMP 730 (242) Class Notes Section 10: Organization of Operating Systems 1 Organization of Operating Systems We have studied in detail the organization of Xinu. Naturally, this organization is far from
Computer-System Architecture
Chapter 2: Computer-System Structures Computer System Operation I/O Structure Storage Structure Storage Hierarchy Hardware Protection General System Architecture 2.1 Computer-System Architecture 2.2 Computer-System
Chapter 2 System Structures
Chapter 2 System Structures Operating-System Structures Goals: Provide a way to understand an operating systems Services Interface System Components The type of system desired is the basis for choices
Operating Systems, 6 th ed. Test Bank Chapter 7
True / False Questions: Chapter 7 Memory Management 1. T / F In a multiprogramming system, main memory is divided into multiple sections: one for the operating system (resident monitor, kernel) and one
Kernel comparison of OpenSolaris, Windows Vista and. Linux 2.6
Kernel comparison of OpenSolaris, Windows Vista and Linux 2.6 The idea of writing this paper is evoked by Max Bruning's view on Solaris, BSD and Linux. The comparison of advantages and disadvantages among
CHAPTER 6 TASK MANAGEMENT
CHAPTER 6 TASK MANAGEMENT This chapter describes the IA-32 architecture s task management facilities. These facilities are only available when the processor is running in protected mode. 6.1. TASK MANAGEMENT
CPU SCHEDULING (CONT D) NESTED SCHEDULING FUNCTIONS
CPU SCHEDULING CPU SCHEDULING (CONT D) Aims to assign processes to be executed by the CPU in a way that meets system objectives such as response time, throughput, and processor efficiency Broken down into
Effective Computing with SMP Linux
Effective Computing with SMP Linux Multi-processor systems were once a feature of high-end servers and mainframes, but today, even desktops for personal use have multiple processors. Linux is a popular
Microkernels, virtualization, exokernels. Tutorial 1 CSC469
Microkernels, virtualization, exokernels Tutorial 1 CSC469 Monolithic kernel vs Microkernel Monolithic OS kernel Application VFS System call User mode What was the main idea? What were the problems? IPC,
Storage. The text highlighted in green in these slides contain external hyperlinks. 1 / 14
Storage Compared to the performance parameters of the other components we have been studying, storage systems are much slower devices. Typical access times to rotating disk storage devices are in the millisecond
CS5460: Operating Systems. Lecture: Virtualization 2. Anton Burtsev March, 2013
CS5460: Operating Systems Lecture: Virtualization 2 Anton Burtsev March, 2013 Paravirtualization: Xen Full virtualization Complete illusion of physical hardware Trap _all_ sensitive instructions Virtualized
1. Computer System Structure and Components
1 Computer System Structure and Components Computer System Layers Various Computer Programs OS System Calls (eg, fork, execv, write, etc) KERNEL/Behavior or CPU Device Drivers Device Controllers Devices
Why Computers Are Getting Slower (and what we can do about it) Rik van Riel Sr. Software Engineer, Red Hat
Why Computers Are Getting Slower (and what we can do about it) Rik van Riel Sr. Software Engineer, Red Hat Why Computers Are Getting Slower The traditional approach better performance Why computers are
Exceptions in MIPS. know the exception mechanism in MIPS be able to write a simple exception handler for a MIPS machine
7 Objectives After completing this lab you will: know the exception mechanism in MIPS be able to write a simple exception handler for a MIPS machine Introduction Branches and jumps provide ways to change
Kernel Types System Calls. Operating Systems. Autumn 2013 CS4023
Operating Systems Autumn 2013 Outline 1 2 Types of 2.4, SGG The OS Kernel The kernel is the central component of an OS It has complete control over everything that occurs in the system Kernel overview
Replication on Virtual Machines
Replication on Virtual Machines Siggi Cherem CS 717 November 23rd, 2004 Outline 1 Introduction The Java Virtual Machine 2 Napper, Alvisi, Vin - DSN 2003 Introduction JVM as state machine Addressing non-determinism
COS 318: Operating Systems. Virtual Machine Monitors
COS 318: Operating Systems Virtual Machine Monitors Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall10/cos318/ Introduction Have been around
Scheduling. Scheduling. Scheduling levels. Decision to switch the running process can take place under the following circumstances:
Scheduling Scheduling Scheduling levels Long-term scheduling. Selects which jobs shall be allowed to enter the system. Only used in batch systems. Medium-term scheduling. Performs swapin-swapout operations
COS 318: Operating Systems
COS 318: Operating Systems File Performance and Reliability Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall10/cos318/ Topics File buffer cache
Real-Time Scheduling 1 / 39
Real-Time Scheduling 1 / 39 Multiple Real-Time Processes A runs every 30 msec; each time it needs 10 msec of CPU time B runs 25 times/sec for 15 msec C runs 20 times/sec for 5 msec For our equation, A
Virtual vs Physical Addresses
Virtual vs Physical Addresses Physical addresses refer to hardware addresses of physical memory. Virtual addresses refer to the virtual store viewed by the process. virtual addresses might be the same
Operating Systems Lecture #6: Process Management
Lecture #6: Process Written by based on the lecture series of Dr. Dayou Li and the book Understanding 4th ed. by I.M.Flynn and A.McIver McHoes (2006) Department of Computer Science and Technology,., 2013
Principles and characteristics of distributed systems and environments
Principles and characteristics of distributed systems and environments Definition of a distributed system Distributed system is a collection of independent computers that appears to its users as a single
CSE 120 Principles of Operating Systems. Modules, Interfaces, Structure
CSE 120 Principles of Operating Systems Fall 2000 Lecture 3: Operating System Modules, Interfaces, and Structure Geoffrey M. Voelker Modules, Interfaces, Structure We roughly defined an OS as the layer
COS 318: Operating Systems. Virtual Machine Monitors
COS 318: Operating Systems Virtual Machine Monitors Kai Li and Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall13/cos318/ Introduction u Have
Quality of Service su Linux: Passato Presente e Futuro
Quality of Service su Linux: Passato Presente e Futuro Luca Abeni [email protected] Università di Trento Quality of Service su Linux:Passato Presente e Futuro p. 1 Quality of Service Time Sensitive applications
Chapter 1: Introduction. Chapter 1: Introduction. Operating System Concepts, 7th Edition. Objectives
Chapter 1: Introduction Chapter 1: Introduction 1.1 What Operating Systems Do 1.2 Computer-System Organization 1.3 Computer-System Architecture 1.4 Operating-System Structure 1.5 Operating-System Operations
Amoeba Distributed Operating System
Amoeba Distributed Operating System Matt Ramsay Tim Kiegel Heath Memmer CS470 Case Study Paper 4/19/02 Amoeba Introduction The Amoeba operating system began as a research project at Vrije Universiteit
POSIX. RTOSes Part I. POSIX Versions. POSIX Versions (2)
RTOSes Part I Christopher Kenna September 24, 2010 POSIX Portable Operating System for UnIX Application portability at source-code level POSIX Family formally known as IEEE 1003 Originally 17 separate
CPU Scheduling Outline
CPU Scheduling Outline What is scheduling in the OS? What are common scheduling criteria? How to evaluate scheduling algorithms? What are common scheduling algorithms? How is thread scheduling different
Operating Systems Introduction and Overview. Otto J. Anshus
Operating Systems Introduction and Overview Otto J. Anshus How To Deal with Complexity (a.k.a. Best Advice You Will Ever Get)? 2 How To Deal with Complexity (a.k.a. Best Advice You Will Ever Get)? Do Early
Deciding which process to run. (Deciding which thread to run) Deciding how long the chosen process can run
SFWR ENG 3BB4 Software Design 3 Concurrent System Design 2 SFWR ENG 3BB4 Software Design 3 Concurrent System Design 11.8 10 CPU Scheduling Chapter 11 CPU Scheduling Policies Deciding which process to run
