Vxmodified

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 7

Vx-Works

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.

the government certification cost range from


$50.00 to $1000.00 in the real-time system.
Another positive aspect of Wind Rivers
VxWorks is that there has been updates and
six releases on the operating system to correct
any problems. Also, VxWorks is appealing to
the consumer market since it provides three
different configurations (described later in
section) allowing the customer to choose
which version is best for their situation.
3. Features
VxWorks is designed for the use in embedded
systems. A list of some important features of
VxWorks are written as under:

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

Supports ability to run two concurrent


OSs on a single processing layer.
Virtual I/O devices including pipes
and sockets are available.
Watchdog timers.
VxWorks has task delaying functions
and task delaying cum suspending
functions.
Virtual
memory
management
functions.
Power management functions that
enhance the ability to control power
consumption.
Unlike MUCOS, VxWorks has no
separate functions for the mailboxes
that distinguish the mailbox from the
message queue. VxWorks messages
can be queued.

Error handling framework

Bluetooth, USB, CAN protocols,


Firewire IEEE 1394, BLE, L2CAP,
Continua stack, health device profile
Binary,
counting,
and mutual
exclusion
semaphores with priority
inheritance.
Local and distributed message queues.

Human machine interface with Vector


Graphics, and Tilcon user interface
(UI)
Graphical user interface (GUI):
OpenVG stack, Open GL, Tilcon UI,
Frame Buffer Driver, EV Dev
Interface
Updated configuration interfaces for
VxWorks Source Build VSB projects
and VxWorks Image Projects
Single authentication control used for
Telnet, SSH, FTP, and rlogin daemons
Connectivity with Bluetooth and
Socket CAN protocol stacks
Inclusion of MIPC File System (MFS)
and MIPC Network Device (MND)
VxWorks has IPC functions that are
more sophisticated
than MUCOS
functions.
VxWorks is a scalable OS. The
runtime configurable feature gives a
higher performance in VxWorks.
In addition to queues, VxWorks
provides the IPCs through the pipe
into which an ISR or task can write by
involving functions for pipe open().
The unlock () and lock () functions are
available for the tasks and interrupts,
for disabling other task but not
interrupts or enabling pre-emption as
alternative to resource locking by
mutex semaphore.
Symbolic debugging.

4. VxWorks & its APPLICATION


In the present world VxWorks is used in a
number of scientific fields and covers a wide
market range. VxWorks delivers the right
combination of scalability, safety and security,
and virtualization capabilities to meet nextgeneration requirements.
Scalability
The
VxWorks
architecture enables
feature additions
recertification of

combination of the VxWorks microkernel (just


20 KB) and the standard kernel provides one
common real-time operating system (RTOS)
foundation for different classes of devices,
helping reduce development and maintenance
costs.
Safety and Security
VxWorks supports the space, time, and
resource partitioning required for IEC 62304,
IEC 61508, IEC 50128, DO-178B, DO-178C,
and ARINC 653 certification. VxWorks
customers can design their systems to the
required level of security by picking from a
comprehensive set of VxWorks security
features.
Virtualization
Virtualization Profile for VxWorks brings
real-time embedded virtualization capabilities
that enable customers to consolidate multiple
hardware platforms on a single multi-core
platform. In addition to driving down costs,
Virtualization Profile allows customers to
rapidly innovate and add new functionality
without disturbing legacy applications.
Because of the above mentioned facts
VxWorks has found quite a few great
applications. A few are discussed as below:
Aerospace profile for VxWorks
VxWorks together with Aerospace Profile for
VxWorks provides manufacturers of aerospace
and defence systems with a comprehensive
operating environment, so they can focus on
differentiation and deploy on schedule with
rock-solid, innovative solutions for their
customers.
Spacecraft

modular,
future-proof
faster bug fixes and new
without retesting or
the entire system. A

The Mars Reconnaissance Orbiter.


The Mars Science Laboratory also known
as the Curiosity rover.
NASA Mars rovers (Sojourner, Spirit,
Opportunity).
The Deep Space Program Science
Experiment (DSPSE) also known
as Clementine Spacecraft launched in

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.

Phoenix Mars Lander.

Transportation

Security profile for VxWorks

Security Profile provides a solid foundation for


