Wind River VxWorks Presentation Brandon Miller Oakland University CSE 666 October 16, 2006.
-
Upload
patrick-austin -
Category
Documents
-
view
213 -
download
0
Transcript of 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
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
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
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
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
VxWorks Task ModelVxWorks Task Model
Suspended
DelayedReadyPended
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
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
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
Supported HostsSupported Hosts
Red Hat Enterprise WorkstationRed Hat Enterprise Workstation
SolarisSolaris
SuSE Linux DesktopSuSE Linux Desktop
Windows 2000 ProfessionalWindows 2000 Professional
Windows XPWindows XP
Supported Target ArchitecturesSupported Target Architectures
ARMARM
IntelIntel
Intel XScaleIntel XScale
MIPSMIPS
PowerPCPowerPC
SuperHSuperH
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
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
RTP ArchitectureRTP Architecture
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
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
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
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
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