Professional Documents
Culture Documents
ABSTRACT
Win32 API
Windows APIs
PRESENTATION WORK
APIs are provided for Windows applications to allow
them to share objects created on the real-time kernel. queue to have a greater number of overall tasks in the
Both standard real-time objects and Win32 objects are ready to be executed state Usually the data structure
shareable so that Windows and real-time applications of the ready list in the scheduler is designed to
may synchronize and share data. Blocking calls are minimize the worst-case length of time spent in the
handled by a pool of proxy threads on the real-time scheduler's critical section, during which preemption
kernel. REAL TIME SCHEDULING
C Library and C++ Support In typical designs, a task has three states: 1) running
(executing on the CPU), 2) ready (ready to be
Embedded C++) ANSI standard, with the Standard executed), 3) blocked (waiting for input/output). Most
Template Library (STL). INtime provides an tasks are blocked or ready most of the time because
American National Standard Institute (ANSI- generally only one task can run at a time per CPU.
compatible) C library, and support for the EC++ ( The number of items in the ready queue can greatly
vary, depending on the number of tasks the system
Other Services needs to perform and the type of scheduler that the
system uses. On simpler non-preemptive but still
A Transmission Control Protocol/Internet Protocol multitasking systems, a task has to give up its time on
(TCP/IP) stack is provided which is derived from the the CPU to other tasks, which can cause the ready is
BSD Net3 architecture. Ethernet drivers are provided inhibited, and, in some cases, all interrupts are
for Intel, 3Com, and Realtek interface adapters, as disabled. But the choice of data structure depends also
well as for NE2000-compatible ISA interfaces. Serial on the maximum number of tasks that can be on the
ready list.
If there are never more than a few tasks on the ready CONCLUSION
list, then a doubly linked list of ready tasks is likely
optimal. If the ready list usually contains only a few If users have at their disposal a DO-178B Level A
tasks but occasionally contains more, then the list certifiable system, most of the work for a high-
should be sorted by priority. That way, finding the assurance OS is already done. The NSA and
highest priority task to run does not require iterating embedded-OS industry consensus is that most of the
through the entire list. Inserting a task then requires work will be in formal methods necessary to achieve
walking the ready list until reaching either the end of an EAL 7 rating, provided that the kernel is kept
the list, or a task of lower priority than that of the task small and only provides the minimal functionality to
being inserted. support information flow and data isolation.
LynuxWorks' own research has show that a working
Care must be taken not to inhibit preemption during prototype system with the separation kernel to
this search. Longer critical sections should be divided demonstrate functionality. An external agency will be
into small pieces. If an interrupt occurs that makes a used to achieve formal methods certification to EAL
high priority task ready during the insertion of a low 7.
priority task, that high priority task can be inserted LynuxWorks is pioneering in this technology.
and run immediately before the low priority task is Currently, LynuxWorks offers an RTOS that is
inserted. certified by the FAA to the DO-178B Level A
standard. As mentioned above, this product
The critical response time, sometimes called the (LynxOS-178 ) can be easily certified to the
flyback time, is the time it takes to queue a new ready Common Criteria EAL [4]. LynuxWorks is building
task and restore the state of the highest priority task to on this technology to be able to deliver a real_time
running. In a well-designed RTOS, readying a new operating system certifiable to the Common
task will take 3 to 20 instructions per ready-queue Criteria EAL 7.
entry, and restoration of the highest-priority ready task
will take 5 to 30 instructions.
REFERENCES
In more advanced systems, real-time tasks share
computing resources with many non-real-time tasks, Mark Vanfleet, "MASK Mathematically Assured
and the ready list can be arbitrarily long. In such Separation Kernel, Separation Kernel Paradigm",
systems, a scheduler ready list implemented as a NSA
linked list would be inadequate. RTCA. DO-178B/ED-12B. Software Considerations
in Airborne Systems and Equipment Certification.
RTCA, 1992
Algorithms
J. Alves-Foss, C. Taylor, and B. Rinker. "Merging
Safety and Assurance: The Process of Dual
Some commonly used RTOS scheduling algorithms Certification for Software", 2002,
are: http://www.csds.uidaho.edu/papers/Taylor02d
.pdf .
• Cooperative scheduling NIST. Common Criteria for W Information Security
• Preemptive scheduling Evaluation. Parts 1, 2, 3, 1999.
• Round-robin scheduling
• Fixed priority pre-emptive scheduling, an YOUR CONTRIBUTION
implementation of preemptive time slicing
Fixed-Priority Scheduling with Deferred My experience was very good in using REAl TIME
Preemption OPERATING SYSTEM.I found is to be very
• Fixed-Priority Non-preemptive Scheduling powerful,robust and strong real-time,and explain to
Critical section preemptive scheduling others.
• Static time scheduling
• Earliest Deadline First approach
• contribution
systems, wh provides common services for efficient execution of various application software.A good
operating system (OS) provides a solid interface to the hardware and allows the application to be managed in
the most efficient manner possible.
A real-time operating system (RTOS) is an operating system (OS) intended for real-time applications . Such
operating systems serve application requests nearly real-time. A real-time operating system offers
programmers more control over process priorities. Real time means immediate response from the
computer. Thus a system in which a transaction that we access and update a file quickly enough to
affect original decision making is called a real time operating system. A real time operating system has
well defined time constraints.
A real-time system is one in which time plays an essential role.Typically, one or more physical devices external
to the generate stimuli,and the computer must react appropriately to them within a fixed amount of time. For
example, the computer in a compact disc player gets the bits as they come off the drive and must convert them
into music within a very tight time interval.If the calculation takes too long, the music will sound peculiar.Other
real-time systems are patient monitoring in a hospital intensive care unit,the autopilot in an aircraft, and robot
control in an automated factory.In all these cases, having the right answer but having it too late is often just as
bad as not having it at all.
• Real-time systems are generally categorized as hard real time,meaning there are absolute deadlines that
must be met,or else ,soft real time,meaning that missing an occasional deadline is undesirable,but
nevertheless tolerable.The events a real-time system may have to respond to can be further categorized
as periodic(occurring at regular intervals) or aperiodic ich can describe many existing