Outline Background Jaluna-1 Presentation Jaluna-2 Presentation Overview Use Cases Architecture Features Copyright Jaluna SA. All rights reserved

Similar documents
Embedded Linux Architecture

Software Development & Education Center

Real-time for Windows NT

Real-Time Programming

Linux Operating System

Kernel Internals. Course Duration: 5 days. Pre-Requisites : Course Objective: Course Outline

Linux Driver and Embedded Developer

Real-Time Operating Systems (Working Draft) What is an Operating System (OS)?

(MCQZ-CS604 Operating Systems)

BRDS ( , WS 2017) Ulrich Schmid

AUTOBEST: A United AUTOSAR-OS And ARINC 653 Kernel. Alexander Züpke, Marc Bommert, Daniel Lohmann

MARUTHI SCHOOL OF BANKING (MSB)

Main Points of the Computer Organization and System Software Module

Distributed Systems Operation System Support

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING UNIT-1

MaRTE OS: Overview and Linux Version

Carrier Grade Linux and VxWorks

QUESTION BANK UNIT I

Mid Term from Feb-2005 to Nov 2012 CS604- Operating System

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

Process Monitoring in Operating System Linux

CSI3131 Final Exam Review

Commercial Real-time Operating Systems An Introduction. Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory

Linux Kernel Architecture

Running on the Bare Metal with GeekOS

RTOS Real T i Time me Operating System System Concepts Part 2

REAL TIME OPERATING SYSTEM PROGRAMMING-I: VxWorks

Operating System Architecture. CS3026 Operating Systems Lecture 03


VALLIAMMAI ENGINEERING COLLEGE

CSE 237A Middleware and Operating Systems. Tajana Simunic Rosing Department of Computer Science and Engineering University of California, San Diego.

The control of I/O devices is a major concern for OS designers

CSC Operating Systems Fall Lecture - II OS Structures. Tevfik Ko!ar. Louisiana State University. August 27 th, 2009.

Announcements. Computer System Organization. Roadmap. Major OS Components. Processes. Tevfik Ko!ar. CSC Operating Systems Fall 2009

CSE 4/521 Introduction to Operating Systems. Lecture 29 Windows 7 (History, Design Principles, System Components, Programmer Interface) Summer 2018

L4/Darwin: Evolving UNIX. Charles Gray Research Engineer, National ICT Australia

OS Design Approaches. Roadmap. OS Design Approaches. Tevfik Koşar. Operating System Design and Implementation

Operating Systems Comprehensive Exam. Spring Student ID # 3/20/2013

Operating Systems Comprehensive Exam. Spring Student ID # 3/16/2006

Reference Model and Scheduling Policies for Real-Time Systems

VEOS high level design. Revision 2.1 NEC

Sysadmin Training. Virtual Unix Lab

The OS Wars. Success

Operating Systems Structure

Chapter 4: Multi-Threaded Programming

LINUX INTERNALS & NETWORKING Weekend Workshop

Operating Systems Comprehensive Exam. Fall Student ID # 10/31/2013

Chapter 12 IoT Projects Case Studies. Lesson-01: Introduction

Chapter 13: I/O Systems

Exam Guide COMPSCI 386

CS Operating Systems

OPERATING SYSTEM : RBMCQ0402. Third RavishBegusarai.

Efficiency and memory footprint of Xilkernel for the Microblaze soft processor

SMD149 - Operating Systems

Process Description and Control

CHAPTER NO - 1 : Introduction:

ECE 574 Cluster Computing Lecture 8

Overview of Unix / Linux operating systems

Dr. Rafiq Zakaria Campus. Maulana Azad College of Arts, Science & Commerce, Aurangabad. Department of Computer Science. Academic Year

Computer Science. ! Other approaches:! Special systems designed for extensibility

CMPS 111 Spring 2013 Prof. Scott A. Brandt Midterm Examination May 6, Name: ID:

Data Block. Data Block. Copy A B C D P HDD 0 HDD 1 HDD 2 HDD 3 HDD 4 HDD 0 HDD 1

Zilog Real-Time Kernel

Device-Functionality Progression

