Simulating a Multicore Scheduler of Real-Time Control Systems in Simulink

Size: px
Start display at page:

Download "Simulating a Multicore Scheduler of Real-Time Control Systems in Simulink"

Transcription

1 Simulating a Multicore Scheduler of Real-Time Control Systems in Simulink Wei Li, Ramamurthy Mani, Pieter J Mosterman, and Teresa Hubscher-Younger MathWorks 4 Apple Hill Drive, Natick MA 01760, USA {Wei.Li, Ramamurthy.Mani, Pieter.Mosterman, Teresa.Hubscher-Younger}@mathworks.com ABSTRACT Today s real-time control systems are becoming highly distributed, concurrent, and complex. Performance of architectural components such as operating system schedulers and networks must be considered while validating controller design. A framework is presented based upon Simulink and SimEvents for simulating the effects of multicore operating system scheduling in the context of control system models. This framework leverages the discrete-event simulation engine underlying SimEvents and a new authoring framework based on MATLAB. INTRODUCTION Control Engineering has moved through a number of distinct phases as it has evolved into an engineering discipline. In the first phase, building control functionality into a system was an artisanal matter. By clever design of a system, an objective behavior could be controlled. For example, the water clock (clepsydra) of the antiquity used a floater to maintain a constant flow of water from a vessel. In the second phase, separate control devices, such as the flyball (centrifugal) governor, introduced during the industrial revolution, were designed and integrated into the controlled system. In the third phase, post World War II, the feedback control architecture was established to analyze and systematically design control behavior that was then implemented by dedicated physical components. In the fourth stage that has started to emerge over the past decade, the control functionality is designed for a logic platform, that is, an abstraction of the underlying physics. Run-time execution scheduling separates the control functionality in logic from the physical components that realize the corresponding behaviors. A key challenge that the separation of functionality and physics introduces is the characterization of control performance in the face of dynamic execution scheduling. For example, a software task may implement certain control functionality without static determination of the computing resources that ultimately execute the task. Specifically, on a multi-core processor, it may not be known a priori when a task is executed and on which core [1]. Similarly, in a broader scope, on a multi-processor system a runtime engine determines when tasks are to execute and on which resource [2]. While scheduling a resource such as a microcontroller so it can be shared has the advantage of increased utilization, control applications come with rigorous time constraints that must be honored to achieve desired control performance. To optimize the overall system design, a trade-off analysis must be made based on the implication that scheduling functionality on shared resources has on the ability to satisfy control performance objectives. The work presented here enables a separate but integrated formulation of control functionality and of the scheduling method during the control system design. The strict separation enables quick design space exploration by experimentation with different scheduling methods (e.g., rate monotonic) and resource configuration (e.g., number of cores on a microprocessor). Additional shared resources can be modeled explicitly to enable, for example, modeling of access to peripherals. The work is integrated in a larger tool suite for Model- Based Design that is based on Simulink [3]. The integration allows immediate analysis of the simulated effects of a scheduler on control performance within an overall control system design, which enables direct assessment whether the performance conforms to system requirements. Moreover, if necessary, better control performance can be attained by modifying the control functionality or the system design in the original modeled representation. The solution builds on a discrete-event modeling environment with a corresponding execution engine for dynamic-event scheduling. The dynamic even scheduling is integrated with static event scheduling of an execution engine for models that are based on periodic tasks [4]. In addition to the integration with the periodic control behavior, supervisory control is supported by a state transition modeling environment with its execution engine that is integrated as well. The work presented here illustrates the supported performance analyses of a control strategy subject to different implementation choices. Previous solutions in this area based on MATLAB and Simulink include TrueTime [5] and TRES [6]. Both provide functionality to model and simulate multi-task scheduling and networks in embedded control systems. A TrueTime Kernel block simulates a single-core computer node with a generic real-time kernel, A/D and D/A converters, external interrupt inputs, and network interfaces. A limitation of

2 TrueTime is that the model of a real-time control task must be written as either MATLAB or C++ code. This results in constrained access to Simulink controller design blocksets. In addition, for an existing Simulink model where controllers are defined as graphical blocks with execution and timing specifications, this approach requires substantial re-architecting and is often not practical. TRES provides a modular framework that adds real-time task and network models to existing Simulink models. However, adding a task or a network message requires insertion of complex modeling constructs, and therefore is error prone while incurring possible scalability issues. In addition, TRES simulates event-driven behaviors by using Simulink variable-step sample time and zero-crossing technologies. Comparing this with a true discrete-event simulation engine, the TRES approach has a non-trivial performance overhead. definition of the notion of a Task which is a real-time task with the following general properties: ID: Unique identifier of a task. Period: Time period between sequential task invocations when the task is instantiated and enabled for execution. Priority: Numeric value indicating relative importance of a task. Segments (or subtasks): A set of individually schedulable executables of a task. Each task segment is defined by: Task function: Implemented as a Simulink Function subsystem containing blocks implementing corresponding Controller computation. Execution duration: Worst-case execution time for a task segment to complete, if it is executed on a processor without interruption Resource requirement: Resources (other than processor) required to execute a task segment. A resource can be a peripheral piece of equipment such as a shared memory location or hard disk. In the example of Figure 1, Controller1 is a simple proportional control algorithm of the form shown in Figure 2. However, it is implemented within Figure 1 as three Task functions: t1_read, t1_run, and t1_write. This decomposition helps model the implicit sensor read and actuator write that would be present in an actual Controller implementation. Figure 1. An example multicore control system with scheduler model SIMUATING A MULTICORE SCHEDULER OF REAL-TIME CONTROL SYSTEMS A framework in the Simulink environment is proposed for the graphical modeling of a multicore scheduler with resource contingencies. The framework is implemented by a Scheduler block that is provided as a SimEvents model component with discrete event semantics [7, 8]. This framework enables the simulation of scheduling effects (e.g. latencies) and explore the task execution design space by analysis of the impact of scheduling choices on performance of a given control design. The framework is overlaid on the control algorithm and enables seamless migration to the algorithm implementation to deployed software via automatic code generation technologies. Figure 1 shows an example Simulink model using this framework consisting of a Scheduler block (Scheduler) and associated Controller algorithmic components (Controller1 and Controller2). The Scheduler implicitly relies on the Figure 2. Controller model without task specification Figure 3. Simulink Function defining a controller task with three segments

