You are on page 1of 16

PORTABLE SOFTWARE OF SILICON

PSOS
INTRODUCTION
• pSOS (portable software on silicon) is a real time operating system(RTOS), created in
about 1982 by Alfred chao, and developed/marketed for the first part of its life by his
company software components group(SCG).

• In about 1991, Software Components Group was acquired by Integrated Systems Inc. (ISI)
who further developed pSOS - now restyled as pSOS+ - for other microprocessor families,
by rewriting the greater part of it in C. Attention was also paid to supporting successively
more culminating in pRISM+.

• In July 1994, Integrated Systems acquired Digital Research modular real-time multi-
tasking operating system FlexOS from Novell

• In 1995, Integrated Systems offered a pSOSystem/NEST package for Novell's Embedded


Systems Technology(NEST).

• In February 2000 Integrated Systems Inc. was acquired by the originators of rival RTOS.
Despite initial reports that pSOS support would continue, development was halted. Wind
River announced plans for a 'convergence' version of VxWorks which will support pSOS
system calls, and that no further releases of pSOS itself will be made.
PSOS SYSTEM
pSOS system is a modular, high-performance real-time operating system designed
specifically for embedded microprocessors. It provides a complete multitasking
environment based on open systems standards.

• pSOS system is designed to meet three overriding objectives:


• Performance
• Reliability
• Ease-of-Use
• The result is a fast, deterministic, yet accessible system software solution. Accessible
in this case translates to a minimal learning curve.

pSOS system is designed for quick startup on both custom and commercial hardware.
The pSOS system software is supported by an integrated set of cross development tools
that can reside on UNIX- or DOS-based computers.
SYSTEM ARCHITECTURE
The pSOS system software employs a modular architecture. It is built around the
pSOS+ real-time multi-tasking kernel and a collection of companion software
components. Software components are standard building blocks delivered as absolute
position-independent code modules. They are standard parts in the sense that they are
unchanged from one application to another.
• pSOS+ Real-time Multitasking Kernel. A field-proven,multitasking kernel that provides a
responsive, efficient mechanism for coordinating the activities of your real-time system.
• pSOS+m Multiprocessor Multitasking Kernel. Extends the pSOS+ feature set to operate
seamlessly across multiple, tightly-coupled or distributed processors.
• pNA+ TCP/IP Network Manager. A complete TCP/IP implementation including
gateway routing, UDP, ARP, and ICMP protocols; uses a standard socket interface
that includes stream, datagram, and raw sockets.
• pRPC+ Remote Procedure Call Library. Offers SUN-compatible RPC and XDR
services; allows you to build distributed applications using the familiar C procedure
paradigm.
• pHILE+ File System Manager. Gives efficient access to mass storage devices, both local
and on a network. Includes support for CD-ROM devices, MS-DOS compatible floppy
disks, and a high speed proprietary file system. When used in conjunction with the pNA+
component and the pRPC+ subcomponent, offers client-side NFS services.
• pREPC+ ANSI C Standard Library. Provides familiar ANSI C runtime functions such
as printf(), scanf(), and so forth, in the target environment.

Unlike most system software, a software component is not wired down to a piece of
hardware. It makes no assumptions about the execution/ target environment. Each software
component utilizes a user-supplied configuration table that contains application- and
hardware-related
INTEGRATED DEVELOPMENT
The combination of the pROBE+ debugger and optional host debugger provides a
multitasking debug solution that features:

• A sophisticated mouse and window user interface.


• Automatic tracking of program execution through source code files.
• Traces and breaks on high-level language statements.
• Breaks on task state changes and operating system calls.
• Monitoring of language variables and system-level objects such astasks, queues and
semaphores.
• Profiling for performance tuning and analysis.
• System and task debug modes.
• The ability to debug optimized code.
PSOS + REAL TIME KERNEL
The pSOS+ kernel is a real-time, multitasking operating system kernel. As such, it acts
as a nucleus of supervisory software that

• Performs services on demand


• Schedules, manages, and allocates resources
• Generally coordinates multiple, asynchronous activities
The pSOS+ kernel maintains a highly simplified view of application software,
irrespective of the application’s inner complexities. To the pSOS+ kernel, applications
consist of three classes of program elements:

• Tasks
• I/O Device Drivers
• Interrupt Service Routines (ISRs)
PROCESS SCHEDULING
• The pSOS+ kernel employs a priority-based, pre-emptive scheduling algorithm. In
general, the pSOS+ kernel ensures that, at any point in time, the running task is the
one with the highest priority among all ready-to-run tasks in the system. However,
you can modify pSOS+

• scheduling behaviour by selectively enabling and disabling pre-emption or time-


slicing for one or more tasks.

• If disabled, then once the task enters the running state, it will stay running even if
other tasks of higher priority enter the ready