building
security-sensitive
applications.
Customize and leverage the profile to deliver a
robust security feature set for your
customers.Security Profile supports Advanced
Encryption Standard (AES) encryption and
seamlessly integrates with a hardware-based
security solution to protect your intellectual
property from piracy and your code from
illegal cloning and reverse engineering.
Medical profile for VxWorks
VxWorks large ecosystem of complementary
third-party
hardware
and
software
technologies enables customers to create
differentiated best-of-breed platforms based on
VxWorks and their choice of validated
complementary hardware and software
solutions. VxWorks 7 together with Medical
Profile for VxWorks offers a complete RTOS
solution with compliance documentation, built
from the ground up for medical device
manufacturers so they can focus on bringing
differentiated, rock-solid, IoT-ready solutions
for their customers and obtains FDA and other
regulatory approvals faster.
Industrial profile for VxWorks
VxWorkss vast ecosystem of complementary
third-party
hardware
and
software
technologies enables customers to create
differentiated best-of-breed platforms based on
VxWorks and their choice of validated
complementary hardware and software
solutions.
Industrial Robots

ABB industrial robots


The C5G robotic project by Comao.

KUKA industrial robots.


Staunli industrial robots.
Yaskawa Electric Corporations industrial
robots.
Comau Robotics SMART5 industrial
robot

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

tasks will not be executed, but this can be


bypassed for so to prevent this sort of situation
from occurring.An example of VxWorks being
used was on the Mars Pathfinder mission.
Tasks on the Pathfinder spacecraft were
executed as threads with priorities that were
assigned in the usual manner reflecting the
relative urgency of these tasks (Winkipedia).
On the Pathfinder it contained what is called
an information bus, this is a place of
memory where information was stored and
passed to different components on the
spacecraft. A bus management task ran with
high priority meaning it got the CPU when it
came onto the stack; this was to be able to
move certain types of data in and out of the
information bus.
The information bus was not the only
type of thread being processed at the time
either. The Pathfinder was also gathering data
on meteorological events that ran in low
priority threads, which also used the
information bus to move its data. When the
meteorological data was trying to be published
and an interrupt occurred so the bus
management task could transfer information,
the meteorological data would be held and
have to give up its resources so the bus
management could complete its task first. This
happened because the bus management tasked
had a higher priority (lower priority number)
so when it came time for it to be executed the
task on the CPU had a lower priority (higher
priority number) it had to yield to the bus
management task.
Most of the time this combination worked
fine. However, very infrequently it was
possible for an interrupt to occur that caused
the (medium priority) communications task to
be scheduled during the short interval while
the (high priority) information bus thread was
blocked waiting for the (low priority)
meteorological data thread. In this case, the
long-running communications task, having
higher priority than the meteorological task,
would prevent it from running, consequently
preventing the blocked information bus task
from running. After some time had passed, a
watchdog timer would go off, notice that the
data bus task had not been executed for some
time, conclude that something had gone
drastically wrong, and initiate a total system
reset.

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

followed, is never, while the other forces the


library to return to the calling program
immediately if there is a failure in the driver.
NASA Jet Propulsion Laboratory engineers
discovered too late in the Spirit rover
experiment that the FAT library had been
configured to allow unlimited RAM
expansion, and to block indefinitely while
waiting for RAM. Many real-time systems,
the rovers not excluded, feature a hardware
watch dog timer onboard. The timer verifies
that critical components of the operating
system are still functioning. If they fail to
respond, the timer will power cycle the
system. Fortunately, the watch dog timer on
the Spirit rover was able to monitor more than
just kernel responsiveness, but also subsystem
response. When instrumentation on the rover
blocked on a data write, which in turn stalled
due to memory allocation issues, the timer
exceeded its programmed threshold and
rebooted the system.

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

reports that VxWorks is the most widely used


and thoroughly test real-time system available
today.
Acknowledgement
I take pleasure in thanking all those people
who helped me in preparing this paper to
successful and satisfactory completion of this
study. First and foremost I thank my teacher
Mr Kranthi Kumar Pulluri who has assigned
me this term paper to bring out my creative
capabilities. Finally I want to thank all those
friends who helped me through this paper
through their guidance.
References

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:

Mr. Kranthi Kumar

You might also like