3 The scheduler itself models a homogeneous multicore system and is defined by the following properties that are presented as simple parameters of the block as shown in Figure 4. Number of cores: Number of cores available on the real-time control system. Scheduling policy: Rule and algorithm of scheduler in determining task execution sequences. Some standard policies are fixed-priority scheduling and round-robin scheduling and are pre-configured in the Scheduler block. Other policies can be added by expressing them in MATLAB. Mutually exclusive resources: A set of resources each identified by a numeric index, representing resources (other than processors) required to execute a task. The SimEvents Scheduler block allows users to specify Tasks as block parameters also as shown in Figure 4. The implementation of the Scheduler block builds on a high-level discrete-event based language that is supported by Simulink. In turn, this language is MATLAB based and enables the implementation of additional scheduling functionality (e.g., different policies). Note that the modeling framework is more generic and not strictly tied to the use of this Scheduler block. As an alternative to the Scheduler block the scheduling functionality may also be captured by a graphical model as shown in Figure 5. In this model, all the blocks that model the closed-loop control systems are the same. Only the Scheduler block is replaced by a SimEvents implementation that relies on discrete-event blocks. Therefore, the proposed framework makes the implementations of the scheduler and the controller model replaceable without affecting one another. This additional power for expressing the scheduler using textual, graphical, or even state-chart notation [7] allows for great modeling flexibility. Figure 4. Example parameter configuration of SimEvents Scheduler block These parameters define a homogeneous multicore system with two cores. The scheduler is setup to perform a prioritybased policy. The system has two control tasks, with: Task 1 for Controller1 is configured with a period of 0.5 second, priority of 200 and 3 segments, whose functions and execution durations are (t1_read, t1_run, t1_write) and (0.1, 0.2, 0.1) second respectively. Task 2 for Controller2 is configured with a period of 0.5 second, priority of 50, 2 segments, whose functions and execution durations are (t2_run, t2_write) and (0.25, 0.1) second respectively. Figure 5. Scheduler implementation replaced without changing controller models An important contribution of the framework is the strict separation of the algorithmic part from the computational implementation on a given architecture. The control algorithm that captures the functionality is seamlessly mapped onto the execution components that are part of the architecture of the run-time environment. For instance, one can simply split the three functions of Controller1 into two tasks instead of one by simply manipulating the mapping shown in the dialog of Figure 4. This separation is a key feature of the framework that enables the modification and exchange of the control algorithm and of the scheduler independent from one another, which, in turn, supports design space exploration at different phases of the control system design within one control design environment. HIGH-LEVEL DISCRETE-EVENT MODELING LANGUAGE IN MATLAB The Scheduler block of the previous section is created using the MATLAB Discrete-Event System block of SimEvents.

4 MATLAB Discrete-Event System is a high-level MATLAB construct for discrete-event system modeling. It abstracts a discrete-event system as an entity-flow system where discrete objects (entities) are stored, transferred, and processed. Main modeling elements include: Entity: An entity is a discrete object that contains persistent data (attributes) and exhibits certain run-time behavior. MATLAB Discrete-Event System provides syntax to specify entity types. Similar to concepts in object-oriented languages, an entity type defines a class of entities that share common data specifications and run-time methods. Storage: Entity storage is a MATLAB construct that can store multiple entities. Using MATLAB Discrete- Event System, you can define a discrete-event system containing multiple entity storage constructs. Each storage construct can be parameterized to have a certain capacity and use one of the commonly used queueing policies (e.g. First-In-First-Out or prioritybased). Event: MATLAB Discrete-Event System provides syntax to create and schedule events. It also provides programming interfaces to define how the system responds when an event occurs. For example, timer events can be created and scheduled. When the timer is due, the interface that was implemented as timer event action will be invoked. The action implementation is provided with event context information (e.g. timer name, associated entity, simulation clock time) to perform desired updates to the system. The language also supports modeling system interfaces, which enables composition by integrating multiple systems. Port: A MATLAB Discrete-Event System can have multiple input ports and output ports. A port can either be an entity port (allowing entities to enter/exit), or a data port (allowing input/output of values). This enables MATLAB Discrete-Event System blocks and other SimEvents blocks to be connected in a Simulink model. Parameter: A MATLAB Discrete-Event System can have multiple parameters. These parameters specify both the structure of the system (e.g. number of ports/entity storage), and run-time behaviors (e.g. task execution durations). Some parameters (called tunable parameters) can be changed, while the simulation is running. State: A MATLAB Discrete-Event System can have multiple state variables. A state variable can be either a simple data element such as a double-precision number or a MATLAB object such as another MATLAB Discrete-Event System. This enables the implementation of a system of systems where a component itself is a well-defined discrete-event system. To model a discrete-event system using a MATLAB Discrete-Event System, a set of programming interfaces are to be implemented. Table 1 shows some interfaces that enable the definition of entity types, ports and storage. Interface getentitytypesimpl getentityportsimpl getentitystorageimpl Description Define entity types of discreteevent system Define input ports and output ports of discrete-event system Define entity storage elements of discrete-event system Table 1. Programming interfaces for entity types, ports and storage specification Table 2 shows some programming interfaces for defining event actions. Interface entryimpl exitimpl generateimpl destroyimpl timerimpl Description Action when entity enters storage Action before entity exits from storage Action upon entity creation Action upon entity destruction Action when timer completes Table 2. Programming interfaces for event actions Scheduler block as a MATLAB Discrete-Event System The Scheduler block of the previous section is created as a MATLAB Discrete-Event System. It implements the multicore scheduler as follows: A task instance is modeled as an entity that is periodically created, executed, and destroyed at the end of execution. Properties and runtime states of a task instance are stored as data of the entity. The task queue of the operating system and the multicore processor itself are modelled as two entity storages. Task instances (entities) are created periodically inside the task queue. They are stored in an ordered sequence as required by the scheduling policy. The scheduling algorithm is realized by scheduling events on the task entities. Events cause tasks (entities) that are ready to execute to be forwarded from the task queue to the processor (the 2 nd entity storage). An executing task stays in the processor for the time period as specified by the execution duration parameter. Such execution duration is simulated by

