Wind River VxWorks Presentation Brandon Miller Oakland University CSE 666 October 16, 2006.

19
Wind River VxWorks Wind River VxWorks Presentation Presentation Brandon Miller Brandon Miller Oakland University Oakland University CSE 666 CSE 666 October 16, 2006 October 16, 2006

Transcript of Wind River VxWorks Presentation Brandon Miller Oakland University CSE 666 October 16, 2006.

Page 1: Wind River VxWorks Presentation Brandon Miller Oakland University CSE 666 October 16, 2006.

Wind River VxWorksWind River VxWorksPresentationPresentation

Brandon MillerBrandon MillerOakland UniversityOakland University

CSE 666CSE 666October 16, 2006October 16, 2006

Page 2: Wind River VxWorks Presentation Brandon Miller Oakland University CSE 666 October 16, 2006.

Wind River HistoryWind River History

Founded in 1981Founded in 1981Headquarters located in Alameda, CAHeadquarters located in Alameda, CAThe global leader in device software The global leader in device software optimization (DSO)optimization (DSO)More than 300 million devices worldwide More than 300 million devices worldwide use Wind River technologyuse Wind River technologyApple, Hewlett Packard, Boeing, Motorola, Apple, Hewlett Packard, Boeing, Motorola, NASA, and Mitsubishi all use Wind River NASA, and Mitsubishi all use Wind River technologytechnology

Page 3: Wind River VxWorks Presentation Brandon Miller Oakland University CSE 666 October 16, 2006.

Device Software OptimizationDevice Software Optimization

DSO is a methodology that allows DSO is a methodology that allows companies to develop and run device companies to develop and run device software faster, better, more reliably and software faster, better, more reliably and at a lower costat a lower costProvide seamless integration of Provide seamless integration of technology across an entire enterprisetechnology across an entire enterpriseReuse of the best of technology and Reuse of the best of technology and intellectual propertyintellectual propertyRisk reduction by using proven technologyRisk reduction by using proven technology

Page 4: Wind River VxWorks Presentation Brandon Miller Oakland University CSE 666 October 16, 2006.

VxWorks HistoryVxWorks History

Was created in the early 1980’sWas created in the early 1980’sThere have been 6 releases in over 20 There have been 6 releases in over 20 years (current version 6.2)years (current version 6.2)The most widely-used RTOS available The most widely-used RTOS available todaytodayPowerful development tools make it easy Powerful development tools make it easy and efficient to useand efficient to useCan meet the needs of customers over a Can meet the needs of customers over a broad range of industriesbroad range of industries

Page 5: Wind River VxWorks Presentation Brandon Miller Oakland University CSE 666 October 16, 2006.

VxWorks FeaturesVxWorks Features

Supports both priority-based preemptive Supports both priority-based preemptive scheduling (wind) and round-robin scheduling (wind) and round-robin schedulingscheduling

Tasks share memory (similar to threads)Tasks share memory (similar to threads)

Up to 256 priority levelsUp to 256 priority levels

Page 6: Wind River VxWorks Presentation Brandon Miller Oakland University CSE 666 October 16, 2006.

VxWorks Task ModelVxWorks Task Model

Suspended

DelayedReadyPended

Page 7: Wind River VxWorks Presentation Brandon Miller Oakland University CSE 666 October 16, 2006.

Intertask CommunicationIntertask Communication

VxWorks supports:VxWorks supports: Shared memoryShared memory Semaphores (binary & counting)Semaphores (binary & counting) Mutexes (POSIX interfaces)Mutexes (POSIX interfaces) Message queues and PipesMessage queues and Pipes Sockets and RPCsSockets and RPCs SignalsSignals

The mutex semaphore supports the The mutex semaphore supports the priority-inheritance algorithmpriority-inheritance algorithm

Page 8: Wind River VxWorks Presentation Brandon Miller Oakland University CSE 666 October 16, 2006.

VxWorks Kernel ClockVxWorks Kernel Clock

The kernel has its own clockThe kernel has its own clock

The clock defines the resolution of The clock defines the resolution of scheduler operationsscheduler operations

Default frequency is 60 HzDefault frequency is 60 Hz

Maximum and minimum values for the Maximum and minimum values for the kernel clock are hardware dependentkernel clock are hardware dependent

Page 9: Wind River VxWorks Presentation Brandon Miller Oakland University CSE 666 October 16, 2006.

New for VxWorks 6New for VxWorks 6

Real-time process (RTP) model introducedReal-time process (RTP) model introducedKernel remains backwards compatibleKernel remains backwards compatibleTornado IDE replaced with Wind River Tornado IDE replaced with Wind River Workbench (Eclipse-based)Workbench (Eclipse-based)Increased POSIX complianceIncreased POSIX complianceImproved OS scalabilityImproved OS scalabilityNew file system frameworkNew file system frameworkNew power management frameworkNew power management frameworkSupport for additional architecturesSupport for additional architectures

