© 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
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 basic configurable capable, real-time a new Develop for communication algorithms inspired biologically Use
R AMMIG , 2009 R e- C 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 System 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
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