5 using a timer event. When the timer completes, its event action executes the corresponding task function (a Simulink Function). A task instance is returned to the task queue if it has more segments to run, otherwise it completes and is destroyed. Figure 6. Task schedules and controller performance (two cores, priority-based scheduling) SCHEDULER SIMULATION SENARIOS A key advantage of the introduced framework is the ability to experiment with different schedulers without having to rework the control algorithm functionality. This is illustrated by applying a number of different tasking and scheduling profiles to the example of Figure 1. Comparing Different Core Allocations The Scheduler block allows assigning an arbitrary number of cores and exploring how that impacts system performance. In the first scenario two cores have been assigned to execute the two control tasks. Figure 4 illustrates parameters of the Scheduler block for this setup. With sufficient processing capacity, both closed-loop control systems perform acceptably when the set point is changed from 0 to 1 (see Figure 6). Figure 6-10 each includes a response diagram (on the left-hand side) and a timing diagram (on the right-hand side). The response diagram shows the response of the two controllers with Controller1 in the top graph, and Controller2 in the bottom graph. The timing diagram shows utilization of cores and resources. A colored bar indicates execution of a segment of task. The position of a bar on the horizontal axis indicates time of start and completion of the segment. The position of the bar on the vertical axis indicates normalized task completion before and after executing the segment. The timing diagram of Figure 6 indicates that tasks are processed concurrently with cores having medium and balanced utilizations. Notice that Task2 is assigned to Core1 because it has higher priority and, therefore, is assigned before Task1. In comparison, when only one core is available, the performance of Controller1 (mapped to a low-priority task) degrades because of task overruns (see Figure 7). For example, the first instance of Task1 does not complete until time 1.45s because its execution was preempted by two instances of the high-priority task (Task2). Such overrun causes only 3 instances of Task1 to complete execution between time 0 and 5, while 10 instances have been scheduled. Notice that the performance of control task 2 remains unchanged. This is because the scheduler applies a prioritybased policy where processing capacity is maximally assigned to high priority tasks. Comparing Different Scheduling Policies At this point, if the Scheduler switches to use a round robin scheduling policy, the control system performs differently (see Figure 8). Compared to the previous case where processing capacity remains the same, the control of Plant 1 becomes stable, with the cost of degrading the performance of the control of Plant 2. This change is because the roundrobin policy evenly assigns the processing capacity among all tasks. Comparing Different Resource Allocations At this point, the design study was returned to the scheduler configuration of Figure 4, and different resource allocation schemes explored. A resource is added that must be shared by tasks in a mutually exclusive fashion such as a file handle (see Figure 9). As indicated by the timing diagram, although concurrent execution is allowed with two cores, the tasks are processed in a sequential fashion. Only one core is in use. This is because a task must wait for the required resource before it can start to run. Such resource contingency can be eliminated by assigning more resources. Thus, the scheduler is configured to use 2 resources and each task is allowed to have a dedicated resource (see Figure 10). With each task having its own resource, tasks are now processed concurrently.

6 Overrun occurs when execution of the 3 rd segment of Task1 is preempted by high-priority tasks and delayed. Figure 7. Task schedules and controller performance (one core, priority-based scheduling) Figure 8. Task schedules and controller performance (one core, round-robin scheduling) Figure 9. Task schedules and controller performance (two cores, tasks share resource, priority-based scheduling)

7 Figure 10. Task schedules and controller performance (two cores, no resource sharing, priority-based scheduling) CONCLUSION This paper describes some new advances in Simulink for modeling architectural components of real-time multicore control applications, including: A new Scheduler block for modeling and simulation of scheduling effects (e.g. latency, overruns, resource contingencies) of real-time, multicore control applications. An integrated and extensible framework in Simulink for co-simulation of functional components (controllers and plants) and architectural components (scheduler and networks) of a distributed control system. A high-level language in MATLAB for discrete-event system modeling and simulation. Syntax and semantics of this language are well suited for modeling dynamic system architectures. High performance discrete-event simulation of the above features is supported by an optimized discrete-event simulation engine [9]. REFERENCES 1. Astrom, K. J. and Wittenmark, B. Computer-controlled systems: theory and design. Courier Dover Publications, Barbalace, Antonio, et al. Performance comparison of VxWorks, Linux, RTAI and Xenomai in a hard real-time application. In Proceedings of Real-Time Conference, th IEEE-NPSS. IEEE (2007). 3. Simulink MathWorks, Simulink User s Guide, MathWorks, Natick, MA, March, Mosterman, Pieter J. Hybrid Dynamic Systems: Modeling and Execution. In Handbook of Dynamic System Modeling. Fishwick, P.A. (editor), Chapter 15, CRC Press (2007), Cervin, A. and Arzen K.E. TrueTime: Simulation tool for performance analysis of real-time embedded systems. In Model-Based Design for Embedded Systems. Nicolescu, G. and Mosterman, P.J. (editor), Chapter 6, CRC Press (2010), Cremona, F., Morelli, M., and Natale, M. Di. TRES: A Modular Representation of Schedulers, Tasks, and Messages to Control Simulations in Simulink. In Proceedings of the 30 th Annual ACM Symposium on Applied Computing, SAC 15, ACM Press (2015), MathWorks, SimEvents User s Guide, MathWorks, Natick, MA, March, Develop Custom Scheduler of a Multicore Control System. http// velop-custom-scheduler-of-a-multicore-controlsystem.html. 9. Clune, Michael I., Mosterman, Pieter J., and Cassandras, Christos G. Discrete Event and Hybrid System Simulation with SimEvents. In Proceedings of the 8 th International Workshop on Discrete Event Systems, 2006.

Proceedings of the 2016 Winter Simulation Conference T. M. K. Roeder, P. I. Frazier, R. Szechtman, E. Zhou, T. Huschka, and S. E. Chick, eds.

Proceedings of the 2016 Winter Simulation Conference T. M. K. Roeder, P. I. Frazier, R. Szechtman, E. Zhou, T. Huschka, and S. E. Chick, eds. Proceedings of the 2016 Winter Simulation Conference T. M. K. Roeder, P. I. Frazier, R. Szechtman, E. Zhou, T. Huschka, and S. E. Chick, eds. EXTENSIBLE DISCRETE-EVENT SIMULATION FRAMEWORK IN SIMEVENTS

More information

TrueTime: Real-time Control System Simulation with MATLAB/Simulink

TrueTime: Real-time Control System Simulation with MATLAB/Simulink TrueTime: Real-time Control System Simulation with MATLAB/Simulink Henriksson, Dan; Cervin, Anton; Årzén, Karl-Erik Published in: Proceedings of the Nordic MATLAB Conference Published: 23-- Link to publication

More information

Proceedings of the 2012 Winter Simulation Conference C. Laroque, J. Himmelspach, R. Pasupathy, O. Rose, and A.M. Uhrmacher, eds

