Top Banner
VxWorks
26

VxWorks. What is VxWorks? VxWorks, from Wind River Systems, is a networked real-time operating system designed to be used in a distributed environment.

Dec 14, 2015

Download

Documents

Brett Fisher
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: VxWorks. What is VxWorks? VxWorks, from Wind River Systems, is a networked real-time operating system designed to be used in a distributed environment.

VxWorks

Page 2: VxWorks. What is VxWorks? VxWorks, from Wind River Systems, is a networked real-time operating system designed to be used in a distributed environment.

What is VxWorks? VxWorks, from Wind River Systems, is a networked real-time operating system designed to be used in a distributed environment. It runs on a wide variety of hardware. It requires a host workstation for program development; supported host platforms include Sun3, Sun4…. Is the run-time component of the Tornado 3 embedded development platform.

Page 3: VxWorks. What is VxWorks? VxWorks, from Wind River Systems, is a networked real-time operating system designed to be used in a distributed environment.

What is VxWorks?

The VxWorks RTOS comprises the core capabilities of the wind microkernel (not monolithic) along with advanced networking support, powerful file system and I/O management, and C++ and other standard run-time support.

Page 4: VxWorks. What is VxWorks? VxWorks, from Wind River Systems, is a networked real-time operating system designed to be used in a distributed environment.
Page 5: VxWorks. What is VxWorks? VxWorks, from Wind River Systems, is a networked real-time operating system designed to be used in a distributed environment.

