17.05.2015 Views

OEM Boards and Systems Hanbook 1989 - Al Kossow's Bitsavers

OEM Boards and Systems Hanbook 1989 - Al Kossow's Bitsavers

OEM Boards and Systems Hanbook 1989 - Al Kossow's Bitsavers

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

FEATIlRES<br />

1lEA£.'I'IIWE stJIiTWtlaE I'IlOM 'I'HE<br />

INIJIJS'I'Il1' u;,.t.a<br />

Intel has been the industry leader in microprocessor·based<br />

real-time computing since It Invented the microprocessor. 1\0<br />

other company supplies the range of real·tlme solutions that<br />

we do. Since 1977. thous<strong>and</strong>s of customers have used our<br />

iRMX. real-time operating systems. "<br />

Now Intel has put Its real·time expertise into a 32·bit kernel<br />

that supports the 80386 microprocessor <strong>and</strong> the 80376<br />

embedded controller. TIle IRMK Version 1.2 Kernel saves you<br />

the cost of designing. debugging. <strong>and</strong> maintaining your own<br />

executive for real·t1me systems. You can concentrate on<br />

writing your application rather than on writing a kernel.<br />

I'IIE (l1J1UaS'I' r.4'1'H I'OIl tI WIBE<br />

lUNGE fJI' IrEtI£.'I'IIWE tI,.,.UCtl'l'IONS<br />

The IRMK Kernel's high performance <strong>and</strong> rich set of real·<br />

time services make it ideal for a wide range or real·time<br />

"applications. including:<br />

Data acquisition <strong>and</strong> analysis<br />

Continuous process control<br />

Discrete process control<br />

. Simulation<br />

Medical instruments<br />

Test instrumentation<br />

Image processing<br />

Automated test<br />

AvioniCS <strong>and</strong> navigation<br />

Field comm<strong>and</strong> control<br />

Energy <strong>and</strong> environmental control<br />

Radio control<br />

Slitellite communications<br />

Terminals<br />

Graphics work stations<br />

Robotics<br />

Signal processing<br />

Laser printers<br />

Front-end concentrators<br />

Host communications<br />

tI alt:H SE'I' OF aEtI£.'I'IME SEanCES<br />

The iRMK Version 1.2 Kernel provides a rich set of services<br />

for real·time applications. Including:<br />

• Task management with system calls to create. manage.<br />

<strong>and</strong> 'schedule tasles in a multitasking environment. The<br />

Kernel offers pre-emptive priority scheduling combined<br />

with optional time-slice (round robin) scheduling.<br />

The scheduling algorithm used by the iRMK Kernel allows<br />

tasks to be rescheduled in a fixed amount of time .<br />

regardless of the number of tasks. Applications may<br />

contain any number of tasles.<br />

An application can provide optional task h<strong>and</strong>lers to<br />

customize task management. These h<strong>and</strong>lers can execute<br />

"on task c",ation. task SWitch. task deletion. <strong>and</strong> task<br />

priority change. Task h<strong>and</strong>lers can be used for a Wide<br />

range of functions including saving <strong>and</strong> restoring the<br />

state of coproct'Ssor registers on task switch. masking<br />

intt>rrupts baSt'll on task priority. or implementing<br />

statistical <strong>and</strong> diagnostic monitors.<br />

• Interrupt management by immediately switching control<br />

to user·written interrupt h<strong>and</strong>lers when an interrupt<br />

occurs. Response to interrupts is both fast <strong>and</strong><br />

predict.able. Most of the Kernel's system calls can be<br />

executed directly from interrupt h<strong>and</strong>lers.<br />

• Time managl'mcnt providing single·shot alarms. repetitive<br />

alarms. <strong>and</strong> a real·time clock. <strong>Al</strong>arms can be reset.<br />

These time manageml~nt facilities can solve a wide range<br />

of real·timl' programming problems. Single·shot alarms.<br />

for example. can bl' used to h<strong>and</strong>le timeouts. If the<br />

timeout occurs. till' alarm invokt'S a user-written h<strong>and</strong>ler:<br />

if the event oCl~Urs befort' tht' timeout. the application<br />

simply delrtes the alarm. Other uses for the Kernel's time<br />

management facilities include polling devices with<br />

repetitive alarms. putting tasks to sleep for specified<br />

periods (If time. 01' implementing a time-of-day clock .<br />

• Semaphores. rt'~itlns. anti mailboxes for intertask<br />

synchronization <strong>and</strong> t~lmmunication. Semaphores are<br />

used for intertasle Signalling <strong>and</strong> synchronization. Regions<br />

are special binary semaphores used to ensure mutual<br />

exclusion <strong>and</strong> prevent dradlock when tasks contend for<br />

control of system resources. A task holding a region'S<br />

unit runs at the priority of the highest priority task<br />

waiting for the rt'glnn's unit.<br />

Mailboxes are queues that can hold any number of<br />

messages <strong>and</strong> are used to exchange data between tasks.<br />

Either data or pointers ran be scnt using mailboxes. The<br />

Kernel allows mailbox messages to be of any length. High<br />

" priority messages can be placed (jammed) at the front of<br />

the message queue to ensure that they are received<br />

before other messages queued at the mailbox.<br />

To ensure that high priority tasks are not blocked by<br />

lower priority t.asks, the Kernel allows ~sks to queue at<br />

semaphores <strong>and</strong> mailboxes in priority order. The Kernel<br />

also supports first·in. first·out tasle queuing.<br />

• Memory pool manager that provides fixed <strong>and</strong> variable<br />

block allocation. Memory can be divided into any number<br />

of pools. Multiple memory pools might be created for<br />

different speed memories or for allocating different size<br />

blocks. Access to a memory pool for fixed,sized allocation<br />

is always deterministic.<br />

The Kernel·supplied memory manager works with flat.<br />

segmented. <strong>and</strong> paged addressing. Users can write their<br />

own memory manager to provide different memory<br />

management policies or to support virtual memory.<br />

2-18

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!