Proceedings of the 2012 Winter Simulation Conference C. Laroque, J. Himmelspach, R. Pasupathy, O. Rose, and A.M. Uhrmacher, eds Proceedings of the 2012 Winter Simulation Conference C. Laroque, J. Himmelspach, R. Pasupathy, O. Rose, and A.M. Uhrmacher, eds INTEGRATING DISCRETE-EVENT AND TIME-BASED MODELS WITH OPTIMIZATION FOR RESOURCE

More information

Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras

Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras Week 05 Lecture 18 CPU Scheduling Hello. In this lecture, we

More information

Implementing Scheduling Algorithms. Real-Time and Embedded Systems (M) Lecture 9

Implementing Scheduling Algorithms. Real-Time and Embedded Systems (M) Lecture 9 Implementing Scheduling Algorithms Real-Time and Embedded Systems (M) Lecture 9 Lecture Outline Implementing real time systems Key concepts and constraints System architectures: Cyclic executive Microkernel

More information

SIMULATION OF NETWORK USING TRUETIME TOOLBOX

SIMULATION OF NETWORK USING TRUETIME TOOLBOX SIMULATION OF NETWORK USING TRUETIME TOOLBOX T. Chvostek*, A. Kratky **, M. Foltin *** * Institute of Control and Industrial Informatics, Faculty of Informatics and Information Technologies, Ilkovičova

More information

Impact of Runtime Architectures on Control System Stability

Impact of Runtime Architectures on Control System Stability Impact of Runtime Architectures on Control System Stability P. Feiler, J. Hansson Software Engineering Institute, Pittsburgh, PA Abstract: Control systems are sensitive to the endto-end latency and age

More information

TrueTime: Simulation of Control Loops Under Shared Computer Resources

TrueTime: Simulation of Control Loops Under Shared Computer Resources 15th IFAC World Congress on Automatic Control, Barcelona, Spain, July. TrueTime: Simulation of Control Loops Under Shared Computer Resources Dan Henriksson, Anton Cervin, Karl-Erik Årzén Department of

More information

Introduction to Control Systems Design

Introduction to Control Systems Design Experiment One Introduction to Control Systems Design Control Systems Laboratory Dr. Zaer Abo Hammour Dr. Zaer Abo Hammour Control Systems Laboratory 1.1 Control System Design The design of control systems

More information

Modeling Complex Systems Using SimEvents. Giovanni Mancini SimEvents Product Marketing Manager The MathWorks 2006 The MathWorks, Inc.

Modeling Complex Systems Using SimEvents. Giovanni Mancini SimEvents Product Marketing Manager The MathWorks 2006 The MathWorks, Inc. Modeling Complex Systems Using SimEvents Giovanni Mancini SimEvents Product Marketing Manager The MathWorks 2006 The MathWorks, Inc. Topics Discrete Event Simulation SimEvents Components System Example

More information

Multiprocessor and Real-Time Scheduling. Chapter 10

Multiprocessor and Real-Time Scheduling. Chapter 10 Multiprocessor and Real-Time Scheduling Chapter 10 1 Roadmap Multiprocessor Scheduling Real-Time Scheduling Linux Scheduling Unix SVR4 Scheduling Windows Scheduling Classifications of Multiprocessor Systems

More information

Chapter 6: CPU Scheduling. Operating System Concepts 9 th Edition

Chapter 6: CPU Scheduling. Operating System Concepts 9 th Edition Chapter 6: CPU Scheduling Silberschatz, Galvin and Gagne 2013 Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Thread Scheduling Multiple-Processor Scheduling Real-Time

More information

Automatic Code Generation Technology Adoption Lessons Learned from Commercial Vehicle Case Studies

Automatic Code Generation Technology Adoption Lessons Learned from Commercial Vehicle Case Studies 08AE-22 Automatic Code Generation Technology Adoption Lessons Learned from Commercial Vehicle Case Studies Copyright 2007 The MathWorks, Inc Tom Erkkinen The MathWorks, Inc. Scott Breiner John Deere ABSTRACT

More information

Multiprocessor and Real- Time Scheduling. Chapter 10

Multiprocessor 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 information

Modeling System Architecture and Resource Constraints Using Discrete-Event Simulation

Modeling System Architecture and Resource Constraints Using Discrete-Event Simulation MATLAB Digest Modeling System Architecture and Resource Constraints Using Discrete-Event Simulation By Anuja Apte Optimizing system resource utilization is a key design objective for system engineers in

More information

ASSIGNMENT- I Topic: Functional Modeling, System Design, Object Design. Submitted by, Roll Numbers:-49-70

ASSIGNMENT- I Topic: Functional Modeling, System Design, Object Design. Submitted by, Roll Numbers:-49-70 ASSIGNMENT- I Topic: Functional Modeling, System Design, Object Design Submitted by, Roll Numbers:-49-70 Functional Models The functional model specifies the results of a computation without specifying

More information

Concurrent Programming. Implementation Alternatives. Content. Real-Time Systems, Lecture 2. Historical Implementation Alternatives.

Concurrent Programming. Implementation Alternatives. Content. Real-Time Systems, Lecture 2. Historical Implementation Alternatives. Content Concurrent Programming Real-Time Systems, Lecture 2 [Real-Time Control System: Chapter 3] 1. Implementation Alternatives Martina Maggio 19 January 2017 Lund University, Department of Automatic

More information

Operating System Performance and Large Servers 1

Operating System Performance and Large Servers 1 Operating System Performance and Large Servers 1 Hyuck Yoo and Keng-Tai Ko Sun Microsystems, Inc. Mountain View, CA 94043 Abstract Servers are an essential part of today's computing environments. High

More information

Concurrent Programming

