Professional Documents
Culture Documents
Vxmodified
Vxmodified
Vxmodified
Gurjot Singh,11100211,A02,+91-9876298949
Email-gurjotkhaseria@gmail.com
1.Abstract
VxWorks is a real-time portable operating
system interface developed by Wind River
Systems and has been used for numerous
applications such as flight simulators. Even
though many people have not heard of this
operating system, it is very important to learn
about its affects on the electronic world and
how it provides a reliable multitasking system.
In this paper, a reader will read an overview,
processor modes, details on threads, and file
management of the VxWorks operating
system. Since there is a limited supply of
books written about this application, our
source information came from the internet.
2.Overview
VxWorks is Wind Rivers commercial realtime operating system (RTOS) that runs on top
of a current operating system such as UNIX or
Windows. Since VxWorks is a RTOS system,
it is important for it to run dependably all the
time because it could be used in life or death
situations. As Wind River Systems describe
real-time operating systems by its ability to
respond to environmental inputs in a prioritybased manner allows a real-time operating
system to respond almost instantaneously to
events as they occur, (Wind River Systems).
For Example, this RTOS system is used for
numerous projects from home use modems to
traffic control systems and even NASA Space
Exploration Equipment like the Pathfinder.
In the commercial market, Wind River
Systems reports that over the past 20 years,
VxWorks is the most widely used and
thoroughly tested real-time operating system
available today and it has been deployed on
more than 350 billion devices (Wind River
Systems). With its commercial success of
VxWorks, Wind Systems also reports that it
has helped lower the price of development by
estimating the cost per lines of code in
migration of a whole new operating system to
$3.00 per line of code. This is a relatively low
number since the task of migrating can be very
expensive when dealing with real-time
systems. Still, the code is not that cheap since
modular,
future-proof
faster bug fixes and new
without retesting or
the entire system. A
1994 running VxWorks 5.1 on a MIPSbased CPU responsible for the Star
Tracker and image processing algorithms.
The use of a commercial RTOS on board
a spacecraft was considered experimental
at the time.
Transportation
FITSCO Automatic
Train Protection (ATP)system.
Bombardier HMI410 Train Information
System
5.Threads
When talking about single or multi-threaded
per process applications VxWorks falls under
the category of a multi-threaded or
multitasking application. Multitasking is a
method by which multiple tasks; also known
as processes, share common processing
resources such as a CPU. In the case of a
computer with a single CPU, only one task is
said to be running at any point in time,
meaning that the CPU is actively executing
instructions for that task With multitasking
the problem is how to determine which
process gets the CPU next when another task
is waiting to be run, this is solved through
scheduling. When the schedule takes a task off
the CPU and places another onto the CPU this
is called a context switch.
With VxWorks the type of scheduler the
system uses is called preemptive priority
scheduling. This means that every thread is
given a priority number and in this case the
lower the priority the number the greater
priority it has over threads with larger
numbers. After threads are given their priority
number the scheduler now can determine
which task will take CPU cycles while the
others are held. The way it determines this is
that the thread with the lowest priority number
will take precedence. But since this system is
preemptive priority it means that when ever a
thread comes onto the stack to be executed and
has a lower priority number then the current
thread being executed, the current thread will
be stopped and the new thread will be placed
onto the CPU. But this can also cause
problems if a low priority task wants to run
forever and will not yield the CPU, so all other
6.File Management
Since VxWorks is a hard real-time system,
operation from a magnetic disk is not typical.
In some configurations, VxWorks will be
loaded from a disk at boot, and can write the
results of its operation back to disk as it runs.
Hard real-time requires that all operations run
in a fixed amount of time, and dynamic
memory allocation does not meet this
requirement. While VxWorks provides the
malloc()/free() system calls, by convention,
they are not used after program initiation. In
order to maintain a hard real-time system, all
memory allocation must be done at program
initiation to prevent delays during program
execution, and also to prevent memory
fragmentation, which can degrade a hard realtime system to soft real-time. While this may
sound awkward, consider that in many
embedded systems, jobs are not executed and
terminated regularly. The system is initialized
once at power-on, and runs until power-off.
When the system powers on, all programs and
subsystems are initialized. Once the green
light is given, it is assumed that the system can
function in hard real-time with no
interruptions, delays, or exceptions.
It is important to mention the memory
allocation system in tandem with the file
management system, since the file table is held
in RAM. A library is available for VxWorks
that enables access to a DOS FAT file system.
It was this library that crippled the Mars Spirit
Rover in early 2004. When VxWorks boots, it
scans the attached disk to build the file table in
RAM. This table is not written to disk at
power-off, it is regenerated on each boot. As
the file table expands in RAM, additional
allocation requests are made to the system
memory manager for 256 KB blocks. This
behavior is consistent with the requirements of
a hard real-time system. Memory allocations
are only being made as the system is
initialized.
This, however, is where the
consistency ends. The DOS library has two
configuration parameters that become relevant
here. One sets the maximum RAM allocation
and the other sets the failure behavior when
additional memory cannot be allocated.
Maximum RAM allocation is fairly selfevident, but the failure behavior leaves a bit to
be explored. One value instructs the library to
block until memory can be allocated, which, if
the conventions of hard real-time are being
Fig
1.Curiosity'
Rover,
Spacecraft
Assembly Facility, Pasadena, California
some level of overhead with the need to check
semaphore usage and reorder the task priority
list. Unfortunately, the first Martian rover was
flown with priority inheritance disabled, but it
was later enabled when the system was
consistently rebooted by the watch dog timer.
7.Conclusion
In conclusion, VxWorks is a very in demand
real-time operating system used in numerous
important situations, for instance, NASAs
Pathfinder. The reliability of this operating
system is created by its attributes, such as the
processor mode and privilege Instructions,
threads and file management. With the
operating system framework composed the
way that VxWorks is, it is completely
understandable why Wind River Systems
Embedded
Systems
(Handbook)
Rajkamal.
www.windriver,com/productsvxworks
www.cdfonline.fnal.gov
Searchnetworking.techtarget
Wikipedia.com
Automativeforums.com
TERM PAPER
ON
VxWorks
SUBMITTED BY:
Gurjot Singh
Roll No: A02
Section: E2E48
Reg No: 11100211
SUBMITTED TO: