Multitasking Operating Systems
|
|
- Kristina Sanders
- 5 years ago
- Views:
Transcription
1 Multitasking Operating Systems José Costa Software for Embedded Systems Department of Computer Science and Engineering (DEI) Instituto Superior Técnico José Costa (DEI/IST) Multitasking Operating Systems / 40
2 Outline Motivation for processes The process abstraction Context switching Multitasking José Costa (DEI/IST) Multitasking Operating Systems / 40
3 Reactive systems Respond to external events Engine controller Seat belt monitor Requires real-time response System architecture Program implementation May require a chain reaction among multiple processors José Costa (DEI/IST) Multitasking Operating Systems / 40
4 Why Multiple Processes? Processes help us manage timing complexities Multiple rates multimedia automotive Asynchronous input user interfaces communication systems José Costa (DEI/IST) Multitasking Operating Systems / 40
5 Multi-rate Systems Tasks may be synchronous or asynchronous Synchronous tasks may recur at different rates Processes run at different rates based on computational needs of the tasks Period of a process Is the time between sucessive executions Is the inverse of the rate José Costa (DEI/IST) Multitasking Operating Systems / 40
6 Example: Engine Control Tasks spark control crankshaft sensing fuel/air mixture oxygen sensor Kalman filter state machine José Costa (DEI/IST) Multitasking Operating Systems / 40
7 Typical Rates in Engine Control José Costa (DEI/IST) Multitasking Operating Systems / 40
8 Life Without Processes Code turns into a mess interruptions of one task for another spaghetti code Although it can still be developed under a strong discipline (e. g. round robin architecture) A_code();... B_code();... if (C) C_code();... A_code();... switch (x) { case C: C(); case D: D();... José Costa (DEI/IST) Multitasking Operating Systems / 40
9 Co-Routines Commonly used in the early days of embedded computing to handle multiple processes without processes Useful example of the complexities of not using processes for certain applications José Costa (DEI/IST) Multitasking Operating Systems / 40
10 Co-Routine Methodology Like subroutine, but caller determines the return address Co-routines voluntarily give up control to other co-routines Pattern of control transfers is embedded in the code José Costa (DEI/IST) Multitasking Operating Systems / 40
11 Co-Routine s Disadvantages Does not do nearly enough to help us construct complex programs with significant timing properties Can be ugly to work with it s hard to trace through the flow of control José Costa (DEI/IST) Multitasking Operating Systems / 40
12 Processes Processes allow us to handle complex systems fundamental abstraction for dealing with multiple simultaneous operations A process is a unique execution of a program defined by its data and code several copies of a program may run simultaneously or at different times A process has its own state registers memory The operating system manages processes José Costa (DEI/IST) Multitasking Operating Systems / 40
13 Processes and CPUs Activation record: copy of process state Context switch current CPU context goes out new CPU context goes in José Costa (DEI/IST) Multitasking Operating Systems / 40
14 Terms Thread (lightweight process) a process that shares memory space with other processes Reentrancy ability of a program to be executed several times with the same results programs are easier to debug if they are reentrant José Costa (DEI/IST) Multitasking Operating Systems / 40
15 Processes in POSIX Create a process with fork parent process keeps executing old program child process executes new program José Costa (DEI/IST) Multitasking Operating Systems / 40
16 fork() The fork process creates child: childid = fork(); if (childid == 0) { /* child operations */ } else { /* parent operations */ } José Costa (DEI/IST) Multitasking Operating Systems / 40
17 execv() Overlays child code: childid = fork(); if (childid == 0) { execv( mychild,childargs); perror( execv ); exit(1); } José Costa (DEI/IST) Multitasking Operating Systems / 40
18 Context Switching It s the mechanism for moving the CPU from one executing process to another A process should not be able to tell that it was stopped and then restarted Questions Who controls when the context is switched? How is the context switched? José Costa (DEI/IST) Multitasking Operating Systems / 40
19 Co-operative Multitasking Improvement on co-routines hides context switching mechanism still relies on processes to give up CPU Each process allows a context switch call Separate scheduler chooses which process runs next Implementable with a function-queue architecture José Costa (DEI/IST) Multitasking Operating Systems / 40
20 Problems with Co-operative Multitasking Programming errors can keep other processes out Process never gives up CPU Process waits too long to switch, missing input José Costa (DEI/IST) Multitasking Operating Systems / 40
21 Context Switching Must copy all registers to activation record, keeping proper return value for PC Must copy new activation record into CPU state José Costa (DEI/IST) Multitasking Operating Systems / 40
22 Context Switching in ARM Save old process: STMIA r13,{r0-r14}^ ; save registers MRS r0,spsr STMDB r13,{r0,r15} ; save status register and PC Start new process: ADR r0,nextproc ; get address of next process LDR r13,[r0] LDMDB r13,{r0,r14} MSR SPSR,r0 ; set status register LDMIA r13,{r0-r14}^ ; get registers MOVS pc,r14 ; restore PC José Costa (DEI/IST) Multitasking Operating Systems / 40
23 Preemptive Multitasking Most powerful form of multitasking OS controls when contexts switches OS determines what process runs next Uses timer to call OS and to switch contexts José Costa (DEI/IST) Multitasking Operating Systems / 40
24 Flow of Control with Preemption José Costa (DEI/IST) Multitasking Operating Systems / 40
25 Preemptive Context Switching Timer interrupt gives control to OS, which saves interrupted process s state in an activation record OS chooses next process to run OS installs desired activation record as current CPU state José Costa (DEI/IST) Multitasking Operating Systems / 40
26 Why Not Use Interrupts? How We could change the interrupt vector at every period When there was an interrupt the corresponding process would run But We would need management code anyway We would have to know the next period s process at the start of the current process José Costa (DEI/IST) Multitasking Operating Systems / 40
27 Evaluating Performance May want to test context switch time assumptions scheduling policy Can use OS simulator to exercise process set trace system behavior José Costa (DEI/IST) Multitasking Operating Systems / 40
28 Processes and Caches Processes can cause additional caching problems even if individual processes are well-behaved, processes may interfere with each other Worst-case execution time with bad cache behavior is usually much worse than execution time with good cache behavior José Costa (DEI/IST) Multitasking Operating Systems / 40
29 Examples of Operating Systems There are lots of operating systems targeted at embedded systems Used in a myriad of applications With more or less features Ported to great number of microprocessors José Costa (DEI/IST) Multitasking Operating Systems / 40
30 TinyOS Started as a collaboration between the University of California, Berkeley in co-operation with Intel Research and Crossbow Technology Targeted at Wireless Sensor Networks Programmed in nesc Interfaces and components for common abstractions packet communication, routing, sensing, actuation and storage José Costa (DEI/IST) Multitasking Operating Systems / 40
31 DSPnano embedded real-time operating system 100% compatible with POSIX capabilities for threads, communication, synchronization and I/O Programmed in C Targeted at high performance real time digital signal processing José Costa (DEI/IST) Multitasking Operating Systems / 40
32 ThreadX Real-time operating system Multitasking kernel with preemptive scheduling, fast interrupt response, memory management, interthread communication, mutual exclusion, event notification, and thread synchronization features Programmed in C Used in printer products of HP targeted also at consumer electronics, medical devices, data networking applications, and SoC development José Costa (DEI/IST) Multitasking Operating Systems / 40
33 NetBSD Open-source Unix-like operating system Derived from the BSD Ported to a large number architectures "Of course it runs NetBSD" Used in routers, switchers and a toaster José Costa (DEI/IST) Multitasking Operating Systems / 40
34 FreeRTOS Real-time operating system Designed to be small and simple only three C source files Provides methods for multiple threads or tasks, mutexes, semaphores and software timers Good portability José Costa (DEI/IST) Multitasking Operating Systems / 40
35 uclinux Pronounced "you-see-linux" Fork of the Linux kernel for microcontrollers without a memory management unit Used in network routers, security cameras, DVD/MP3 players, VoIP phone or Gateways, scanners and card readers. José Costa (DEI/IST) Multitasking Operating Systems / 40
36 Contiki Provides multitasking and built-in TCP/IP stack Run on devices that are severely constrained in terms of memory, power, processing power, and communication bandwidth focus on low-power wireless internet of things devices Used in street lighting systems, sound monitoring for smart cities, radiation monitoring systems, and alarm systems José Costa (DEI/IST) Multitasking Operating Systems / 40
37 Others Smartphones Android, ios,... Cisco IOS brickos, lejos many, many more José Costa (DEI/IST) Multitasking Operating Systems / 40
38 Outline Motivation for processes The process abstraction Context switching Multitasking José Costa (DEI/IST) Multitasking Operating Systems / 40
39 References Computers as Components: Principles of Embedded Computing System Design, Wayne Wolf. Morgan Kaufman, Ch José Costa (DEI/IST) Multitasking Operating Systems / 40
40 Next Class Scheduling policies José Costa (DEI/IST) Multitasking Operating Systems / 40
Processes (Tasks) and operating systems. Why multiple processes? Example: engine control
Processes (Tasks) and operating systems Motivation for processes. The process abstraction. Context switching. Multitasking. Processes and UML. Operating systems Why multiple processes? Processes help us
More informationReminder. Final exam. Tentative time: December 6th, 4:30pm-5:45pm Location: G26. ECE 1160/2160 Embedded System Design 1
Reminder Final exam Tentative time: December 6th, 4:30pm-5:45pm Location: G26 ECE 1160/2160 Embedded System Design 1 Recap from last class Hardware support CMOS, Clock gating, Supply shutdown, Dynamic
More information2. Introduction to Software for Embedded Systems
2. Introduction to Software for Embedded Systems Lothar Thiele ETH Zurich, Switzerland 2-1 Contents of Lectures (Lothar Thiele) 1. Introduction to Embedded System Design 2. Software for Embedded Systems
More informationThe Embedded Computing Platform
The Embedded Computing Platform I/O Interfaces and Service José Costa Software for Embedded Systems Department of Computer Science and Engineering (DEI) Instituto Superior Técnico Adapted from the overheads
More informationJosé Costa What is an embedded system? Examples of embedded systems. Characteristics of embedded systems
José Costa (DEI/IST) What is an Embedded System? 2012-02-14 2 / 40 What is an Embedded System? José Costa Software for Embedded Systems Department of Computer Science and Engineering (DEI) Instituto Superior
More informationHardware Accelerators
Hardware Accelerators José Costa Software for Embedded Systems Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2014-04-08 José Costa (DEI/IST) Hardware Accelerators 1 Outline Hardware
More informationProcesses and Multitasking
Processes and Multitasking EE8205: Embedded Computer Systems http://www.ee.ryerson.ca/~courses/ee8205/ Dr. Gul N. Khan http://www.ee.ryerson.ca/~gnkhan Electrical and Computer Engineering Ryerson University
More informationCSC Operating Systems Spring Lecture - XII Midterm Review. Tevfik Ko!ar. Louisiana State University. March 4 th, 2008.
CSC 4103 - Operating Systems Spring 2008 Lecture - XII Midterm Review Tevfik Ko!ar Louisiana State University March 4 th, 2008 1 I/O Structure After I/O starts, control returns to user program only upon
More informationCSC 4320 Test 1 Spring 2017
CSC 4320 Test 1 Spring 2017 Name 1. What are the three main purposes of an operating system? 2. Which of the following instructions should be privileged? a. Set value of timer. b. Read the clock. c. Clear
More informationPower Management. José Costa. Software for Embedded Systems. Departamento de Engenharia Informática (DEI) Instituto Superior Técnico
Power Management José Costa Software for Embedded Systems Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2015-03-30 José Costa (DEI/IST) Power Management 1 Outline CPU Power Consumption
More informationMultiprocessor and Real- Time Scheduling. Chapter 10
Multiprocessor and Real- Time Scheduling Chapter 10 Classifications of Multiprocessor Loosely coupled multiprocessor each processor has its own memory and I/O channels Functionally specialized processors
More informationReal-Time Operating Systems Design and Implementation. LS 12, TU Dortmund
Real-Time Operating Systems Design and Implementation (slides are based on Prof. Dr. Jian-Jia Chen) Anas Toma, Jian-Jia Chen LS 12, TU Dortmund October 19, 2017 Anas Toma, Jian-Jia Chen (LS 12, TU Dortmund)
More informationREAL TIME OPERATING SYSTEM PROGRAMMING-I: VxWorks
REAL TIME OPERATING SYSTEM PROGRAMMING-I: I: µc/os-ii and VxWorks Lesson-1: RTOSes 1 1. Kernel of an RTOS 2 Kernel of an RTOS Used for real-time programming features to meet hard and soft real time constraints,
More informationReal-Time Programming
Real-Time Programming Week 7: Real-Time Operating Systems Instructors Tony Montiel & Ken Arnold rtp@hte.com 4/1/2003 Co Montiel 1 Objectives o Introduction to RTOS o Event Driven Systems o Synchronization
More informationOperating Systems Comprehensive Exam. Spring Student ID # 3/16/2006
Operating Systems Comprehensive Exam Spring 2006 Student ID # 3/16/2006 You must complete all of part I (60%) You must complete two of the three sections in part II (20% each) In Part I, circle or select
More informationTimers 1 / 46. Jiffies. Potent and Evil Magic
Timers 1 / 46 Jiffies Each timer tick, a variable called jiffies is incremented It is thus (roughly) the number of HZ since system boot A 32-bit counter incremented at 1000 Hz wraps around in about 50
More informationProcesses. CS 475, Spring 2018 Concurrent & Distributed Systems
Processes CS 475, Spring 2018 Concurrent & Distributed Systems Review: Abstractions 2 Review: Concurrency & Parallelism 4 different things: T1 T2 T3 T4 Concurrency: (1 processor) Time T1 T2 T3 T4 T1 T1
More informationMotivation. Reactive Systems. This Week s Topic. CprE 488 Embedded Systems Design. Lecture 5 Embedded Operating Systems
CprE 488 Embedded Systems Design Lecture 5 Embedded Operating Systems Joseph Zambreno Electrical and Computer Engineering Iowa State University www.ece.iastate.edu/~zambreno rcl.ece.iastate.edu...the Linux
More informationCprE 488 Embedded Systems Design. Lecture 5 Embedded Operating Systems
CprE 488 Embedded Systems Design Lecture 5 Embedded Operating Systems Joseph Zambreno Electrical and Computer Engineering Iowa State University www.ece.iastate.edu/~zambreno rcl.ece.iastate.edu...the Linux
More informationCSE 4/521 Introduction to Operating Systems. Lecture 29 Windows 7 (History, Design Principles, System Components, Programmer Interface) Summer 2018
CSE 4/521 Introduction to Operating Systems Lecture 29 Windows 7 (History, Design Principles, System Components, Programmer Interface) Summer 2018 Overview Objective: To explore the principles upon which
More informationLINUX INTERNALS & NETWORKING Weekend Workshop
Here to take you beyond LINUX INTERNALS & NETWORKING Weekend Workshop Linux Internals & Networking Weekend workshop Objectives: To get you started with writing system programs in Linux Build deeper view
More informationSMD149 - Operating Systems
SMD149 - Operating Systems Roland Parviainen November 3, 2005 1 / 45 Outline Overview 2 / 45 Process (tasks) are necessary for concurrency Instance of a program in execution Next invocation of the program
More informationPrecept 2: Non-preemptive Scheduler. COS 318: Fall 2018
Precept 2: Non-preemptive Scheduler COS 318: Fall 2018 Project 2 Schedule Precept: Monday 10/01, 7:30pm (You are here) Design Review: Monday 10/08, 3-7pm Due: Sunday 10/14, 11:55pm Project 2 Overview Goal:
More information* What are the different states for a task in an OS?
* Kernel, Services, Libraries, Application: define the 4 terms, and their roles. The kernel is a computer program that manages input/output requests from software, and translates them into data processing
More informationAnnouncements Processes: Part II. Operating Systems. Autumn CS4023
Operating Systems Autumn 2018-2019 Outline Announcements 1 Announcements 2 Announcements Week04 lab: handin -m cs4023 -p w04 ICT session: Introduction to C programming Outline Announcements 1 Announcements
More informationDesign of Embedded Systems
Design of Embedded Systems José Costa Software for Embedded Systems Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2015-01-02 José Costa (DEI/IST) Design of Embedded Systems 1
More informationLecture 17: Threads and Scheduling. Thursday, 05 Nov 2009
CS211: Programming and Operating Systems Lecture 17: Threads and Scheduling Thursday, 05 Nov 2009 CS211 Lecture 17: Threads and Scheduling 1/22 Today 1 Introduction to threads Advantages of threads 2 User
More informationSistemi in Tempo Reale
Laurea Specialistica in Ingegneria dell'automazione Sistemi in Tempo Reale Giuseppe Lipari Introduzione alla concorrenza Fundamentals Algorithm: It is the logical procedure to solve a certain problem It
More informationCS-537: Midterm Exam (Spring 2001)
CS-537: Midterm Exam (Spring 2001) Please Read All Questions Carefully! There are seven (7) total numbered pages Name: 1 Grading Page Points Total Possible Part I: Short Answers (12 5) 60 Part II: Long
More informationLecture notes Lectures 1 through 5 (up through lecture 5 slide 63) Book Chapters 1-4
EE445M Midterm Study Guide (Spring 2017) (updated February 25, 2017): Instructions: Open book and open notes. No calculators or any electronic devices (turn cell phones off). Please be sure that your answers
More informationLecture 4: Threads; weaving control flow
Lecture 4: Threads; weaving control flow CSE 120: Principles of Operating Systems Alex C. Snoeren HW 1 Due NOW Announcements Homework #1 due now Project 0 due tonight Project groups Please send project
More informationProcess Monitoring in Operating System Linux
Process Monitoring in Operating System Linux ZDENEK SLANINA, VILEM SROVNAL Department of Measurement and Control VSB Technical University of Ostrava 17. listopadu 15, 708 33 Ostrava-Poruba CZECH REPUBLIC
More informationEECS 482 Introduction to Operating Systems
EECS 482 Introduction to Operating Systems Winter 2018 Harsha V. Madhyastha Monitors vs. Semaphores Monitors: Custom user-defined conditions Developer must control access to variables Semaphores: Access
More informationMARUTHI SCHOOL OF BANKING (MSB)
MARUTHI SCHOOL OF BANKING (MSB) SO IT - OPERATING SYSTEM(2017) 1. is mainly responsible for allocating the resources as per process requirement? 1.RAM 2.Compiler 3.Operating Systems 4.Software 2.Which
More informationW4118 Operating Systems. Junfeng Yang
W4118 Operating Systems Junfeng Yang What is a process? Outline Process dispatching Common process operations Inter-process Communication What is a process Program in execution virtual CPU Process: an
More informationLecture Topics. Announcements. Today: Operating System Overview (Stallings, chapter , ) Next: Processes (Stallings, chapter
Lecture Topics Today: Operating System Overview (Stallings, chapter 2.1-2.4, 2.8-2.10) Next: Processes (Stallings, chapter 3.1-3.6) 1 Announcements Consulting hours posted Self-Study Exercise #3 posted
More informationOS 1 st Exam Name Solution St # (Q1) (19 points) True/False. Circle the appropriate choice (there are no trick questions).
OS 1 st Exam Name Solution St # (Q1) (19 points) True/False. Circle the appropriate choice (there are no trick questions). (a) (b) (c) (d) (e) (f) (g) (h) (i) T_ The two primary purposes of an operating
More informationLinux Operating System
Linux Operating System Dept. of Computer Science & Engineering 1 History Linux is a modern, free operating system based on UNIX standards. First developed as a small but self-contained kernel in 1991 by
More informationOperating Systems Design Fall 2010 Exam 1 Review. Paul Krzyzanowski
Operating Systems Design Fall 2010 Exam 1 Review Paul Krzyzanowski pxk@cs.rutgers.edu 1 Question 1 To a programmer, a system call looks just like a function call. Explain the difference in the underlying
More informationSubject: Operating System (BTCOC403) Class: S.Y.B.Tech. (Computer Engineering)
A. Multiple Choice Questions (60 questions) Subject: Operating System (BTCOC403) Class: S.Y.B.Tech. (Computer Engineering) Unit-I 1. What is operating system? a) collection of programs that manages hardware
More informationECE 598 Advanced Operating Systems Lecture 11
ECE 598 Advanced Operating Systems Lecture 11 Vince Weaver http://www.eece.maine.edu/~vweaver vincent.weaver@maine.edu 23 February 2016 Announcements Homework #5 Posted Some notes, discovered the hard
More informationRTOS Real T i Time me Operating System System Concepts Part 2
RTOS Real Time Operating System Concepts Part 2 Real time System Pitfalls - 4: The Ariane 5 satelite launch rocket Rocket self destructed in 4 June -1996. Exactly after 40 second of lift off at an attitude
More informationPOSIX Threads: a first step toward parallel programming. George Bosilca
POSIX Threads: a first step toward parallel programming George Bosilca bosilca@icl.utk.edu Process vs. Thread A process is a collection of virtual memory space, code, data, and system resources. A thread
More informationCS153: Midterm (Fall 16)
Name: CS153: Midterm (Fall 16) Answer all questions. State any assumptions clearly. Problem 1: (16 points + 2 bonus; 10 minutes) Mark any 8 of the following statements as True or False. Answer all 10 to
More informationLecture Topics. Announcements. Today: Threads (Stallings, chapter , 4.6) Next: Concurrency (Stallings, chapter , 5.
Lecture Topics Today: Threads (Stallings, chapter 4.1-4.3, 4.6) Next: Concurrency (Stallings, chapter 5.1-5.4, 5.7) 1 Announcements Make tutorial Self-Study Exercise #4 Project #2 (due 9/20) Project #3
More informationUC Santa Barbara. Operating Systems. Christopher Kruegel Department of Computer Science UC Santa Barbara
Operating Systems Christopher Kruegel Department of Computer Science http://www.cs.ucsb.edu/~chris/ Input and Output Input/Output Devices The OS is responsible for managing I/O devices Issue requests Manage
More informationProcesses The Process Model. Chapter 2. Processes and Threads. Process Termination. Process Creation
Chapter 2 Processes The Process Model Processes and Threads 2.1 Processes 2.2 Threads 2.3 Interprocess communication 2.4 Classical IPC problems 2.5 Scheduling Multiprogramming of four programs Conceptual
More informationThreads. Thread Concept Multithreading Models User & Kernel Threads Pthreads Threads in Solaris, Linux, Windows. 2/13/11 CSE325 - Threads 1
Threads Thread Concept Multithreading Models User & Kernel Threads Pthreads Threads in Solaris, Linux, Windows 2/13/11 CSE325 - Threads 1 Threads The process concept incorporates two abstractions: a virtual
More information3.1 Introduction. Computers perform operations concurrently
PROCESS CONCEPTS 1 3.1 Introduction Computers perform operations concurrently For example, compiling a program, sending a file to a printer, rendering a Web page, playing music and receiving e-mail Processes
More informationLinux Driver and Embedded Developer
Linux Driver and Embedded Developer Course Highlights The flagship training program from Veda Solutions, successfully being conducted from the past 10 years A comprehensive expert level course covering
More informationNuttX Realtime Programming
NuttX RTOS NuttX Realtime Programming Gregory Nutt Overview Interrupts Cooperative Scheduling Tasks Work Queues Realtime Schedulers Real Time == == Deterministic Response Latency Stimulus Response Deadline
More informationReal-time Support in Operating Systems
Real-time Support in Operating Systems Colin Perkins teaching/2003-2004/rtes4/lecture11.pdf Lecture Outline Overview of the rest of the module Real-time support in operating systems Overview of concepts
More informationOutline. Threads. Single and Multithreaded Processes. Benefits of Threads. Eike Ritter 1. Modified: October 16, 2012
Eike Ritter 1 Modified: October 16, 2012 Lecture 8: Operating Systems with C/C++ School of Computer Science, University of Birmingham, UK 1 Based on material by Matt Smart and Nick Blundell Outline 1 Concurrent
More informationPreemptive Scheduling
Preemptive Scheduling Lecture 18 18-1 Big Picture Methods learned so far We ve been using a foreground/background system Interrupt service routines run in foreground Task code runs in background Limitations
More informationOperating Systems Comprehensive Exam. Fall Student ID # 10/31/2013
Operating Systems Comprehensive Exam Fall 2013 Student ID # 10/31/2013 You must complete all of Section I You must complete two of the problems in Section II If you need more space to answer a question,
More informationELEC 377 Operating Systems. Week 1 Class 2
Operating Systems Week 1 Class 2 Labs vs. Assignments The only work to turn in are the labs. In some of the handouts I refer to the labs as assignments. There are no assignments separate from the labs.
More informationTHE CPU SPENDS ALMOST ALL of its time fetching instructions from memory
THE CPU SPENDS ALMOST ALL of its time fetching instructions from memory and executing them. However, the CPU and main memory are only two out of many components in a real computer system. A complete system
More informationProcesses Prof. James L. Frankel Harvard University. Version of 6:16 PM 10-Feb-2017 Copyright 2017, 2015 James L. Frankel. All rights reserved.
Processes Prof. James L. Frankel Harvard University Version of 6:16 PM 10-Feb-2017 Copyright 2017, 2015 James L. Frankel. All rights reserved. Process Model Each process consists of a sequential program
More informationMotivation. Threads. Multithreaded Server Architecture. Thread of execution. Chapter 4
Motivation Threads Chapter 4 Most modern applications are multithreaded Threads run within application Multiple tasks with the application can be implemented by separate Update display Fetch data Spell
More informationChapter 4: Threads. Chapter 4: Threads
Chapter 4: Threads Silberschatz, Galvin and Gagne 2009 Chapter 4: Threads Overview Multithreading Models Thread Libraries Threading Issues Operating System Examples Windows XP Threads Linux Threads 4.2
More informationOperating Systems: William Stallings. Starvation. Patricia Roy Manatee Community College, Venice, FL 2008, Prentice Hall
Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 6 Concurrency: Deadlock and Starvation Patricia Roy Manatee Community College, Venice, FL 2008, Prentice Hall Deadlock
More informationW4118: OS Overview. Junfeng Yang
W4118: OS Overview Junfeng Yang References: Modern Operating Systems (3 rd edition), Operating Systems Concepts (8 th edition), previous W4118, and OS at MIT, Stanford, and UWisc Outline OS definitions
More informationCS 333 Introduction to Operating Systems. Class 3 Threads & Concurrency. Jonathan Walpole Computer Science Portland State University
CS 333 Introduction to Operating Systems Class 3 Threads & Concurrency Jonathan Walpole Computer Science Portland State University 1 Process creation in UNIX All processes have a unique process id getpid(),
More informationProcesses & Threads. Recap of the Last Class. Microkernel System Architecture. Layered Structure
Recap of the Last Class Processes & Threads CS 256/456 Dept. of Computer Science, University of Rochester Hardware protection kernel and user mode System components process management, memory management,
More informationThreads Implementation. Jo, Heeseung
Threads Implementation Jo, Heeseung Today's Topics How to implement threads? User-level threads Kernel-level threads Threading models 2 Kernel/User-level Threads Who is responsible for creating/managing
More informationWhat s An OS? Cyclic Executive. Interrupts. Advantages Simple implementation Low overhead Very predictable
What s An OS? Provides environment for executing programs Process abstraction for multitasking/concurrency scheduling Hardware abstraction layer (device drivers) File systems Communication Do we need an
More informationCSL373: Lecture 5 Deadlocks (no process runnable) + Scheduling (> 1 process runnable)
CSL373: Lecture 5 Deadlocks (no process runnable) + Scheduling (> 1 process runnable) Past & Present Have looked at two constraints: Mutual exclusion constraint between two events is a requirement that
More informationKernel Types Simple OS Examples System Calls. Operating Systems. Autumn CS4023
Operating Systems Autumn 2017-2018 Outline 1 2 3 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
More informationDr. Rafiq Zakaria Campus. Maulana Azad College of Arts, Science & Commerce, Aurangabad. Department of Computer Science. Academic Year
Dr. Rafiq Zakaria Campus Maulana Azad College of Arts, Science & Commerce, Aurangabad Department of Computer Science Academic Year 2015-16 MCQs on Operating System Sem.-II 1.What is operating system? a)
More informationVEOS high level design. Revision 2.1 NEC
high level design Revision 2.1 NEC Table of contents About this document What is Components Process management Memory management System call Signal User mode DMA and communication register Feature list
More informationProcesses. Process Scheduling, Process Synchronization, and Deadlock will be discussed further in Chapters 5, 6, and 7, respectively.
Processes Process Scheduling, Process Synchronization, and Deadlock will be discussed further in Chapters 5, 6, and 7, respectively. 1. Process Concept 1.1 What is a Process? A process is a program in
More informationProcesses. Dr. Yingwu Zhu
Processes Dr. Yingwu Zhu Process Growing Memory Stack expands automatically Data area (heap) can grow via a system call that requests more memory - malloc() in c/c++ Entering the kernel (mode) Hardware
More informationUNIT -3 PROCESS AND OPERATING SYSTEMS 2marks 1. Define Process? Process is a computational unit that processes on a CPU under the control of a scheduling kernel of an OS. It has a process structure, called
More informationZiLOG Real-Time Kernel Version 1.2.0
ez80acclaim Family of Microcontrollers Version 1.2.0 PRELIMINARY Introduction The (RZK) is a realtime, preemptive, multitasking kernel designed for time-critical embedded applications. It is currently
More informationProcesses. CS3026 Operating Systems Lecture 05
Processes CS3026 Operating Systems Lecture 05 Dispatcher Admit Ready Queue Dispatch Processor Release Timeout or Yield Event Occurs Blocked Queue Event Wait Implementation: Using one Ready and one Blocked
More informationProcesses The Process Model. Chapter 2 Processes and Threads. Process Termination. Process States (1) Process Hierarchies
Chapter 2 Processes and Threads Processes The Process Model 2.1 Processes 2.2 Threads 2.3 Interprocess communication 2.4 Classical IPC problems 2.5 Scheduling Multiprogramming of four programs Conceptual
More informationCMPS 111 Spring 2003 Midterm Exam May 8, Name: ID:
CMPS 111 Spring 2003 Midterm Exam May 8, 2003 Name: ID: This is a closed note, closed book exam. There are 20 multiple choice questions and 5 short answer questions. Plan your time accordingly. Part I:
More informationLast class: Today: Thread Background. Thread Systems
1 Last class: Thread Background Today: Thread Systems 2 Threading Systems 3 What kind of problems would you solve with threads? Imagine you are building a web server You could allocate a pool of threads,
More informationR13 SET - 1 2. Answering the question in Part-A is compulsory 1 a) Define Operating System. List out the objectives of an operating system. [3M] b) Describe different attributes of the process. [4M] c)
More informationOperating Systems Comprehensive Exam. Spring Student ID # 3/20/2013
Operating Systems Comprehensive Exam Spring 2013 Student ID # 3/20/2013 You must complete all of Section I You must complete two of the problems in Section II If you need more space to answer a question,
More informationJan 20, 2005 Lecture 2: Multiprogramming OS
Jan 20, 2005 Lecture 2: Multiprogramming OS February 17, 2005 1 Review OS mediates between hardware and user software QUIZ: Q: What is the most important function in an OS? A: To support multiprogramming
More informationZilog Real-Time Kernel
An Company Configurable Compilation RZK allows you to specify system parameters at compile time. For example, the number of objects, such as threads and semaphores required, are specez80acclaim! Family
More informationExam TI2720-C/TI2725-C Embedded Software
Exam TI2720-C/TI2725-C Embedded Software Wednesday April 16 2014 (18.30-21.30) Koen Langendoen In order to avoid misunderstanding on the syntactical correctness of code fragments in this examination, we
More informationECE 574 Cluster Computing Lecture 8
ECE 574 Cluster Computing Lecture 8 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 16 February 2017 Announcements Too many snow days Posted a video with HW#4 Review HW#5 will
More informationProcesses and Threads
Processes and Threads Giuseppe Anastasi g.anastasi@iet.unipi.it Pervasive Computing & Networking Lab. () Dept. of Information Engineering, University of Pisa Based on original slides by Silberschatz, Galvin
More informationOperating Systems CMPSCI 377 Spring Mark Corner University of Massachusetts Amherst
Operating Systems CMPSCI 377 Spring 2017 Mark Corner University of Massachusetts Amherst Multilevel Feedback Queues (MLFQ) Multilevel feedback queues use past behavior to predict the future and assign
More informationConcurrency: Deadlock and Starvation. Chapter 6
Concurrency: Deadlock and Starvation Chapter 6 Deadlock Permanent blocking of a set of processes that either compete for system resources or communicate with each other Involve conflicting needs for resources
More informationProblem Set: Processes
Lecture Notes on Operating Systems Problem Set: Processes 1. Answer yes/no, and provide a brief explanation. (a) Can two processes be concurrently executing the same program executable? (b) Can two running
More informationMon Sep 17, 2007 Lecture 3: Process Management
Mon Sep 17, 2007 Lecture 3: Process Management September 19, 2007 1 Review OS mediates between hardware and user software QUIZ: Q: Name three layers of a computer system where the OS is one of these layers.
More informationScheduling Mar. 19, 2018
15-410...Everything old is new again... Scheduling Mar. 19, 2018 Dave Eckhardt Brian Railing Roger Dannenberg 1 Outline Chapter 5 (or Chapter 7): Scheduling Scheduling-people/textbook terminology note
More informationLast Class: CPU Scheduling. Pre-emptive versus non-preemptive schedulers Goals for Scheduling: CS377: Operating Systems.
Last Class: CPU Scheduling Pre-emptive versus non-preemptive schedulers Goals for Scheduling: Minimize average response time Maximize throughput Share CPU equally Other goals? Scheduling Algorithms: Selecting
More informationChapter 4: Threads. Overview Multithreading Models Thread Libraries Threading Issues Operating System Examples Windows XP Threads Linux Threads
Chapter 4: Threads Overview Multithreading Models Thread Libraries Threading Issues Operating System Examples Windows XP Threads Linux Threads Chapter 4: Threads Objectives To introduce the notion of a
More informationCS A320 Operating Systems for Engineers
CS A320 Operating Systems for Engineers Lecture 8 Review Through MOS Chapter 4 and Material Up to EXAM #1 October 14, 2013 Sam Siewert History of OS and Abstraction History of Unix and Linux (Multics)
More informationCSE 153 Design of Operating Systems Fall 2018
CSE 153 Design of Operating Systems Fall 2018 Lecture 5: Threads/Synchronization Implementing threads l Kernel Level Threads l u u All thread operations are implemented in the kernel The OS schedules all
More informationMidterm Exam. October 20th, Thursday NSC
CSE 421/521 - Operating Systems Fall 2011 Lecture - XIV Midterm Review Tevfik Koşar University at Buffalo October 18 th, 2011 1 Midterm Exam October 20th, Thursday 9:30am-10:50am @215 NSC Chapters included
More informationCS 153 Design of Operating Systems Winter 2016
CS 153 Design of Operating Systems Winter 2016 Lecture 6: Threads Recap: Process Components Per- Process State Per- Thread State A process is named using its process ID (PID) A process contains all of
More informationProblem Set: Processes
Lecture Notes on Operating Systems Problem Set: Processes 1. Answer yes/no, and provide a brief explanation. (a) Can two processes be concurrently executing the same program executable? (b) Can two running
More informationRecap: Thread. What is it? What does it need (thread private)? What for? How to implement? Independent flow of control. Stack
What is it? Recap: Thread Independent flow of control What does it need (thread private)? Stack What for? Lightweight programming construct for concurrent activities How to implement? Kernel thread vs.
More informationAsynchronous Events on Linux
Asynchronous Events on Linux Frederic.Rossi@Ericsson.CA Open System Lab Systems Research June 25, 2002 Ericsson Research Canada Introduction Linux performs well as a general purpose OS but doesn t satisfy
More informationWindows 7 Overview. Windows 7. Objectives. The History of Windows. CS140M Fall Lake 1
Windows 7 Overview Windows 7 Overview By Al Lake History Design Principles System Components Environmental Subsystems File system Networking Programmer Interface Lake 2 Objectives To explore the principles
More information