© Prof. Dr. rer. nat. F. J. Rammig, Heinz Nixdorf Institute, University of Paderborn Slide 1 Slide Operating Systems Operating Systems Introduction

to Real-time Real-time Daniel Baldin An Introduction to ORCOS © Prof. Dr. rer. nat. F. J. Rammig, Heinz Nixdorf Institute, University of Paderborn O ORCOS Slide 2 Slide Source: - - § - § § - - - § - rganic

ORCOS Vision OperatingCurrent Systems ORCOS is a Real-Time Operatingdeveloped by System our Workgroup (2008) Development GoalDevelopment Full OS functionality with small scale nodes nodes scale small with OSFull functionality nodes many over system service operating Distributed Try functionality in -> size Reduction their by reducing to meet the requirements Mainly used for research projects and student education education student and projects for research used Mainly of ORCOS other nodes services use to transparently Capability footprint system small with operating configurable capable, real-time a new Develop for communication algorithms inspired biologically Use

R AMMIG , 2009 R e- onfigurable https://orcos.cs.uni-paderborn.de/ O perating S

ystem ystem

© Prof. Dr. rer. nat. F. J. Rammig, Heinz Nixdorf Institute, University of Paderborn ORCOS vs. General Purpose OS Slide 3 Slide § § § § § §

Both are very important features for highly embedded systems. embedded for features highly very important Both are times! faster execution and footprint to smaller leads functionality But: reduced All Tasks at once! the device onto loaded are + Kernel a.s.o). OSJust pure interface! (compiler tools runtime no Shell, Bash GUI,No interactive no support! environment runtime user rich No only! devices embedded for in use designed ORCOS been has © Prof. Dr. rer. nat. F. J. Rammig, Heinz Nixdorf Institute, University of Paderborn O ORCOS Slide 4 Slide Source: rganic R AMMIG , 2009 R e- C onfigurable Scheduling Tasks /RT- User User API O perating

Configuration Base Base Configuration S Architecture Architecture ORCOS Commu- Synchro- ystem ystem nication nization

Interrupts Interrupts RT HAL and

© Prof. Dr. rer. nat. F. J. Rammig, Heinz Nixdorf Institute, University of Paderborn ORCOS Design Approach Slide 5 Slide § § § § § § § §

faster way inside the ORCOS build tree the ORCOS build faster inside way ORCOS needs ORCOS needs the „DatebaseItem Items inherit Storable „Scheduler implement E.g. Schedulers of the system adaptation easy allow Inheritance Interfaces and fashion a natural in the System to designed be Structure allows Object Oriented parts in relevant Hardware or C Assembler C++ in written Most functionality ORCOS is a completely NO external libraries NO external Object Oriented ! and a smaller in implemented are functions All “ Interface and operate on „Schedulable on operate Interface and “ Class Class Operating “ Items © Prof. Dr. rer. nat. F. J. Rammig, Heinz Nixdorf Institute, University of Paderborn Class Inheritance Overview Class Slide 6 Slide © Prof. Dr. rer. nat. F. J. Rammig, Heinz Nixdorf Institute, University of Paderborn ORCOS Architecture Slide 7 Slide Character / Comm Character Service Service Basic FileBasic System Device Drivers

Task Task Block System Call Manager System Hardware

Task Task Transparent Communication Memory Management Management Memory Scheduling Migration Kernel Space Space Kernel User Space Space User Interrupts Calls System © Prof. Dr. rer. nat. F. J. Rammig, Heinz Nixdorf Institute, University of Paderborn Configuration OperatingComponents System Slide 8 Slide © Prof. Dr. rer. nat. F. J. Rammig, Heinz Nixdorf Institute, University of Paderborn ORCOS Configuration System Slide 9 Slide - - - Skeleton

Schema File File Schema System Members Preprocessor selected Configuration Verification XML

based Customization

Configuration

and Configuration to

on Source Code Level Level Code Source on Macros

Validation ensure

Members Members Language (SCL)

correctness

of by

the XML Operating

of by

Implementation Implementation Preprocessor : Preprocessor *.cc file

Application Programmer Programmer Application Compiler Compiler replace Symbols Symbols replace

SCL Tool: verify SCLConfig.xml SCLConfig.xml SCLConfig.hh SCLConfig.hh

generate generate © Prof. Dr. rer. nat. F. J. Rammig, Heinz Nixdorf Institute, University of Paderborn Skeleton Customization Language 2.0 Slide 10 10 Slide Example

: Changing

SingleCPUDispatcher SingleCPUDispatcher Scheduler Scheduler scheduler/RateMonotonicThreadScheduler scheduler/RoundRobinThreadScheduler

the Scheduler to a Real-Time Scheduler

© Prof. Dr. rer. nat. F. J. Rammig, Heinz Nixdorf Institute, University of Paderborn Skeleton Customization Language 2.0 Slide 11Slide ************************************--> SkeletonBoard