• pre-emption. A second mode bit controls time slicing. If the running task's time slice
bit is enabled, the pSOS+ kernel automatically tracks how long the task has been
running. When the task exceeds the predetermined time slice, and other tasks with the
same priority.
MIGRATION AWAY FROM PSOS
• In March 2000, rival company Express Logic released their Evaluation Kit for
pSOS+ users, designed to provide a migration path to its ThreadX RTOS.

• During August 2000, MapuSoft Technologies Inc. came up with the pSOS OS
Changer porting kit which can smoothly move the software to multiple OS such as
Linux, VxWorks and more. It includes an IDE and API optimization along with a
profiling tool to measure API timing on target boards

• In August 2007, RoweBots, a former partner of SCG and ISI, open sourced their
pSOS+ compatible version called Reliant. It is available to all that wish to upgrade
without applications changes.
LAYERED SYSTEM ARCHITECTURE
Considering that it involved new hardware, it is unclear how much of PSOS itself was
implemented, but the design appears substantially complete. Code proofs were not
undertaken. Neumann and Feiertag state that only some simple illustrative proofs were
carried out (Neumann et al 1980, § 1). Nevertheless, PSOS is an impressive effort that
pioneered a number of important concepts for OS verification and system design in
general, and it aimed at applying formal methods throughout the whole implementation
of the OS. We have already mentioned the concept of hardware abstraction layers
(HALs). Strong abstractions with small interfaces are a software engineering
mechanism for building layered, complex systems.
DUAL PORTED MEMORY
• Dual-ported memory is commonly used in memory-bus based multiprocessor
systems. However, it poses several unique problems to the software: any data
structure in dual-ported memory has two addresses, one for each port. Consider the
problem.

• structure is in dual-ported memory, the address may have to be translated before it


can be used by the target node, depending on whether or not the target node accesses
this memory through the same port as the sender node.

• To overcome this confusion over the duality of address and minimize its impact on
user application code, the pSOS+m kernel includes facilities that perform address
conversions. But first, a few terminology definitions.
NETWORK FACILITIES
pSOSystem real-time operating system provides an extensive set of networking
facilities for addressing a wide range of interoperability and distributed computing
requirements.
These facilities include TCP/IP Support – PSOS system’s TCP/IP networking
capabilities are constructed around the pNA+ software component. pNA+ includes
TCP, UDP, IP, ICMP, IGMP, and ARP accessed through the industry standard socket
programming interface. pNA+ offers services to application developers as well as to
other PSOS System networking options such as RPC, NFS, FTP, and so forth. pNA+
fully supports level 2 IP multicast as specified in RFC 1112, including an
implementation of IGMP.
Address Resolution and arp
The pNA+ component goes through the following steps when performing
address resolution.

• 1. The pNA+ component examines the NI flags to determine if it should handle


address resolution internally. If not (i.e. the ARP flag is disabled), the pNA+
component passes the internet address to the network driver.

• 2. If the ARP flag is enabled, the pNA+ component searches its ARP Table (see
section 4.12.1) for an entry containing the internet address. If an entry is found, the
corresponding hardware address is passed to the NI.

• 3. If the internet address is not found in the ARP Table, the pNA+ component uses the
Address Resolution Protocol to obtain the hardware address dynamically.
Usage of outside psos
Often, operations in dual-ported zones fall outside the context of the pSOS+ kernel. For
example, the address of a partition buffer or a user structure may be passed from one
node to another within the user’s application code. If this address is in a dual ported
zone, then the twosystem calls, m_int2ext and m_ext2int, may need to be used to
perform a necessary address conversion.

Observe the following rule:


• When an address within a dual-port zone must be passed from one node to another,
then pass the external address.

• The procedure is quite simple. Because the sending node always knows the internal
address, it can call m_int2ext to first convert it to the external address. On the
receiving node, m_ext2int can be used to convert and obtain the internal address for
that node.
conclusion
In this article, we have given a brief overview on software verification in general and
operating systems verification in particular. We have looked at modern microkernels
and the security policies they enforce. Finally, we have surveyed the state of the art in
OS verification, looking at nine different projects in the area from 1973 to 2008. There
is currently still no general-purpose OS or OS kernel that would deserve the tag ‘fully
formally verified’. There are a number of smaller systems that have undergone EAL7
certification, but none of the systems have managed to close the gap so far that manual
translation is not needed between the code running on the machine and the code
verified in the theorem prover. The AAMP7 project came close to this goal. The
Verisoft project could close the gap completely and go beyond source code verification,
but the official project has terminated; work on the VAMOS kernel verification is
progressing on a smaller scale only. The L4.verified project includes source code
verification and is still on going.
references
• www.google.com
• www.wikipedia.com
• www.studymafia.org

You might also like