Concurrent Programming Concurrent Programming Real-Time Systems, Lecture 2 Martina Maggio 19 January 2017 Lund University, Department of Automatic Control www.control.lth.se/course/frtn01 Content [Real-Time Control System: Chapter

More information

An Industrial Employee Development Application Protocol Using Wireless Sensor Networks

An Industrial Employee Development Application Protocol Using Wireless Sensor Networks RESEARCH ARTICLE An Industrial Employee Development Application Protocol Using Wireless Sensor Networks 1 N.Roja Ramani, 2 A.Stenila 1,2 Asst.professor, Dept.of.Computer Application, Annai Vailankanni

More information

CSCI-GA Operating Systems Lecture 3: Processes and Threads -Part 2 Scheduling Hubertus Franke

CSCI-GA Operating Systems Lecture 3: Processes and Threads -Part 2 Scheduling Hubertus Franke CSCI-GA.2250-001 Operating Systems Lecture 3: Processes and Threads -Part 2 Scheduling Hubertus Franke frankeh@cs.nyu.edu Processes Vs Threads The unit of dispatching is referred to as a thread or lightweight

More information

CPU Scheduling. Operating Systems (Fall/Winter 2018) Yajin Zhou ( Zhejiang University

CPU Scheduling. Operating Systems (Fall/Winter 2018) Yajin Zhou (  Zhejiang University Operating Systems (Fall/Winter 2018) CPU Scheduling Yajin Zhou (http://yajin.org) Zhejiang University Acknowledgement: some pages are based on the slides from Zhi Wang(fsu). Review Motivation to use threads

More information

Combining the Power of DAVE and SIMULINK

Combining the Power of DAVE and SIMULINK Combining the Power of DAVE and SIMULINK From a High Level Model to Embedded Implementation Pedro Costa Infineon Munich, Germany pedro.costa@infineon.com Abstract In a modern real-time control system,

More information

Chapter 3: Process Concept

Chapter 3: Process Concept Chapter 3: Process Concept Chapter 3: Process Concept Process Concept Process Scheduling Operations on Processes Inter-Process Communication (IPC) Communication in Client-Server Systems Objectives 3.2

More information

Chapter 3: Process Concept

Chapter 3: Process Concept Chapter 3: Process Concept Chapter 3: Process Concept Process Concept Process Scheduling Operations on Processes Inter-Process Communication (IPC) Communication in Client-Server Systems Objectives 3.2

More information

Ricardo Rocha. Department of Computer Science Faculty of Sciences University of Porto

Ricardo Rocha. Department of Computer Science Faculty of Sciences University of Porto Ricardo Rocha Department of Computer Science Faculty of Sciences University of Porto Slides based on the book Operating System Concepts, 9th Edition, Abraham Silberschatz, Peter B. Galvin and Greg Gagne,

More information

Simulation of LET Models in Simulink and Ptolemy

Simulation of LET Models in Simulink and Ptolemy Simulation of LET Models in Simulink and Ptolemy P. Derler, A. Naderlinger, W. Pree, S. Resmerita, J. Templ Monterey Workshop 2008, Budapest, Sept. 24-26, 2008 C. Doppler Laboratory Embedded Software Systems

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2017 Lecture 10 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 Chapter 6: CPU Scheduling Basic Concepts

More information

Lecture 3: Concurrency & Tasking

Lecture 3: Concurrency & Tasking Lecture 3: Concurrency & Tasking 1 Real time systems interact asynchronously with external entities and must cope with multiple threads of control and react to events - the executing programs need to share

More information

CHAPTER 2: PROCESS MANAGEMENT

CHAPTER 2: PROCESS MANAGEMENT 1 CHAPTER 2: PROCESS MANAGEMENT Slides by: Ms. Shree Jaswal TOPICS TO BE COVERED Process description: Process, Process States, Process Control Block (PCB), Threads, Thread management. Process Scheduling:

More information

ECE519 Advanced Operating Systems

ECE519 Advanced Operating Systems IT 540 Operating Systems ECE519 Advanced Operating Systems Prof. Dr. Hasan Hüseyin BALIK (10 th Week) (Advanced) Operating Systems 10. Multiprocessor, Multicore and Real-Time Scheduling 10. Outline Multiprocessor

More information

CS 571 Operating Systems. Midterm Review. Angelos Stavrou, George Mason University

CS 571 Operating Systems. Midterm Review. Angelos Stavrou, George Mason University CS 571 Operating Systems Midterm Review Angelos Stavrou, George Mason University Class Midterm: Grading 2 Grading Midterm: 25% Theory Part 60% (1h 30m) Programming Part 40% (1h) Theory Part (Closed Books):

More information

Process Monitoring in Operating System Linux

Process 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 information

Methods for Interfacing Common Utility Services in Simulink Models Used for Production Code Generation

Methods for Interfacing Common Utility Services in Simulink Models Used for Production Code Generation 2009-01-0155 Methods for Interfacing Common Utility Services in Simulink Models Used for Production Code Generation Copyright 2009 SAE International Jeffrey M. Thate and Robert A. Kagy Caterpillar, Inc.

More information

2. REAL-TIME CONTROL SYSTEM AND REAL-TIME NETWORKS

2. REAL-TIME CONTROL SYSTEM AND REAL-TIME NETWORKS 2. REAL-TIME CONTROL SYSTEM AND REAL-TIME NETWORKS 2.1 Real-Time and Control Computer based digital controllers typically have the ability to monitor a number of discrete and analog inputs, perform complex

More information

Executable AADL. Real Time Simulation of AADL Models. Pierre Dissaux 1, Olivier Marc 2.

Executable AADL. Real Time Simulation of AADL Models. Pierre Dissaux 1, Olivier Marc 2. Executable AADL Real Time Simulation of AADL Models Pierre Dissaux 1, Olivier Marc 2 1 Ellidiss Technologies, Brest, France. 2 Virtualys, Brest, France. pierre.dissaux@ellidiss.com olivier.marc@virtualys.com

More information

Establishing the overall structure of a software system

Establishing the overall structure of a software system Architectural Design Establishing the overall structure of a software system Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 13 Slide 1 Objectives To introduce architectural design and

More information

Chapter 3: Processes

Chapter 3: Processes Chapter 3: Processes Silberschatz, Galvin and Gagne 2013 Chapter 3: Processes Process Concept Process Scheduling Operations on Processes Interprocess Communication 3.2 Silberschatz, Galvin and Gagne 2013

More information

Administrative Stuff. We are now in week 11 No class on Thursday About one month to go. Spend your time wisely Make any major decisions w/ Client

Administrative Stuff. We are now in week 11 No class on Thursday About one month to go. Spend your time wisely Make any major decisions w/ Client Administrative Stuff We are now in week 11 No class on Thursday About one month to go Spend your time wisely Make any major decisions w/ Client Real-Time and On-Line ON-Line Real-Time Flight avionics NOT

More information

Virtual Validation of Cyber Physical Systems

Virtual Validation of Cyber Physical Systems Virtual Validation of Cyber Physical Systems Patrik Feth, Thomas Bauer, Thomas Kuhn Fraunhofer IESE Fraunhofer-Platz 1 67663 Kaiserslautern {patrik.feth, thomas.bauer, thomas.kuhn}@iese.fraunhofer.de Abstract:

More information

TRANSPORT SYSTEM REALIZATION IN SIMEVENTS TOOL

TRANSPORT SYSTEM REALIZATION IN SIMEVENTS TOOL TRANSPORT SYSTEM REALIZATION IN SIMEVENTS TOOL K. Valigura, M. Foltin, M. Blaho Slovak University of Technology in Bratislava, Faculty of electrical engineering and information technology Abstract SimEvents

More information

CS3733: Operating Systems

CS3733: Operating Systems CS3733: Operating Systems Topics: Process (CPU) Scheduling (SGG 5.1-5.3, 6.7 and web notes) Instructor: Dr. Dakai Zhu 1 Updates and Q&A Homework-02: late submission allowed until Friday!! Submit on Blackboard

More information

Capturing Design Expertise in Customized Software Architecture Design Environments

Capturing Design Expertise in Customized Software Architecture Design Environments Capturing Design Expertise in Customized Software Architecture Design Environments Robert T. Monroe School of Computer Science, Carnegie Mellon University, Pittsburgh, PA 15213 Abstract: Software architecture

More information

Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institution of Technology, IIT Delhi

Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institution of Technology, IIT Delhi Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institution of Technology, IIT Delhi Lecture - 20 Fundamentals of Embedded Operating Systems In today s class, we shall

More information

Introduction to software architecture Revision : 732

Introduction to software architecture Revision : 732 Introduction to software architecture Revision : 732 Denis Conan Septembre 2018 Foreword The content of these slides is extracted from the following references: L. Bass, P. Clements, and R. Kazman. Software

More information

Real-time Support in Operating Systems

Real-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 information

Chapter 3: Process Concept

Chapter 3: Process Concept Chapter 3: Process Concept Silberschatz, Galvin and Gagne 2013! Chapter 3: Process Concept Process Concept" Process Scheduling" Operations on Processes" Inter-Process Communication (IPC)" Communication

More information

Chapter 6: CPU Scheduling. Operating System Concepts 9 th Edition

Chapter 6: CPU Scheduling. Operating System Concepts 9 th Edition Chapter 6: CPU Scheduling Silberschatz, Galvin and Gagne 2013 Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Thread Scheduling Multiple-Processor Scheduling Real-Time

More information

Ensuring Schedulability of Spacecraft Flight Software

Ensuring Schedulability of Spacecraft Flight Software Ensuring Schedulability of Spacecraft Flight Software Flight Software Workshop 7-9 November 2012 Marek Prochazka & Jorge Lopez Trescastro European Space Agency OUTLINE Introduction Current approach to

More information

CS:2820 (22C:22) Object-Oriented Software Development

CS:2820 (22C:22) Object-Oriented Software Development The University of Iowa CS:2820 (22C:22) Object-Oriented Software Development! Spring 2015 Software Complexity by Cesare Tinelli Complexity Software systems are complex artifacts Failure to master this

More information

Real-Time Internet of Things

Real-Time Internet of Things Real-Time Internet of Things Chenyang Lu Cyber-Physical Systems Laboratory h7p://www.cse.wustl.edu/~lu/ Internet of Things Ø Convergence of q Miniaturized devices: integrate processor, sensors and radios.

More information

CSL373: Lecture 5 Deadlocks (no process runnable) + Scheduling (> 1 process runnable)

CSL373: 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 information

10 Steps to Virtualization

10 Steps to Virtualization AN INTEL COMPANY 10 Steps to Virtualization WHEN IT MATTERS, IT RUNS ON WIND RIVER EXECUTIVE SUMMARY Virtualization the creation of multiple virtual machines (VMs) on a single piece of hardware, where

More information

Process and Resource Management

Process and Resource Management runall page 482 PROJECT 2 Process and Resource Management 1 PROJECT OVERVIEW 2 BASIC PROCESS AND RESOURCE MANAGER 3 EXTENDED PROCESS AND RESOURCE MANAGER 4 SUMMARY OF SPECIFIC TASKS 5 IDEAS FOR ADDITIONAL

More information

Pull based Migration of Real-Time Tasks in Multi-Core Processors

Pull based Migration of Real-Time Tasks in Multi-Core Processors Pull based Migration of Real-Time Tasks in Multi-Core Processors 1. Problem Description The complexity of uniprocessor design attempting to extract instruction level parallelism has motivated the computer

More information

Process Description and Control

Process Description and Control Process Description and Control 1 Process:the concept Process = a program in execution Example processes: OS kernel OS shell Program executing after compilation www-browser Process management by OS : Allocate

More information

Traditional Approaches to Modeling

Traditional Approaches to Modeling Traditional Approaches to Modeling Timeliness, Performance and How They Relate to Modeling, Architecture and Design Mark S. Gerhardt Chief Architect Pittsburgh, PA 15213 Levels of Real Time Performance

More information

Real-Time and Performance Improvements in the

Real-Time and Performance Improvements in the 1 of 7 6/18/2006 8:21 PM Real-Time and Performance Improvements in the 2.6 Linux Kernel William von Hagen Abstract Work on improving the responsiveness and real-time performance of the Linux kernel holds

More information

CS370: System Architecture & Software [Fall 2014] Dept. Of Computer Science, Colorado State University

CS370: System Architecture & Software [Fall 2014] Dept. Of Computer Science, Colorado State University Frequently asked questions from the previous class survey CS 370: SYSTEM ARCHITECTURE & SOFTWARE [CPU SCHEDULING] Shrideep Pallickara Computer Science Colorado State University OpenMP compiler directives

More information

Operating Systems Overview. Chapter 2

Operating Systems Overview. Chapter 2 1 Operating Systems Overview 2 Chapter 2 3 An operating System: The interface between hardware and the user From the user s perspective: OS is a program that controls the execution of application programs

More information

Computer Systems Assignment 4: Scheduling and I/O

Computer Systems Assignment 4: Scheduling and I/O Autumn Term 018 Distributed Computing Computer Systems Assignment : Scheduling and I/O Assigned on: October 19, 018 1 Scheduling The following table describes tasks to be scheduled. The table contains

More information

Timing Definition Language (TDL) Concepts, Code Generation and Tools

Timing Definition Language (TDL) Concepts, Code Generation and Tools Timing Definition Language (TDL) Concepts, Code Generation and Tools Wolfgang Pree Embedded Software & Systems Research Center Department of Computer Sciences Univ. Salzburg Overview Motivation Timing

More information

Subject Name: OPERATING SYSTEMS. Subject Code: 10EC65. Prepared By: Kala H S and Remya R. Department: ECE. Date:

Subject Name: OPERATING SYSTEMS. Subject Code: 10EC65. Prepared By: Kala H S and Remya R. Department: ECE. Date: Subject Name: OPERATING SYSTEMS Subject Code: 10EC65 Prepared By: Kala H S and Remya R Department: ECE Date: Unit 7 SCHEDULING TOPICS TO BE COVERED Preliminaries Non-preemptive scheduling policies Preemptive

More information

Scheduling. Scheduling 1/51

Scheduling. Scheduling 1/51 Scheduling 1/51 Learning Objectives Scheduling To understand the role of a scheduler in an operating system To understand the scheduling mechanism To understand scheduling strategies such as non-preemptive

More information

Interactive Scheduling

Interactive Scheduling Interactive Scheduling 1 Two Level Scheduling Interactive systems commonly employ two-level scheduling CPU scheduler and Memory Scheduler Memory scheduler was covered in VM We will focus on CPU scheduling

More information

Two Level Scheduling. Interactive Scheduling. Our Earlier Example. Round Robin Scheduling. Round Robin Schedule. Round Robin Schedule

Two Level Scheduling. Interactive Scheduling. Our Earlier Example. Round Robin Scheduling. Round Robin Schedule. Round Robin Schedule Two Level Scheduling Interactive Scheduling Interactive systems commonly employ two-level scheduling CPU scheduler and Memory Scheduler Memory scheduler was covered in VM We will focus on CPU scheduling

More information

COUPLING SIMULINK AND UML MODELS

COUPLING SIMULINK AND UML MODELS COUPLING SIMULINK AND UML MODELS Jozef Hooman 1, Nataliya Mulyar 2, Ladislau Posta 2 1 Embedded Systems Institute & University of Nijmegen Address: Laplace-building 0.10, P.O. Box 513, 5600MB Eindhoven,

More information

Decoupling Among Design Concerns

Decoupling Among Design Concerns Decoupling Among Design Concerns Nicholas Kottenstette, Xenofon Koutsoukos, Janos Sztipanovits ISIS, Vanderbilt University Third International Workshop on Foundations and Applications of Component-based

More information

Lecture Topics. Announcements. Today: Uniprocessor Scheduling (Stallings, chapter ) Next: Advanced Scheduling (Stallings, chapter

Lecture Topics. Announcements. Today: Uniprocessor Scheduling (Stallings, chapter ) Next: Advanced Scheduling (Stallings, chapter Lecture Topics Today: Uniprocessor Scheduling (Stallings, chapter 9.1-9.3) Next: Advanced Scheduling (Stallings, chapter 10.1-10.4) 1 Announcements Self-Study Exercise #10 Project #8 (due 11/16) Project

More information

A Generic RTOS Model for Real-time Systems Simulation with SystemC

A Generic RTOS Model for Real-time Systems Simulation with SystemC A Generic RTOS Model for Real-time Systems Simulation with SystemC R. Le Moigne, O. Pasquier, J-P. Calvez Polytech, University of Nantes, France rocco.lemoigne@polytech.univ-nantes.fr Abstract The main

More information

An Information Model for High-Integrity Real Time Systems

An Information Model for High-Integrity Real Time Systems An Information Model for High-Integrity Real Time Systems Alek Radjenovic, Richard Paige, Philippa Conmy, Malcolm Wallace, and John McDermid High-Integrity Systems Group, Department of Computer Science,

More information

Operating Systems : Overview

Operating Systems : Overview Operating Systems : Overview Bina Ramamurthy CSE421 8/29/2006 B.Ramamurthy 1 Topics for discussion What will you learn in this course? (goals) What is an Operating System (OS)? Evolution of OS Important

More information

Operating Systems Design Fall 2010 Exam 1 Review. Paul Krzyzanowski

Operating 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 information

Utilizing Linux Kernel Components in K42 K42 Team modified October 2001

Utilizing Linux Kernel Components in K42 K42 Team modified October 2001 K42 Team modified October 2001 This paper discusses how K42 uses Linux-kernel components to support a wide range of hardware, a full-featured TCP/IP stack and Linux file-systems. An examination of the

More information

Adding Preemption to TinyOS

Adding Preemption to TinyOS 1 Adding Preemption to TinyOS Cormac Duffy 1, Utz Roedig 2, John Herbert 1, Cormac J. Sreenan 1 1 Computer Science Department, University College Cork, Ireland 2 InfoLab21, Lancaster University, Lancaster

More information

Analysis and Design with the Universal Design Pattern

Analysis and Design with the Universal Design Pattern Analysis and Design with the Universal Design Pattern by Koni Buhrer Software Engineering Specialist Rational Software Developing large software systems is notoriously difficult and unpredictable. Software

More information

OPERATING SYSTEMS. After A.S.Tanenbaum, Modern Operating Systems, 3rd edition. Uses content with permission from Assoc. Prof. Florin Fortis, PhD

OPERATING SYSTEMS. After A.S.Tanenbaum, Modern Operating Systems, 3rd edition. Uses content with permission from Assoc. Prof. Florin Fortis, PhD OPERATING SYSTEMS #5 After A.S.Tanenbaum, Modern Operating Systems, 3rd edition Uses content with permission from Assoc. Prof. Florin Fortis, PhD General information GENERAL INFORMATION Cooperating processes

More information

Kernel Korner AEM: A Scalable and Native Event Mechanism for Linux

Kernel Korner AEM: A Scalable and Native Event Mechanism for Linux Kernel Korner AEM: A Scalable and Native Event Mechanism for Linux Give your application the ability to register callbacks with the kernel. by Frédéric Rossi In a previous article [ An Event Mechanism

More information

How useful is the UML profile SPT without Semantics? 1

How useful is the UML profile SPT without Semantics? 1 How useful is the UML profile SPT without Semantics? 1 Susanne Graf, Ileana Ober VERIMAG 2, avenue de Vignate - F-38610 Gières - France e-mail:{susanne.graf, Ileana.Ober}@imag.fr http://www-verimag.imag.fr/~{graf,iober}

More information

A TimeSys Perspective on the Linux Preemptible Kernel Version 1.0. White Paper

A TimeSys Perspective on the Linux Preemptible Kernel Version 1.0. White Paper A TimeSys Perspective on the Linux Preemptible Kernel Version 1.0 White Paper A TimeSys Perspective on the Linux Preemptible Kernel A White Paper from TimeSys Corporation Introduction One of the most basic

More information

Modification and Evaluation of Linux I/O Schedulers

Modification and Evaluation of Linux I/O Schedulers Modification and Evaluation of Linux I/O Schedulers 1 Asad Naweed, Joe Di Natale, and Sarah J Andrabi University of North Carolina at Chapel Hill Abstract In this paper we present three different Linux

More information

A framework for automatic generation of audio processing applications on a dual-core system

A framework for automatic generation of audio processing applications on a dual-core system A framework for automatic generation of audio processing applications on a dual-core system Etienne Cornu, Tina Soltani and Julie Johnson etienne_cornu@amis.com, tina_soltani@amis.com, julie_johnson@amis.com

More information

SimEvents Getting Started Guide

SimEvents Getting Started Guide SimEvents Getting Started Guide R2015b How to Contact MathWorks Latest news: www.mathworks.com Sales and services: www.mathworks.com/sales_and_services User community: www.mathworks.com/matlabcentral Technical

More information

CSI3131 Final Exam Review

CSI3131 Final Exam Review CSI3131 Final Exam Review Final Exam: When: April 24, 2015 2:00 PM Where: SMD 425 File Systems I/O Hard Drive Virtual Memory Swap Memory Storage and I/O Introduction CSI3131 Topics Process Computing Systems

More information

What s New in Simulink in R2015b and R2016a

What s New in Simulink in R2015b and R2016a What s New in Simulink in R2015b and R2016a Ruth-Anne Marchant Application Engineer 2016 The MathWorks, Inc. 1 2 Summary of Major New Capabilities for Model-Based Design RESEARCH REQUIREMENTS DESIGN Modelling

More information

Short Term Courses (Including Project Work)

Short Term Courses (Including Project Work) Short Term Courses (Including Project Work) Courses: 1.) Microcontrollers and Embedded C Programming (8051, PIC & ARM, includes a project on Robotics) 2.) DSP (Code Composer Studio & MATLAB, includes Embedded

More information

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN NOTES ON OBJECT-ORIENTED MODELING AND DESIGN Stephen W. Clyde Brigham Young University Provo, UT 86402 Abstract: A review of the Object Modeling Technique (OMT) is presented. OMT is an object-oriented

More information

Creating and Analyzing Software Architecture

Creating and Analyzing Software Architecture Creating and Analyzing Software Architecture Dr. Igor Ivkovic iivkovic@uwaterloo.ca [with material from Software Architecture: Foundations, Theory, and Practice, by Taylor, Medvidovic, and Dashofy, published

More information

ParalleX. A Cure for Scaling Impaired Parallel Applications. Hartmut Kaiser

ParalleX. A Cure for Scaling Impaired Parallel Applications. Hartmut Kaiser ParalleX A Cure for Scaling Impaired Parallel Applications Hartmut Kaiser (hkaiser@cct.lsu.edu) 2 Tianhe-1A 2.566 Petaflops Rmax Heterogeneous Architecture: 14,336 Intel Xeon CPUs 7,168 Nvidia Tesla M2050

More information

Figure 1. Closed-loop model.

Figure 1. Closed-loop model. Model Transformation between MATLAB Simulink and Function Blocks Chia-han (John) Yang and Valeriy Vyatkin Department of Electrical and Computer Engineering University of Auckland cyan034@ec.auckland.ac.nz,

More information

REAL-TIME MULTITASKING KERNEL FOR IBM-BASED MICROCOMPUTERS

REAL-TIME MULTITASKING KERNEL FOR IBM-BASED MICROCOMPUTERS Malaysian Journal of Computer Science, Vol. 9 No. 1, June 1996, pp. 12-17 REAL-TIME MULTITASKING KERNEL FOR IBM-BASED MICROCOMPUTERS Mohammed Samaka School of Computer Science Universiti Sains Malaysia

More information

Operating System Concepts Ch. 5: Scheduling

Operating System Concepts Ch. 5: Scheduling Operating System Concepts Ch. 5: Scheduling Silberschatz, Galvin & Gagne Scheduling In a multi-programmed system, multiple processes may be loaded into memory at the same time. We need a procedure, or

More information

Start of Lecture: February 10, Chapter 6: Scheduling

Start of Lecture: February 10, Chapter 6: Scheduling Start of Lecture: February 10, 2014 1 Reminders Exercise 2 due this Wednesday before class Any questions or comments? 2 Scheduling so far First-Come-First Serve FIFO scheduling in queue without preempting

More information

Shaping Process Semantics

Shaping Process Semantics Shaping Process Semantics [Extended Abstract] Christoph M. Kirsch Harald Röck Department of Computer Sciences University of Salzburg, Austria {ck,hroeck}@cs.uni-salzburg.at Analysis. Composition of virtually

More information

Accelerated Library Framework for Hybrid-x86

Accelerated Library Framework for Hybrid-x86 Software Development Kit for Multicore Acceleration Version 3.0 Accelerated Library Framework for Hybrid-x86 Programmer s Guide and API Reference Version 1.0 DRAFT SC33-8406-00 Software Development Kit

More information

Compositional Schedulability Analysis of Hierarchical Real-Time Systems

Compositional Schedulability Analysis of Hierarchical Real-Time Systems Compositional Schedulability Analysis of Hierarchical Real-Time Systems Arvind Easwaran, Insup Lee, Insik Shin, and Oleg Sokolsky Department of Computer and Information Science University of Pennsylvania,

More information

Processes and Threads

Processes and Threads OPERATING SYSTEMS CS3502 Spring 2018 Processes and Threads (Chapter 2) Processes Two important types of dynamic entities in a computer system are processes and threads. Dynamic entities only exist at execution

More information

Processes. CS 475, Spring 2018 Concurrent & Distributed Systems

Processes. 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 information

Interactions A link message

Interactions A link message Interactions An interaction is a behavior that is composed of a set of messages exchanged among a set of objects within a context to accomplish a purpose. A message specifies the communication between

More information

Software Architecture

Software Architecture Software Architecture Does software architecture global design?, architect designer? Overview What is it, why bother? Architecture Design Viewpoints and view models Architectural styles Architecture asssessment

More information