Chapter 12: I/O Systems. I/O Hardware

CS 5523 Operating Systems: Midterm II - reivew Instructor: Dr. Tongping Liu Department Computer Science The University of Texas at San Antonio

Roadmap. Tevfik Koşar. CSE 421/521 - Operating Systems Fall Lecture - II OS Structures. University at Buffalo. OS Design and Implementation

OS Design Approaches. Roadmap. System Calls. Tevfik Koşar. Operating System Design and Implementation. CSE 421/521 - Operating Systems Fall 2013

Operating Systems. Operating System Structure. Lecture 2 Michael O Boyle

Embedded Systems. 6. Real-Time Operating Systems

Chapter 13: I/O Systems

Chapter 13: I/O Systems. Chapter 13: I/O Systems. Objectives. I/O Hardware. A Typical PC Bus Structure. Device I/O Port Locations on PCs (partial)

University of Wisconsin-Madison

CPSC/ECE 3220 Fall 2017 Exam Give the definition (note: not the roles) for an operating system as stated in the textbook. (2 pts.

Lecture notes Lectures 1 through 5 (up through lecture 5 slide 63) Book Chapters 1-4

UFCETW-20-2 Examination Answer all questions in Section A (60 marks) and 2 questions from Section B (40 marks)

e-ale-rt-apps Building Real-Time Applications for Linux Version c CC-BY SA4

Tomasz Włostowski Beams Department Controls Group Hardware and Timing Section. Developing hard real-time systems using FPGAs and soft CPU cores

Operating Systems Overview. Chapter 2

SNS COLLEGE OF ENGINEERING

CSE 153 Design of Operating Systems

ecos in commercial use the Sinar emotion Outline

RTX64 Features by Release IZ-DOC-X R3

Concurrency: Deadlock and Starvation

CS 153 Design of Operating Systems Winter 2016

Filesystem Performance on FreeBSD

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Virtualization, Xen and Denali

Software Development & Education Center

Lecture 5: Process Description and Control Multithreading Basics in Interprocess communication Introduction to multiprocessors

Windows History 2009 Windows 7 2

Operating System. Operating System Overview. Structure of a Computer System. Structure of a Computer System. Structure of a Computer System

Techno India Batanagar Department of Computer Science & Engineering. Model Questions. Multiple Choice Questions:

CMPS 111 Spring 2003 Midterm Exam May 8, Name: ID:

Agenda. Threads. Single and Multi-threaded Processes. What is Thread. CSCI 444/544 Operating Systems Fall 2008

Questions answered in this lecture: CS 537 Lecture 19 Threads and Cooperation. What s in a process? Organizing a Process

OVERVIEW. Last Week: But if frequency of high priority task increases temporarily, system may encounter overload: Today: Slide 1. Slide 3.

Migrating to Cortex-M3 Microcontrollers: an RTOS Perspective

What are some common categories of system calls? What are common ways of structuring an OS? What are the principles behind OS design and

TDDI04, K. Arvidsson, IDA, Linköpings universitet Operating System Structures. Operating System Structures Overview. Operating System Services

Transcription:

C5 Micro-Kernel: Real-Time Services for Embedded and Linux Systems Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 1

Outline Background Jaluna-1 Presentation Jaluna-2 Presentation Overview Use Cases Architecture Features Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 2

Background Chorus: started as a research project at INRIA Distributed systems, proprietary API, Chorus Systems: founded 1986 Micro-kernel supporting distributed Unix sub-systems Evolved to embedded real-time systems based on FreeBSD personality Acquired by Sun Microsystems in 1997 Telecom market Jaluna founded August 2002 Jaluna-1: Real-Time Embedded based on FreeBSD Jaluna-2: Real-Time micro-kernel And Linux Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 3

Jaluna-1 Carrier-Grade RTOS Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 4

Jaluna-1 Benefits Open Source Real-time performance for critical applications Host-target development and deployment environment Standard real-time POSIX Interface Future generation networks ready Configurable (small/medium/large systems) Board support package Carrier-grade quality First class documentation Java Applications (J2ME) Migration kits for proprietary RTOS Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 5

Jaluna-1 Features Development environment Real-time operating system Board support package High availability Target platforms Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 6

Development Environment Solaris 8 and Linux Red Hat 7.3 Hosts Tools GNU C and C++ cross development tools gcc 3.2, binutils 2.11, gdb 5.1 with Insight GUI System configuration tools Utilities boot monitor (TFTP), console, remote shell benchmarking, monitoring, logging, profiling, system dumps System and application interfaces C and C++ Libraries C5 microkernel APIs Complete RT POSIX APIs Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 7

Application Types Posix multi-threaded processes: benefit from C5 memory management benefit from C5 scheduling features run in user space or supervisor space C5 Actors: Restricted Posix in Supervisor: no fork, no signal handlers multi-threaded applications direct access to C5 API's run in user space or supervisor space Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 8

Real-time Operating System C5 real-time microkernel Modular scheduler, memory management, communication, synchronization, time services, interrupt management RT POSIX system layer (FreeBSD 4.1) Standard (easy migration of UNIX applications) Applications in user or supervisor space Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 9

Real-time Operating System Modular micro-kernel and system: System built out of many modules, Configuration chosen at system build time, Tools available to configure and check dependencies, Examples: Memory management: select one kind of management out of three Schedulers: select one out of two Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 10

Real-time Operating System Core executive supports multiple, independent user and supervisor applications Schedulers priority based, preemptive FIFO priority based round-robin with fixed-time quantum Memory management flat memory protected memory virtual memory Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 11

Real-time Operating System Communications local or remote Inter Process Communication asynchronous, synchronous, multicast mailboxes local, pre-allocated messages, from interrupt handler Synchronization semaphores mutexes event flags Time services one-shot or periodic timers high resolution timer Interrupt management Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 12

Real-time Operating System File systems SCSI and IDE drivers UNIX file system MS-DOS file system NFS file sharing (client, server) Application management dynamic shared libraries dynamic loading of applications, locked in memory, unless swap is configured execution in place Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 13

Real-time Operating System Networking Ethernet, serial line, cpci drivers TCP/UDP/IP Stacks IPv4, IPv6 (basic services) Support of multiple network interfaces IP forwarding and multicast DHCP (client), DNS (client), tftp, telnet, PPP Sun RPC Extended for one-way communication (asynchronous) Administration built-in administration tools (mount, ifconfig,...) command line interpreter (TCL 7.4) Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 14

Board Support Package Device Driver Framework Boot layered drivers structure portability and re-usability of drivers bus communication support Compact PCI hotswap from local disk, flash, network (DHCP) support embedded user applications fail-safe boot Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 15

High-Availability Features Device driver framework Hardening Fault injection Instrumentation framework attributes [fixed, read only] counters [++, read only] gauges [++/--, read only] watermarks thresholds (crossing a threshold generates an event) System events Black box Watchdog Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 16

Target Platforms PowerPC IA32 MPC750 (MCP750, MCPN750) MPC74x0 (MCPN765) MPC850 (MCP850 FADS) MPC860 (MCP860 FADS) MPC8260 (SBC8260) x86, Pentium II/III (CPN5360, PC compatible) SPARC UltraSPARC IIi (CP1500, Netra t1) Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 17

Real-Time Performance Pentium III 500 MHz, 128 MB, L2 cache 256 KB Thread switching supervisor intra user actor inter user actors Semaphore shuffle (with pre-emption) supervisor actor user actor Message put (mailbox) supervisor actor user actor Kernel preemption 0.7 µsec 1.8 µsec 3.5 µsec 1.3 µsec 3.4 µsec 1.5 µsec 3.3 µsec 0-1 µsec Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 18

Real-Time Performance Pentium III 500 MHz, 128 MB, L2 cache 256 KB Kernel Interrupt Latency Entry in IT Handler Semaphore Post Return from IT Handler Switch to higher priority Thread Hardware Interrupt 0-1µs 0.6µs 0.1µs User Code 0.5µs 1.2µs Total Interrupt Response Time < 1.6µs Total Thread Response Time < 3.4µs Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 19

Jaluna-1 Software Component Suite Migration of proprietary RTOS-based projects Packages Jaluna-1 Developer Edition Jaluna Public License Open Source Project http://www.jaluna.com/developer/index.html Jaluna-1 Carrier-Grade Edition Validation Maintenance and support services Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 20

Outline Background Jaluna-1 Presentation Jaluna-2 Presentation Overview Use Cases Architecture Features Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 21

Jaluna-2 Host-target standard Linux distribution extended with Jaluna components C5 microkernel (same as Jaluna-1) Enables critical added-value in a standard Linux environment Real-Time, High Availability, Security No modification to Linux kernel General Availability in June 2003 Preview Release available [4 February 2003] Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 22

Jaluna-2 Components Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 23

Jaluna-1, Jaluna-2 & Linux Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 24

Outline Background Jaluna-1 Presentation Jaluna-2 Presentation Overview Use Cases Architecture Features Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 25

Availability Linux Monitor Prompt fault detection and system recovery Software watchdog Client detect Linux kernel failures kernel panics kernel loop kernel debugger calls Server reboots Linux from memory image Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 26

Availability Persistent Memory State recovery (checkpoint) Persistent Memory Client on Linux accessible through file system Persistent Memory Server on C5 Local RAM disk survive Linux reboot Persistent RAM disk survive C5 reboot Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 27

Real-Time Networking Real-Time UDP/IP stack Dedicated to critical traffic (QoS) Guaranteed latency and bandwidth Fine-grain locking Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 28

Outline Background Jaluna-1 Presentation Jaluna-2 Presentation Overview Use Cases Architecture Features Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 29

Jaluna-2 Architecture Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 30

Jaluna-2 Execution Model Critical services run on C5 General purpose applications run on Linux C5 and Linux are coupled with efficient communication services (~ virtual bus) One-way communication channels Asynchronous Reliable Message based Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 31

Resource Allocation Policy Separate resources to enforce mutual independence and protection Assume critical resources requirements are well-known and mainly static C5 microkernel starts first, reserves dedicated resources All remaining resources are available to Linux Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 32

Memory Allocation Physical memory is statically split in two parts: memory exclusively managed by C5 microkernel remaining memory exclusively managed by Linux Both systems use their native physical memory management Both systems use their native virtual memory management Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 33

I/O Resources I/O and DMA are available from both execution contexts Critical devices are managed by C5 drivers General purpose devices are managed by Linux drivers Shared devices are managed by peer drivers Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 34

Outline Background Jaluna-1 Presentation Jaluna-2 Presentation Overview Use Cases Architecture Features Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 35

Host-Target Integrated Development Environment Cross-development environment GNU C/C++ cross development tools (gcc 3.2.2, glibc 2.2.5) Linux packages cross-installation (RPM based) System configuration tools Remote debugging environment (GNU gdb 5.2.1, Insight GUI) GNU build system autoconf, automake, libtool Supported Development Hosts Linux RedHat 8.0 Solaris 8.0 Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 36

Linux General Purpose Environment (1) Tailored to real-time and embedded systems generated, configured and installed on host Targets PPC x86 Linux Operating System kernel 2.4.20 Real-time patches RPMS based source delivery packages based on Red Hat source distribution BASIC, NET, DEV package sets Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 37

Linux General Purpose Environment (2) Embedded Distribution File System, NFS or RAM disk boot simplified and dynamic administration RARP, DHCP, NIS simplified init scripts /dev based on devfs sharable read-only root file system Utilities for dynamic Loading C5 components Multiplexed system console Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 38

Linux General Purpose Environment (3) High Availability Extensions Fast file system check upon recovery (ext3) Linux fault detection and fast reboot Fast and persistent RAM disk across Linux reboot Heartbeat for node failure detection and recovery Disk mirroring Check pointing Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 39

C5 Microkernel Environment C5 microkernel services identical to Jaluna-1: User / Supervisor actors Real-time schedulers (FIFO, Round-Robin) Communications: IPC, mailboxes, real-time message queues Synchronization:semaphores, mutexes, events Time Services Device Driver Framework (DDI/DKI) Limited Real-time POSIX API: posix threads, posix timers, no files, no process, no signals Real-time networking Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 40