Page 10: Wind River VxWorks Presentation Brandon Miller Oakland University CSE 666 October 16, 2006.

Supported HostsSupported Hosts

Red Hat Enterprise WorkstationRed Hat Enterprise Workstation

SolarisSolaris

SuSE Linux DesktopSuSE Linux Desktop

Windows 2000 ProfessionalWindows 2000 Professional

Windows XPWindows XP

Page 11: Wind River VxWorks Presentation Brandon Miller Oakland University CSE 666 October 16, 2006.

Supported Target ArchitecturesSupported Target Architectures

ARMARM

IntelIntel

Intel XScaleIntel XScale

MIPSMIPS

PowerPCPowerPC

SuperHSuperH

Page 12: Wind River VxWorks Presentation Brandon Miller Oakland University CSE 666 October 16, 2006.

Real-Time Process ModelReal-Time Process Model

Processes run in their own memory spaceProcesses run in their own memory space

The kernel and other processes are The kernel and other processes are protectedprotected

Takes advantage of CPUs with a memory Takes advantage of CPUs with a memory management unit (MMU)management unit (MMU)

An error in a process cannot crash the An error in a process cannot crash the entire systementire system

Page 13: Wind River VxWorks Presentation Brandon Miller Oakland University CSE 666 October 16, 2006.

User Mode vs. Kernel ModeUser Mode vs. Kernel Mode

A protected user mode is an area where A protected user mode is an area where applications executeapplications execute

An unprotected kernel mode is an area An unprotected kernel mode is an area where the OS kernel and drivers executewhere the OS kernel and drivers execute

Traditionally VxWorks supported a Traditionally VxWorks supported a lightweight kernel-based threading modellightweight kernel-based threading model

The RTP model supports both user and The RTP model supports both user and kernel modeskernel modes

Page 14: Wind River VxWorks Presentation Brandon Miller Oakland University CSE 666 October 16, 2006.

RTP ArchitectureRTP Architecture

Page 15: Wind River VxWorks Presentation Brandon Miller Oakland University CSE 666 October 16, 2006.

RTP Architecture OverviewRTP Architecture Overview

RTPs are isolated both from the kernel RTPs are isolated both from the kernel and from each otherand from each other

Applications execute independentlyApplications execute independently

Memory protection is provided by the Memory protection is provided by the MMUMMU

Application libraries and data memory can Application libraries and data memory can be shared between RTPsbe shared between RTPs

Page 16: Wind River VxWorks Presentation Brandon Miller Oakland University CSE 666 October 16, 2006.

Kernel and RTP InteractionKernel and RTP Interaction

A system call trap interface is used to A system call trap interface is used to access kernel servicesaccess kernel services

Tasks in different RTPs may interact using Tasks in different RTPs may interact using shared data regions and inter-process shared data regions and inter-process communication (IPC) mechanismscommunication (IPC) mechanisms

Page 17: Wind River VxWorks Presentation Brandon Miller Oakland University CSE 666 October 16, 2006.

Task ExecutionTask Execution

The RTP itself is not a schedulable entityThe RTP itself is not a schedulable entityAn RTP can contain many tasksAn RTP can contain many tasksMultiple instances of an RTP can execute Multiple instances of an RTP can execute independently and concurrentlyindependently and concurrentlyRTPs must be fully loaded when they are RTPs must be fully loaded when they are created (latency may be a problem)created (latency may be a problem)Only the tasks are scheduledOnly the tasks are scheduledA global task scheduler schedules tasks A global task scheduler schedules tasks across all RTPsacross all RTPs

Page 18: Wind River VxWorks Presentation Brandon Miller Oakland University CSE 666 October 16, 2006.

Memory ModelMemory Model

Virtual memory manager introduced for Virtual memory manager introduced for VxWorks 6VxWorks 6Kernel heap is reduced to create an area Kernel heap is reduced to create an area of unmapped physical pagesof unmapped physical pagesKernel heap size is configurableKernel heap size is configurableAn RTP task running in user mode only An RTP task running in user mode only has access to the RTPs memory spacehas access to the RTPs memory spaceThe task can trap into kernel mode via a The task can trap into kernel mode via a system callsystem call

Page 19: Wind River VxWorks Presentation Brandon Miller Oakland University CSE 666 October 16, 2006.

ConclusionsConclusions

VxWorks is a very powerful and highly VxWorks is a very powerful and highly scalable RTOSscalable RTOS

The new RTP model makes VxWorks The new RTP model makes VxWorks usable for a wide range of real-time usable for a wide range of real-time system applicationssystem applications

The RTP model preserves scalability, The RTP model preserves scalability, performance and determinismperformance and determinism

RTP support itself is a scalable componentRTP support itself is a scalable component