vxworks l.
Skip this Video
Loading SlideShow in 5 Seconds..
VxWorks PowerPoint Presentation
Download Presentation

Loading in 2 Seconds...

play fullscreen
1 / 26

VxWorks - PowerPoint PPT Presentation

  • Uploaded on

VxWorks. What is VxWorks? .

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'VxWorks' - larissa

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
what is vxworks
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.
what is vxworks3
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.
what is vxworks5
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.
what is vxworks6
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).
brief history of vxworks
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.
brief history of vxworks8
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.
wind microkernel
Wind microkernel
  • Efficient task management
    • multitasking, unlimited number of tasks
    • Preemptive and round-robin scheduling
    • Fast, deterministic context switching
    • 256 priority levels
wind microkernel10
Wind microkernel
  • Fast, flexible intertask communications
    • Binary, counting, and mutual exclusion semaphores with priority inheritance
    • Message queues – local and locale-transparent distributed messaging
    • POSIX pipes, counting semaphores, message queues, signals and scheduling
    • Control sockets
    • Shared memory
    • Standard COM
    • VxFusion
wind semaphores
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.
wind microkernel12
Wind microkernel
  • High scalability
  • Incremental linking and loading of components
  • Fast, efficient interrupt and exception handling
  • Optimized floating-point support
  • Dynamic memory management
  • System clock and timing facilities
networking support
Networking support
  • BSD 4.4 TCP/IP networking
  • Standard Berkeley sockets
  • Berkeley packet filter
  • RIPv1/v2 and routing sockets
  • TFTP, rlogin, telnet, rsh
  • NFS dient and server, ONC RPC
  • SNTP


Network Protocol Toolkit







Frame relay



fast flexible i o and local file system
Fast, flexible I/O and local file system
  • POSIX asynchronous I/O and directory handling
  • SCSI support
  • MS-DOS-compatible file system
  • TrueFFS flash file system (optional)
  • ISO 9660 CD-ROM file system
  • PCMCIA support
other features
Other Features
  • Protection domain management
  • Resource tracking and management
  • System overrun protection
  • Powerful loader facilities
  • 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

The highest-priority ready task is executing.






differences between traditional unix and vxworks
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".
differences between traditional unix and vxworks23
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 .
example porting vxworks to gmicro 200
Example:Porting VxWorks to Gmicro/200
  • Portable kernel modifications
  • Establishing the VxWorks shell environment
  • Adding Gmicro-specific debug functions
  • Adding board-specific functions
  • Adding networking support
  • Building BootROM
  • Optimizing and tuning
  • testing
  • Tornado in Mobile Internet
  • Wind River rolls out safety-critical software