Real-Time Operating System
INTEGRITY
178B RTOS
In the past, Safety Critical
software systems with multiple
levels of safety criticality have
been deployed on federated systems,
where each function executes on a
dedicated processor. The need to
lower maintenance costs and reduce
the size/weight/power of older
embedded computer systems, combined
with the availability of modern
processor technology, has created
the demand for a commercial run-time
system that permits multiple
programs at different safety levels
to execute on a single processor. In
addition, the run-time system must
be certifiable to a level of
criticality as high or higher than
that of any program running on the
processor.
The cost to test and certify safety
critical software is directly
proportional to the level of safety
criticality. The higher the safety
level, the more complex and
expensive the certification process.
The most economical and
architecturally ideal single
processor solution is to certify
only those programs that operate at
the highest level of safety
criticality to the highest level of
certification. The programs or
functions that operate at lower
levels of criticality would then be
certified to lower levels of safety.
This method is valid as long as the
run-time system guarantees that any
failure resulting from a defect in a
program operating at a lower safety
level CAN NOT, under any
circumstance, disrupt the operation
of the higher safety level
functions. The run-time system must
guarantee protection in both the
space and time domains. In other
words, a commercial real-time
operating system must be securely
partitioned so that it provides both
memory protection and real-time
scheduling protection.
|
|
|
|
|
|
Protection in the Time
Domain |
Deterministic
— given state, input
same state
transition
Schedulability
Analysis
- RMA support within a
partition or across the
entire
processor
- Task utilization
statistics
- Execution overrun
detection
- No heuristics in
scheduler
No
Priority Inversion
- No semaphores in kernel
implementation
- Highest Locker
Semaphores, no unbounded
blocking times
ARINC-653-1
Partition Scheduler
- Optimized two-level
scheduler
- Guaranteed time window
to run with intra- and
inter-
partition allocation of
idle time
Bounded
Computation Time For All
System Calls
- No dynamic memory
allocation in kernel space
No
hidden execution
time/latency
- Message transfers use
task's execution time
- Never disable
interrupts to update kernel
structures
Pure
Software Timers With Access
Permissions
|
|
|
INTEGRITY-178B |
|
"INTEGRITY-178B has
been engineered from
the ground up to
provide security and
determinism."
|
|
|
|
|
|
|
Protection in the Space
Domain |
 |
Guaranteed
Resource
Availability –
Partition's memory
is protected from
access by another
partition |
 |
Memory
Protection –
Utilizes underlying
HW MMU, applies
execute-read-write
permissions |
 |
"Hard
Currency" OS –
Programs in Secure
Partitions donate
own memory to
satisfy system call |
 |
Statically
verifiable MMU
settings – No
dynamic manipulation
of MMU to support
message passing |
 |
No
Recursion in Kernel
– Static call graph
guarantees max
kernel stack size |
 |
Static
Verification of
System Resources
(kernel objects) |
 |
Connections –
Secure
interpartition
communications |
 |
Secure
Device Drivers –
User Mode tasks
which use
connections as
interface to the ISR/Synchronous
Call |

|
|
|
|
INTEGRITY-178B reduces the time
to introduce new functionality into
existing systems. Through secure
partitioning in both time and space,
minimal regression testing is
required for a system's preexisting
components. Testing is often the
most expensive activity of any
certification effort. This reduction
of effort translates into large cost
savings and decreased time to
market. For systems without secure
partitioning, regression
tests/analysis must be performed to
guarantee schedulability, as well as
ensuring no data access violations,
by the new functionality. As a
result, both performance and
functional tests are required.
|
Back to GH Home Page
Back to Testech Home Page
Compiler
RTOS
Emulator/Debugging
|