Putting the Cyclic Executive into Practice T. P. BakerAlan Shaw, “The Cyclic Executive Model and Ada” Implementation approaches for a Cyclic Executive:

Slides:



Advertisements
Similar presentations
Operating Systems Semaphores II
Advertisements

Network II.5 simulator ..
4.4 Page replacement algorithms
Real-Time Library: RTX
Concurrency Important and difficult (Ada slides copied from Ed Schonberg)
A look at interrupts What are interrupts and why are they needed.
EEE 243B Applied Computer Programming Timing considerations.
Introduction To The ARM Microprocessor
Introduction to Operating Systems – Windows process and thread management In this lecture we will cover Threads and processes in Windows Thread priority.
Dresden—December 11, 2001 The BEST Desktop Soft Real-Time Scheduler Scott Banachowski and Scott Brandt University of California, Santa Cruz
A look at interrupts What are interrupts and why are they needed.
1 Service Scheduler in a Trustworthy Web Server Yinong Chen.
Real-Time Kernels and Operating Systems. Operating System: Software that coordinates multiple tasks in processor, including peripheral interfacing Types.
1 Prototype Design of an Evolutionary Trustworthy Web Server  Hons Project Fall 2003.
1 Organization of Programming Languages-Cheng (Fall 2004) Concurrency u A PROCESS or THREAD:is a potentially-active execution context. Classic von Neumann.
7/2/ _23 1 Pipelining ECE-445 Computer Organization Dr. Ron Hayne Electrical and Computer Engineering.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts, Amherst Operating Systems CMPSCI 377 Lecture.
Decoding Barcodes Various approaches. Decoding barcodes There are a number of ways of decoding the barcodes –The data can be polled –The data can be read.
Fundamentals of Python: From First Programs Through Data Structures
Advanced Embedded Systems Design Pre-emptive scheduler BAE 5030 Fall 2004 Roshani Jayasekara Biosystems and Agricultural Engineering Oklahoma State University.
 Methods of abortion  Statistics  Possible solutions.
Real-Time Software Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Module 2 Clock-Driven Scheduling
Nachos Phase 1 Code -Hints and Comments
I/O Systems I/O Hardware Application I/O Interface
Object Oriented Analysis & Design SDL Threads. Contents 2  Processes  Thread Concepts  Creating threads  Critical sections  Synchronizing threads.
Threads in Java. History  Process is a program in execution  Has stack/heap memory  Has a program counter  Multiuser operating systems since the sixties.
The Functions of Operating Systems Interrupts. Learning Objectives Explain how interrupts are used to obtain processor time. Explain how processing of.
Tami Meredith, Ph.D. CSCI  Devices need CPU access  E.g., NIC has a full buffer it needs to empty  These device needs are often asynchronous.
Semaphores and Bounded Buffer. Semaphores  Semaphore is a type of generalized lock –Defined by Dijkstra in the last 60s –Main synchronization primitives.
1 Concurrency Architecture Types Tasks Synchronization –Semaphores –Monitors –Message Passing Concurrency in Ada Java Threads.
Clock Driven Scheduling By Dr. Amin Danial Asham.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Threaded Programming in Python Adapted from Fundamentals of Python: From First Programs Through Data Structures CPE 401 / 601 Computer Network Systems.
Outline for Today Objectives: –Time and Timers Administrative details: –Talk on learning at 4 in 130 North Building –Questions?
ECE 720T5 Fall 2012 Cyber-Physical Systems Rodolfo Pellizzoni.
ICS 313: Programming Language Theory Chapter 13: Concurrency.
6/1/ More on Cyclic Executives Simple loop cyclic executive Frame/slots Table-based predetermined schedule cyclic executive Periodic, aperiodic and.
Threads II IS Outline  Quiz  Thread review  Stopping a thread  java.util.Timer  Swing threads javax.swing.Timer  ProgressMonitor.
CSCI1600: Embedded and Real Time Software Lecture 24: Real Time Scheduling II Steven Reiss, Fall 2015.
Real time scheduling G.Anuradha Ref:- Stallings. Real time computing Correctness of the system depends not only on the logical result of computation,
U NIVERSITY OF M ASSACHUSETTS A MHERST Department of Computer Science Computer Systems Principles Synchronization Emery Berger and Mark Corner University.
1 Run-to-Completion Non-Preemptive Scheduler. 2 In These Notes... What is Scheduling? What is non-preemptive scheduling? Examples Run to completion (cooperative)
Copyright © Curt Hill More on Operating Systems Continuation of Introduction.
Ch6. Flow of Time Ch7. Getting Hold of Memory 홍원의.
Clock-Driven Scheduling (in-depth) Task Scheduler: i := 0; k := 0; BEGIN LOOP i := i+1; k:= i mod N; IF J(t k-1 )is empty THEN wakeup(aperiodic) ELSE wakeup(J(t.
REAL-TIME OPERATING SYSTEMS
Threaded Programming in Python
Chapter 13 The Function of Operating Systems
EmuOS Phase 3 Design Brendon Drew Will Mosley Anna Clayton
Process Management Process Concept Why only the global variables?
CS703 – Advanced Operating Systems
Advanced OS Concepts (For OCR)
Implementation of Convolution using C++
A Step By Step Picture of How Processes Schedule (Using Test4 and TestX as examples) Version 4.40: September 2017.
Clock Driven Scheduling
Applied Operating System Concepts
EECS 498 Introduction to Distributed Systems Fall 2017
Threads II IS
Lecture 13: Producer-Consumer and Semaphores
The Execution Of Sleep()
TIARA Thread Management
Clock-driven Static scheduling
Scheduling Basic Concepts Ref: Hard Real-Time Computing Systems Giorgio Buttazzo Ref: Real-Time Systems & Software Alan Shaw Processes - Tasks.
NET 424: REAL-TIME SYSTEMS (Practical Part)
Lecture 13: Producer-Consumer and Semaphores
Cyclic executives for Bare Hardware
CS333 Intro to Operating Systems
Process.
Presentation transcript:

Putting the Cyclic Executive into Practice T. P. BakerAlan Shaw, “The Cyclic Executive Model and Ada” Implementation approaches for a Cyclic Executive: Solutions and Difficulties –Naive solution using the DELAY statement –Using an interrupt from a hardware clock –Dealing with lost or buffered interrupts –Handling frame overruns

Naive Solution Using the DELAY Statement

Using an Interrupt from a Hardware Clock

Dealing with Lost or Buffered Interrupts

Handling Frame Overruns (I) ABORTION:

Handling Frame Overruns (II) EXCEPTIONS:

Cyclic Executive Input: Stored schedule: L(k) for k = 0,1,…,F-1; Aperiodic job queue. TASK CYCLIC_EXECUTIVE: t = 0; /* current time */ k = 0; /* current frame */ CurrentBlock := empty; BEGIN LOOP IF take action; CurrentBlock := L(k); k := k+1 mod F; t := t+1; set timer to expire at time tF; IF take action; wake up periodic task server to handle slices in CurrentBlock; sleep until periodic task server completes or timer expires; IF CONTINUE; WHILE wake up the first job in the queue; sleep until the aperiodic job completes; remove the just completed job from the queue; END WHILE; sleep until next clock interrupt; END LOOP; END CYCLIC_EXECUTIVE;