What is VxWorks?The development environment is based on cross-development or remote-development method. You will need a UNIX machine of some sort (e.g. SUN's) to run the compilers and debuggers. The compiled application code can be downloaded to the target and runs as part of the VxWorks image. During the development phase or thereafter, individual object code (.o files) can be downloaded dynamically to running target system. Finished applications can be ROM'ed or whatever.

Page 6: VxWorks. What is VxWorks? VxWorks, from Wind River Systems, is a networked real-time operating system designed to be used in a distributed environment.

What is VxWorks?

VxWorks most definitely is not a "realtime UNIX", or a varient of UNIX as often misunderstood by some people. The confusion perhaps is due to the fact that UNIX hosts are used most widely to develop applications for VxWorks (and VxWorks itself).

Page 7: VxWorks. What is VxWorks? VxWorks, from Wind River Systems, is a networked real-time operating system designed to be used in a distributed environment.

Brief History of VxWorks

WRS was started by Jerry Fiddler and David Wilner in Jerry's garage as a contract/consultant shop for realtime, embedded systems and other fun things. They wrote a bunch of neat programs for their work and eventually adding some things unheard of in embedded/realtime market in those days such TCP/IP networking. And continued to pioneer in this area by adding NFS, etc.

Page 8: VxWorks. What is VxWorks? VxWorks, from Wind River Systems, is a networked real-time operating system designed to be used in a distributed environment.

Brief History of VxWorks

VxWorks was the name given the collection of software which ran on top of various realtime kernels including VRTX and pSOS as well an earlier slower version of WIND kernel. VxWorks now no longer runs on other kernels; it now runs exclusively on its own WIND kernel since the 5.0 release, for which the WIND was rewritten by John Fogelin.

Page 9: VxWorks. What is VxWorks? VxWorks, from Wind River Systems, is a networked real-time operating system designed to be used in a distributed environment.

Wind microkernel

Efficient task management multitasking, unlimited number of

tasks Preemptive and round-robin

scheduling Fast, deterministic context switching 256 priority levels

Page 10: VxWorks. What is VxWorks? VxWorks, from Wind River Systems, is a networked real-time operating system designed to be used in a distributed environment.

Wind microkernel

Fast, flexible intertask communications Binary, counting, and mutual exclusion semapho

res with priority inheritance Message queues – local and locale-transparent di

stributed messaging POSIX pipes, counting semaphores, message que

ues, signals and scheduling Control sockets Shared memory Standard COM VxFusion

Page 11: VxWorks. What is VxWorks? VxWorks, from Wind River Systems, is a networked real-time operating system designed to be used in a distributed environment.

Wind semaphores

binary The fastest, most general purpose semaphore.

Optimized for synchronization and can also be used for mutual exclusion.

mutual exclusion A special binary semaphore optimized for problems

inherent in mutual exclusion: priority inheritance, deletion safety and recursion.

Counting Like the binary semaphore, but keeps track of the

number of times the semaphore is given. Optimized for guarding multiple instances of a resource.

Page 12: VxWorks. What is VxWorks? VxWorks, from Wind River Systems, is a networked real-time operating system designed to be used in a distributed environment.

Wind microkernel

High scalabilityIncremental linking and loading of componentsFast, efficient interrupt and exception handlingOptimized floating-point supportDynamic memory managementSystem clock and timing facilities

Page 13: VxWorks. What is VxWorks? VxWorks, from Wind River Systems, is a networked real-time operating system designed to be used in a distributed environment.

Networking support

BSD 4.4 TCP/IP networkingIP, IGMP, CIDR, TCP, UDP, ARPPPP, SLIP/CSLIPStandard Berkeley socketsBerkeley packet filterRIPv1/v2 and routing socketsTFTP, rlogin, telnet, rshNFS dient and server, ONC RPCSNTP

SNMPv1/v2c/v3Network Protocol ToolkitBGP-4Ipsec/IKENATL2TPMPLSATMFrame relayISDNSS7

Page 14: VxWorks. What is VxWorks? VxWorks, from Wind River Systems, is a networked real-time operating system designed to be used in a distributed environment.

Fast, flexible I/O and local file system

POSIX asynchronous I/O and directory handlingSCSI supportMS-DOS-compatible file systemTrueFFS flash file system (optional)ISO 9660 CD-ROM file systemPCMCIA support

Page 15: VxWorks. What is VxWorks? VxWorks, from Wind River Systems, is a networked real-time operating system designed to be used in a distributed environment.

Other Features

Protection domain managementResource tracking and managementSystem overrun protectionPowerful loader facilities

Page 16: VxWorks. What is VxWorks? VxWorks, from Wind River Systems, is a networked real-time operating system designed to be used in a distributed environment.

Protection domain management

Page 17: VxWorks. What is VxWorks? VxWorks, from Wind River Systems, is a networked real-time operating system designed to be used in a distributed environment.

Overlapped memory model

Page 18: VxWorks. What is VxWorks? VxWorks, from Wind River Systems, is a networked real-time operating system designed to be used in a distributed environment.

Multasking ready – the task is waiting only for CPU time

pending – the task is blocked because some resource

is unavailable

delayed – the task is inactive for a pre-determined

time interval

suspended – the task is prevented from becoming active

Page 19: VxWorks. What is VxWorks? VxWorks, from Wind River Systems, is a networked real-time operating system designed to be used in a distributed environment.

Multasking

suspended

pending delayedready

taskInit()

The highest-priority ready task is executing.

Page 20: VxWorks. What is VxWorks? VxWorks, from Wind River Systems, is a networked real-time operating system designed to be used in a distributed environment.

Priority Preemption

Page 21: VxWorks. What is VxWorks? VxWorks, from Wind River Systems, is a networked real-time operating system designed to be used in a distributed environment.

Round-Robin Scheduling

Page 22: VxWorks. What is VxWorks? VxWorks, from Wind River Systems, is a networked real-time operating system designed to be used in a distributed environment.

differences between traditional UNIX and VxWorks

VxWorks runs in one mode. No protected vs. user mode switching is done. Running in supervisor mode on most processors, and not using traps for system calls, VxWorks can achieve minimal overhead on a given piece of hardware than UNIX. Programming on VxWorks can be more tricky than UNIX for the same reason. UNIX provides resource reclamation; by default, VxWorks does not. VxWorks does not have full "process"; it only has tasks, or "threads".

Page 23: VxWorks. What is VxWorks? VxWorks, from Wind River Systems, is a networked real-time operating system designed to be used in a distributed environment.

differences between traditional UNIX and VxWorks

VxWorks: minimal interrupt latency (e.g. spl's are quasi-implemented as semaphores). Traditional UNIX: high interrupt latency (e.g. spl's are implemented as interrupt lock and unlock calls). VxWorks: priority interrupt-driven preemption, optional round-robin time-slicing. Traditional UNIX: prioritized round-robin preemptive time-slicing. Since VxWorks is just a glorified "program" it can be changed and customized pretty easily. Task scheduling can be customized as desired. VxWorks networking code, however, is very UNIX compatible. It is essentially "ported" version of BSD UNIX TCP/IP code -- tahoe release .

Page 24: VxWorks. What is VxWorks? VxWorks, from Wind River Systems, is a networked real-time operating system designed to be used in a distributed environment.

Example:Porting VxWorks to Gmicro/200

Portable kernel modificationsEstablishing the VxWorks shell environmentAdding Gmicro-specific debug functionsAdding board-specific functionsAdding networking supportBuilding BootROMOptimizing and tuningtesting

Page 25: VxWorks. What is VxWorks? VxWorks, from Wind River Systems, is a networked real-time operating system designed to be used in a distributed environment.

Impl. Architecture

Page 26: VxWorks. What is VxWorks? VxWorks, from Wind River Systems, is a networked real-time operating system designed to be used in a distributed environment.

development

Tornado in Mobile Internet Wind River rolls out safety-critical software