[comp.realtime] Overview of Real-Time Kernels at the SSC

cwk@boomer.ssc.gov (Carl W. Kalbfleisch) (06/19/91)

Based on the number of requests I am getting for copies of our
paper entitled "Overview of real-time kernels at the SSC
Laboratory", I have decide that there is enough interest to 
post the Post Script file to this newsgroup.

Save the file, remove the text above and below the "cut here"
text and send it to your favorite Post Script printer.  Enjoy!

Comments are welcome, everything else is not.

Carl W. Kalbfleisch


------------------------CUT HERE--------------------------
%!
% This file is a NONconforming PostScript file.
(TeXPS: dvi->PostScript Driver dvitps, Version 2.19 of June 23, 1989\n)print flush
% Copyright 1989 Stephan v. Bechtolsheim (unless otherwise stated)
% applies to various prologue files. Read documentation for details.
save
% dvitps: BEGIN including file "/usr/local/lib/tex/pro/texpre.pro"
/@bop0
{
PsPrintEnabled { (Pass0: Page ) print == flush } {pop} ifelse
}	def
/@eop0 {
pop
}	def
/@bop1
{
PsPrintEnabled { (Pass1: Page ) print == flush } {pop} ifelse
save
DviTranslateVector-X DviTranslateVector-Y translate
DviOrientationMatrix concat
Page-H-Offset Page-V-Offset translate
3 1 roll
translate
0 0 moveto
Draft-Flag { @Draft } if
/DriverDelta 0 def
} def
/@eop1 {
pop
showpage
restore
} def
/@end {
(Done!\n) print flush
} def
/@ReportVmStatus {
(\n@ReportVmStatus: ) print
print (: ) print
vmstatus
(max: ) print 20 string cvs print
(, used: ) print 20 string cvs print
(, level: ) print 20 string cvs print
(\n) print flush
} def
/@ReportVmStatusNew {
(VM: ) print
exch print
(, printer: ) print
/Vmfree vmstatus pop exch pop def Vmfree (       ) cvs print
(, driver: ) print dup (      ) cvs print
(, delta: ) print
Vmfree sub (      ) cvs print
(\n) print flush
} def
/@Draft {
gsave
Page-H-Offset neg Page-V-Offset neg translate
-45 rotate
-150 0 moveto
/Helvetica-Bold findfont
[120.0 0 0 -120.0 0 0 ] makefont setfont
(DRAFT) show
grestore
gsave
Page-H-Offset neg Page-V-Offset neg translate
300 -100 moveto
/Helvetica-Bold findfont
[60.0 0 0   -60.0 0 0 ] makefont setfont
Date-and-Time		show
(   ::   )	      	show
Dvi-File-Name		show
grestore
} def
% dvitps: END including file "/usr/local/lib/tex/pro/texpre.pro"
% dvitps: BEGIN including file "/usr/local/lib/tex/pro/pos.pro"
/a { rmoveto } def
/DriverDelta 0 def
/b { exch p dup /DriverDelta exch def 0 rmoveto } def
/c { p DriverDelta 4 sub dup /DriverDelta exch def 0 rmoveto } def
/d { p DriverDelta 3 sub dup /DriverDelta exch def 0 rmoveto } def
/e { p DriverDelta 2 sub dup /DriverDelta exch def 0 rmoveto } def
/f { p DriverDelta 1 sub dup /DriverDelta exch def 0 rmoveto } def
/g { p DriverDelta 0 rmoveto } def
/h { p DriverDelta 1 add dup /DriverDelta exch def 0 rmoveto } def
/i { p DriverDelta 2 add dup /DriverDelta exch def 0 rmoveto } def
/j { p DriverDelta 3 add dup /DriverDelta exch def 0 rmoveto } def
/k { p DriverDelta 4 add dup /DriverDelta exch def 0 rmoveto } def
/l { p -4 0 rmoveto } def
/m { p -3 0 rmoveto } def
/n { p -2 0 rmoveto } def
/o { p -1 0 rmoveto } def
/q { p 1 0 rmoveto } def
/r { p 2 0 rmoveto } def
/s { p 3 0 rmoveto } def
/t { p 4 0 rmoveto } def
/p { show } def
/w { 0 exch rmoveto } def
/x { 0 rmoveto } def
/y { 3 -1 roll p rmoveto } def
/u-string ( ) def
/u { u-string exch 0 exch put
u-string show
} def
/v { u-string exch 0 exch put
currentpoint
u-string show
moveto
} def
% dvitps: END including file "/usr/local/lib/tex/pro/pos.pro"
% dvitps: BEGIN including file "/usr/local/lib/tex/pro/rules.pro"
/z
{   /dy exch def
/dx exch def
currentpoint
currentpoint
transform round exch round exch itransform
newpath
moveto
dx 0 rlineto
0 dy rlineto
dx neg 0 rlineto
closepath
fill
moveto
}
def
/z
{   /dy exch def
/dx exch def
currentpoint
0.2 0.2 rmoveto
currentpoint
newpath
moveto
dx 0 rlineto
0 dy rlineto
dx neg 0 rlineto
closepath
fill
moveto
}
def
% dvitps: END including file "/usr/local/lib/tex/pro/rules.pro"
/Dvi-File-Name (paper.dvi) def
(Dvi file name: ") print Dvi-File-Name print (".\n) print
/Draft-Flag false def
/#copies 1 def
/NumCharsInPixelFonts 256 def
/HostName (carob) def
(This PostScript file was produced on host \") print HostName print (\".\n) print
/PsPrintEnabled true def
/Page-H-Offset   0.000000 def
/Page-V-Offset   0.000000 def
/ExecPsConv {0.30 mul} def
/Date-and-Time (Fri May  3 13:00 1991) def
/DviTranslateVector-X   72.000 def
/DviTranslateVector-Y  720.000 def
/DviOrientationMatrix [    0.240    0.000    0.000
	   -0.240 0.0 0.0 ] def
% dvitps: BEGIN including file "/usr/local/lib/tex/pro/pixel-fonts.pro"
/@newfont
{
/newname exch def
newname 7 dict def
newname load begin
/FontType 3 def
/FontMatrix [1 0 0 -1 0 0] def
/FontBBox [0 0 1 1] def
/BitMaps NumCharsInPixelFonts array def
/BuildChar {CharBuilder} def
/Encoding NumCharsInPixelFonts array def
0 1 NumCharsInPixelFonts 1 sub {Encoding exch /.undef put} for
end
newname newname load definefont pop
} def
/ch-image {ch-data 0 get} def
/ch-width {ch-data 1 get} def
/ch-height {ch-data 2 get} def
/ch-xoff  {ch-data 3 get} def
/ch-yoff  {ch-data 4 get} def
/ch-tfmw  {ch-data 5 get} def
/CharBuilder
{
/ch-code exch def
/font-dict exch def
/ch-data font-dict /BitMaps get ch-code get def
ch-data null eq not
{
ch-tfmw   0
ch-xoff neg
ch-height ch-yoff sub neg
ch-width  ch-xoff neg add
ch-yoff
setcachedevice
0 0 transform round exch round exch itransform translate
ch-width ch-height true
[1 0  0 1 ch-xoff ch-height ch-yoff sub] {ch-image} imagemask
}
if
} def
/@dc
{
/ch-code exch def
/ch-data exch def
currentfont /BitMaps get
ch-code ch-data put
currentfont /Encoding get
ch-code (   ) cvs   % convert the character code to a string
cvn
ch-code exch put
} def
/@sf /setfont load def
% dvitps: END including file "/usr/local/lib/tex/pro/pixel-fonts.pro"

3 @bop0
/@F4 @newfont
@F4 @sf
[<
03FFFC00001F8000000F0000000F0000000F0000000F0000000F0000000F0000000F000000
0F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F
0000800F0020800F0020800F0020C00F0020400F0040400F0040600F00C0700F01C07FFFFF
C0>
	 27 28 -1 27 30] 84 @dc
[<
1F8700304E80603C40E01C40E01C40E01C40601C00701C00381C000F1C0001FC00001C0000
1C00301C00781C007838003070001FC000>
	 18 18 -2 17 21] 97 @dc
[<
10F8001906001E03001C01801C01C01C00C01C00E01C00E01C00E01C00E01C00E01C00E01C
00C01C01C01C01801E03001D86001C7C001C00001C00001C00001C00001C00001C00001C00
001C00001C00001C0000FC0000>
	 19 29 -1 28 23] 98 @dc
[<
FF801C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C
001C001C001C001C001C001C001C001C001C00FC00>
	 9 29 -1 28 12] 108 @dc
[<
03E00C181804300270026000E000E000E000E000FFFEE0066006700E300C18180C3003E0>
	 15 18 -1 17 18] 101 @dc
[<
FFFE7FFE3FFE100218010C0106010300018000C0006000700038001C001C000E000E000F70
07F807F807F80FF00F400E400C201C183007C0>
	 16 28 -2 27 21] 50 @dc
[<
60F0F0600000000000000000000060F0F060>
	 4 18 -4 17 12] 58 @dc
[<
000007C0FFF01C200F003C200F0038100F0078100F0078100F0078000F0078000F0078000F
0078000F0078000F0078000F00F0000F00E0000F03C0000FFF00000F01E0000F0078000F00
3C000F001C000F001E000F001E000F001E000F001E000F001C000F003C000F0078000F01E0
00FFFF0000>
	 28 29 -2 27 31] 82 @dc
[<
FFE0FFE0>
	 11 2 0 9 14] 45 @dc
[<
FF801C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C00FC0000
0000000000000000000000000018003C003C001800>
	 9 29 -1 28 12] 105 @dc
[<
FF8FF8FF801C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01
C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001E01E01C
001D019018001C83883800FC7E07E000>
	 33 18 -1 17 35] 109 @dc
[<
8FC0D060E010C018C0188018803800F80FF03FE07F80F800E010C010C010403030701F90>
	 13 18 -1 17 16] 115 @dc
[<
FF80001C00001C00001C00001C00001C00001C00001C00001CF8001D06001E03001C01801C
01C01C01C01C00E01C00E01C00E01C00E01C00E01C00E01C00C01C01C01C01801E03001D86
00FC7C00>
	 19 26 -1 17 23] 112 @dc
[<
03F0000E1C00180600300300700380600180E001C0E001C0E001C0E001C0E001C0E001C060
01807003803003001806000E1C0003F000>
	 18 18 -1 17 21] 111 @dc
[<
FF9FF01C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C
03801C03801E03801D03001C8700FC7C00>
	 20 18 -1 17 23] 110 @dc
[<
83F800CC0C00D00200E00300C00180C001808001C08001C08001C00001C00003C00007C000
0F8000FF8007FF001FFE003FF8007FC0007C0000F80000F00000E00080E00080E00080E001
806001807003803005801C198007E080>
	 18 30 -2 28 23] 83 @dc
[<
003F800000E0E0000380380007001C000E000E001C0007003C00078038000380780003C078
0003C0700001C0F00001E0F00001E0F00001E0F00001E0F00001E0F00001E0F00001E0F000
01E0700001C0780003C0780003C0380003803C0007801C0007000E000E0007001C00038038
0000E0E000003F8000>
	 27 30 -2 28 32] 79 @dc
[<
00060000000600000006000000060000000600000006000000060000000600000006000000
060000000600000006000000060000FFFFFFE0FFFFFFE00006000000060000000600000006
00000006000000060000000600000006000000060000000600000006000000060000000600
00>
	 27 28 -2 23 32] 43 @dc
[<
000600000006000000060000000F0000000F0000001F8000001E8000001E8000003C400000
3C4000003C4000007820000078200000F8300000F0100000F0100001F0080001E0080001E0
080003C0040003C0040003C0040007800200078002000F8003000F0001000F0001801F0003
C0FFE00FF0>
	 28 29 -1 27 31] 86 @dc
[<
FFC0FFF01F003F8006001F0002001E0003003C0001007C000080780000C0F8000041F00000
21E0000023E0000013C000000F8000000F8000000F0000001F0000001E0000003D0000007D
80000078800000F0400001F0600001E0200003E0100003C01800078018000FC03E007FF0FF
C0>
	 28 28 -1 27 31] 88 @dc
[<
07E01830201C401CF00EF80FF80FF80F700F000F000F000E001C001C003007E00060003000
18001C001C381E781E780E781E201C201C183007E0>
	 16 29 -2 27 21] 51 @dc
[<
FFFFF00F01F00F00700F00300F00100F00180F00180F00080F00080F00080F00000F00000F
00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00
000F00000F8000FFF800>
	 21 28 -2 27 26] 76 @dc
[<
3C0000660000F30000F10000F0800000800000800000400000400000E00000E00000E00001
D00001D00003D8000388000388000704000704000704000E02000E02001C01001C01003C03
80FF07E0>
	 19 26 -1 17 22] 121 @dc
[<
FF0FF81E07C0040380060700020E00010E00009C0000F80000780000700000F00001D80001
C8000384000702000F03000F03807F8FF0>
	 21 18 0 17 22] 120 @dc
[<
001800180000180018000018001800003C003C00003C003C00003C003C00003E007C00007A
007A00007A007A00007900FA0000F100F10000F100F10000F100F10001E081E08001E081E0
8001E081E08003E043C04003C043C04003C043C04003C02780400780278020078027802007
801F00200F001F00100F001F00100F001F00101E001E00181F001F003CFFE0FFE0FF>
	 40 29 -1 27 43] 87 @dc
[<
FFC01C001C001C001C001C001C001C001C001C001C001C001C001C301E781E781D30FCE0>
	 13 18 -1 17 16] 114 @dc
[<
FF9FE01C0F801C0F001C0E001C1C001C3C001C38001C78001E70001DE0001CE0001C40001C
20001C10001C08001C0C001C0F001C3FC01C00001C00001C00001C00001C00001C00001C00
001C00001C00001C0000FC0000>
	 19 29 -1 28 22] 107 @dc
[<
C000C0006000600060003000300030001800180018000C000C000C00060006000300030003
0001800180018000C000C000C000600060003000300030001800180018000C000C000C0006
0006000600030001>
	 16 41 -2 30 21] 47 @dc
[<
00400000E00000E00000E00001D00001D00003D8000388000388000704000704000704000E
02000E02001C01001C01003C0380FF07E0>
	 19 18 -1 17 22] 118 @dc
[<
07F8001C0E00300300600180C000C0C000C0C000C06001C03003801FFF801FFF001FF80018
000030000010000013C0000C30001C3800181800381C00381C00381C00381C001818001C38
800C38C003C4C0000380>
	 18 28 -1 18 21] 103 @dc
/@F3 @newfont
@F3 @sf
[<
C00000E00000E000007000007000007000007000003800003800003BE0E03E19901E07881C
03881C03881C03880E01C00E01C00E01C00E01C00700E00700E00700E00700E00380700380
70038070018030>
	 21 27 -1 17 25] 22 @dc
@F4 @sf
[<
07C00C301808300470046000E000E000E000E000E000E00060007030307818780C3007E0>
	 14 18 -2 17 18] 99 @dc
@F4 @sf
[<
FFF00F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F
000F000F000F000F000F000F000F000F00FFF0>
	 12 28 -1 27 15] 73 @dc
[<
03C00E200C101C101C101C101C101C101C001C001C001C001C001C001C001C001C00FFE03C
001C000C000C000400040004000400>
	 12 26 -1 25 16] 116 @dc
[<
03E3F00E1B800C07801C07801C03801C03801C03801C03801C03801C03801C03801C03801C
03801C03801C03801C03801C0380FC1F80>
	 20 18 -1 17 23] 117 @dc
[<
03E00C301818300C300E700660076007E007E007E007E007E007E006F00EF00CE818E430E3
E0600070007000300C301E181E0C0E0604030C00F0>
	 16 29 -2 27 21] 54 @dc
[<
FFF80F80070007000700070007000700070007000700070007000700070007000700070007
0007000700070007000700C7003F0007000300>
	 13 28 -4 27 21] 49 @dc
[<
07E01C10300C60046002C003C003C003C003C007600F601E307E18FC07F807F01FE03FB03E
08780C70066006600660062006200C10080C3003E0>
	 16 29 -2 27 21] 56 @dc
[<
07C018702038401C401E800EF00FF00FF00F600F000F000F000F000E200E301C2818243023
E02000200020002000200020003FC03FF03FF8300C>
	 16 29 -2 27 21] 53 @dc
[<
07E00C301818300C300C700E60066006E007E007E007E007E007E007E007E007E007E007E0
07E007E00760066006700E300C300C18180C3003C0>
	 16 29 -2 27 21] 48 @dc
[<
0F8030C0203070107818780C300C000E0006000607C70C271817300F700F6007E007E007E0
07E007E007E006E006600E700C300C18180C3003C0>
	 16 29 -2 27 21] 57 @dc
[<
01FFC0001C00001C00001C00001C00001C00001C00001C00FFFFC0C01C00401C00201C0030
1C00101C00081C000C1C00041C00021C00031C00011C00009C0000DC00005C00003C00003C
00001C00000C00000C00>
	 18 28 -1 27 21] 52 @dc
[<
03000007800007800007800007800007800007800003800003800003800003800001800001
800001C00000C00000C0000040000060000020000010000010008008008004008004004002
007FFF007FFF007FFF80400000>
	 17 29 -2 27 21] 55 @dc
[<
FFF87038700838083C0C1C040E040F040700038003C041C040E040F04070603870387FFC>
	 14 18 -1 17 18] 122 @dc
[<
07C7E00C3700180F00300700700700600700E00700E00700E00700E00700E00700E0070060
0700700700300700180F000C170003E7000007000007000007000007000007000007000007
00000700000700000700003F00>
	 19 29 -2 28 23] 100 @dc
[<
60F0F060>
	 4 4 -4 3 12] 46 @dc
[<
FFF3FFC00F003C000F003C000F003C000F003C000F003C000F003C000F003C000F003C000F
003C000F003C000F003C000F003C000F003C000FFFFC000F003C000F003C000F003C000F00
3C000F003C000F003C000F003C000F003C000F003C000F003C000F003C000F003C00FFF3FF
C0>
	 26 28 -2 27 31] 72 @dc
[<
7FE00E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E00FFE00E
000E000E000E000E000E000E0C061E071E018C00F8>
	 15 29 0 28 13] 102 @dc
[<
001F00000070C00000C02000018010000380100007800800070008000F0004000F0004000F
0004000F0004000F0004000F0004000F0004000F0004000F0004000F0004000F0004000F00
04000F0004000F0004000F0004000F0004000F0004000F0004000F0004000F0004000F000E
00FFF07FC0>
	 26 29 -2 27 31] 85 @dc
[<
FF8004001C000C0008000C0008001C0008003C0008003C0008007C0008007C000800F40008
01E4000801E4000803C4000807C40008078400080F0400080F0400081E0400083C0400083C
04000878040008F8040008F0040009E0040009E004000BC004000F8004000F800E00FF007F
C0>
	 26 28 -2 27 31] 78 @dc
[<
008020000180300001C0700001C0700003C0680003A0E80003A0E8000720C4000711C40007
11C4000E1182000E0B82000E0B82001C0B01001C0701001C0701803C0F0380FF3FCFE0>
	 27 18 -1 17 30] 119 @dc
[<
FF9FF01C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C
03801C03801E03801D03001C87001C7C001C00001C00001C00001C00001C00001C00001C00
001C00001C00001C0000FC0000>
	 20 29 -1 28 23] 104 @dc
[<
804020101008080868F8F060>
	 5 12 -4 28 12] 39 @dc
[<
004000800100020006000C000C0018001800300030007000600060006000E000E000E000E0
00E000E000E000E000E000E000E000E000600060006000700030003000180018000C000C00
06000200010000800040>
	 10 42 -3 30 16] 40 @dc
[<
800040002000100018000C000C000600060003000300038001800180018001C001C001C001
C001C001C001C001C001C001C001C001C0018001800180038003000300060006000C000C00
18001000200040008000>
	 10 42 -2 30 16] 41 @dc
[<
804020201010101070F0F060>
	 4 12 -4 3 12] 44 @dc
[<
FF80FFF01E001F000C001F0004001E0004001E0006003E0002003C0002003C0003007C0001
FFF800010078000180F8000080F0000080F0000041E0000041E0000041E0000023C0000023
C0000023C000001780000017800000178000000F0000000F0000000F000000060000000600
0000060000>
	 28 29 -1 28 31] 65 @dc
[<
003FE000070000070000070000070000070000070000070007C7000C3700180F00300F0070
0700600700E00700E00700E00700E00700E00700E00700700700700700300F00180B000C33
0003C100>
	 19 26 -2 17 22] 113 @dc
[<
7F87F80E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E
01C00E01C00E01C00E01C00E01C0FFFFC00E00000E00000E00000E00000E00000E01800E03
C00703C003018001C180007E00>
	 21 29 0 28 23] 12 @dc
[<
7FCFF80E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E
01C00E01C00E01C00E01C00E01C0FFFFC00E01C00E01C00E01C00E01C00E01C00E01C00E01
C00703C00303C001C1C0007FC0>
	 21 29 0 28 23] 13 @dc
[<
7F87FC000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E
01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C000FFFFFC000E01
C0000E01C0000E01C0000E01C0000E01C0000E01C0000E03C1800703C3C00303E3C001C1B1
80007E1F00>
	 26 29 0 28 24] 11 @dc
[<
FFF0000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F
00000FFF800F00E00F00780F003C0F001C0F001E0F001E0F001E0F001E0F001E0F001C0F00
3C0F00780F00E0FFFF80>
	 23 28 -2 27 28] 80 @dc
[<
FFFFFC0F003C0F000C0F00060F00060F00020F00020F00020F00010F02010F02000F02000F
02000F06000FFE000F06000F02000F02000F02000F02020F00020F00020F00060F00040F00
040F000C0F003CFFFFFC>
	 24 28 -2 27 28] 69 @dc
[<
FFF8000F80000F00000F00000F00000F00000F00000F00000F00000F02000F02000F02000F
02000F06000FFE000F06000F02000F02000F02000F02040F00040F00040F000C0F00080F00
080F00180F0078FFFFF8>
	 22 28 -2 27 27] 70 @dc
[<
001F800000E060800180118007000B800E0007801C0007801C000780380007807800078078
00078070000780F0000F80F000FFF0F0000000F0000000F0000000F0000000F0000000F000
0000700000807800008078000080380001801C0001801C0003800E00038007000780018019
8000E06180001F8080>
	 28 30 -2 28 33] 71 @dc
[<
FFFFC0000F0070000F001C000F000E000F0007000F0007800F0003800F0003C00F0001C00F
0001C00F0001E00F0001E00F0001E00F0001E00F0001E00F0001E00F0001E00F0001E00F00
01C00F0001C00F0003C00F0003800F0007000F0007000F000E000F003C000F00F000FFFFC0
00>
	 27 28 -2 27 32] 68 @dc
[<
FFFFE00F00780F003C0F001E0F001E0F000F0F000F0F000F0F000F0F000F0F000E0F001E0F
003C0F00780FFFE00F01F00F00780F003C0F001C0F001E0F001E0F001E0F001E0F001C0F00
3C0F00380F00F0FFFFC0>
	 24 28 -2 27 29] 66 @dc
[<
FEFEC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
C0C0FEFE>
	 7 41 -4 30 12] 91 @dc
[<
FEFE0606060606060606060606060606060606060606060606060606060606060606060606
0606FEFE>
	 7 41 0 30 12] 93 @dc
[<
3E006180F1C0F0C060E000E000E000E000E000E000E000E000E000E000E000E000E000E000
E000E000E000E000E000E000E00FE0000000000000000000000000000000C001E001E000C0
>
	 11 37 3 28 13] 106 @dc
[<
001FC00000E0300001800800070004000E0002001C0001001C000100380000807800008078
00008070000080F0000000F0000000F0000000F0000000F0000000F0000000F0000000F000
0000700000807800008078000080380001801C0001801C0003800E00038007000780018019
8000E06180001F8080>
	 25 30 -2 28 30] 67 @dc
[<
FF8307FF801C030078000803007800080780780008078078000807807800080F407800080F
407800081E207800081E207800081E207800083C107800083C107800083C10780008780878
000878087800087808780008F004780008F004780008F004780009E002780009E00278000B
C00178000BC00178000BC00178000F8000F8000F8000F800FF8000FF80>
	 33 28 -2 27 38] 77 @dc
[<
FFFFE0F803E07800E03C00603C00201E00201F00300F001007801007801003C01003E00001
E00000F00000F000007800007C00003C00001E00401E00400F00400F804007806003C06003
C07001E07C01F07FFFF0>
	 20 28 -2 27 25] 90 @dc
[<
1F0021C040E0F0F0F878F878F8787078007800780078007800780078007800780078007800
780078007800780078007800780078007800F81FFF>
	 16 29 -1 27 21] 74 @dc

3 @eop0

0 0 3 @bop1 708 53 a @F4 @sf(T)m(able)13 b(2:)18 b(Real-Time)13 b(Resp)q
(onse)-1322 55 y 2109 -2 z -1 50 a 2 -50 z 540 x 2 -50 z 130 -15 a(pSOS+)
130 15 y 2 -50 z 116 -15 a(VR)m(TX32)114 15 y 2 -50 z 123 -15 a(LynxOS)121 
15 y 2 -50 z 113 -15 a(VxW)m(orks)111 15 y 2 -50 z -2109 50 a 2 -50 z 540 x 
2 -50 z 26 -15 a(min/max/a)o -1 x(vg)f @F3 @sf(\026)p @F4 @sf(sec)26 15 y 
2 -50 z 25 -15 a(min/max/a)o -1 x(vg)g @F3 @sf(\026)p @F4 @sf(sec)26 15 y 
2 -50 z 25 -15 a(min/max/a)n(vg)g @F3 @sf(\026)p @F4 @sf(sec)26 15 y 2 -50 z 
26 -15 a(min/ma)o(x/a)o(vg)o 13 x @F3 @sf(\026)p @F4 @sf(sec)25 15 y 2 -50 z 
-2108 2 a 2109 -2 z -1 49 a 2 -50 z 26 -15 a(In)o(terrupt)j(Service)g
(Resp)q(onse)25 15 y 2 -50 z 145 -15 a(6/6/6)143 15 y 2 -50 z 145 -15 a
(6/6/6)142 15 y 2 -50 z 114 -15 a(13/88/1)o(3)111 15 y 2 -50 z 134 -15 a
(6/56/6)132 15 y 2 -50 z -2108 2 a 2109 -2 z -1 50 a 2 -50 z 26 -15 a(In)o
(terrupt)g(T)m(ask)f(Resp)q(onse)67 15 y 2 -50 z 83 -15 a(100/169/1)o(63)
80 15 y 2 -50 z 82 -15 a(169/343/16)o(9)80 15 y 2 -50 z 82 -15 a
(163/262/17)o(5)80 15 y 2 -50 z 83 -15 a(119/319)o(/125)o 80 15 a 2 -50 z 
-2108 2 a 2109 -2 z -21 166 a(VR)m(TX)24 b(to)g(customized)h(b)q(oards.)
50 b(Host)25 b(supp)q(ort)g(curren)o(tly)-1049 49 y(exists)20 b(only)e
(for)h(SUN3/SUN4)g(with)g(Sun's)h(o)o(wn)f(proprietary)-1050 50 y(windo)o
(wing)c(en)o(vironmen)o(t.)24 b(The)16 b(source)h(lev)o(el)f(debugger)h
(\(R)m(T-)-1051 50 y(source\))12 b(and)f(the)g(sym)o(b)q(olic)f(debugger)i
(\(R)m(Tscop)q(e\))f(can)g(function)-1050 50 y(across)i(an)f(ethernet/se)q
(rial)h(link)e(b)q(et)o(w)o(een)i(the)g(host)f(and)g(target.)-1050 50 y
(Lik)o(e)g(pSOS+,)h(breakp)q(oin)o(ts)g(can)f(b)q(e)h(set)g(at)g(task)f
(as)g(w)o(ell)g(as)g(sys-)-1049 49 y(tem)17 b(lev)o(el.)26 b(T)m(asks)16 b
(ma)o(y)g(b)q(e)h(stopp)q(ed)h(and)e(information)f(ab)q(out)-1050 50 y(k)o
(ernel)20 b(data)f(structure)q(s)i(displa)o(y)o(ed.)34 b(A)20 b(run-time)f
(shell)g(with)-1050 50 y(dynamic)13 b(linking)f(capabilit)o(y)g(is)h(a)o
(v)n(ailabl)o(e)g(for)g(quic)o(k)g(protot)o(yp-)-1050 50 y(ing)j(of)g
(applications.)26 b(Although)17 b(somewhat)g(daun)o(ting)f(to)g(the)-1049 
50 y(\014rst-time)11 b(user,)h(VR)m(TX)d(is)i(an)f(extremely)h(\015exible)f
(and)h(v)o(ersatile)-1050 50 y(system)k(to)e(the)i(initiated.)-383 49 y
(VxW)m(orks)27 b(includes)i(a)e(pro)o(v)o(en)h(real-time)g(k)o(ernel)g
(and)g(a)-1050 50 y(UNIX)21 b(cross-dev)o(elopmen)o(t)h(pac)o(k)n(age)e
(with)h(extensiv)o(e)h(UNIX-)-1050 50 y(compatible)f(net)o(w)o(orking)g
(facilities.)40 b(V)m(ersion)21 b(4.02)g(supp)q(orts)-1049 50 y(only)e(a)h
(preemptiv)o(e)h(priorit)o(y)e(sc)o(heduling)h(k)o(ernel)g(while)g(V5.0)
-1051 50 y(o\013ers)25 b(in)e(addition)g(round-robin)h(sc)o(heduling.)48 b
(V)m(ersion)24 b(5.0)-1051 49 y(also)11 b(promises)h(b)q(etter)h(p)q
(erformance)g(with)e(some)h(compliance)f(to)-1050 50 y(P)o(osix)18 b
(1003.4)g(Real-Tim)o(e)g(Extensions.)34 b(VxW)m(orks)18 b(curren)o(tly)-1049 
50 y(is)e(p)q(orted)g(to)g(a)f(n)o(um)o(b)q(er)h(of)f(di\013eren)o(t)i
(target)f(b)q(oards)g(with)f(the)-1049 50 y(host)h(supp)q(ort)h(fully)d
(implemen)o(ted)h(only)g(on)h(the)g(SUN3/SUN4)-1050 50 y(systems.)25 b
(The)16 b(source-lev)o(el)g(debugger)h(is)e(a)h(remote)g(debugger)-1049 
49 y(based)f(on)f(the)h(F)m(ree)g(Soft)o(w)o(are)e(F)m(oundation)g(GDB)h
([7].)k(The)d(de-)-1050 50 y(bugger)e(can)g(only)f(debug)i(single)e(tasks)i
(and)f(curren)o(tly)g(do)q(es)h(not)-1050 50 y(ha)o(v)o(e)k(an)h(X11)f(in)o
(terface.)32 b(A)19 b(sym)o(b)q(olic)e(debugger)j(with)e(some)-1050 50 y
(system)e(status)g(displa)o(ys)e(is)h(also)g(standard.)22 b(Dynamic)14 b
(loading)o -1051 50 a(of)i(ob)r(jects)i(o)o(v)o(er)e(the)i(net)o(w)o(ork)e
(or)h(from)f(a)g(disk)h(together)g(with)-1050 50 y(an)d(in)o(teractiv)o(e)g
(C-in)o(terpreter)h(in)o(terface)g(can)f(b)q(e)g(useful)g(during)-1050 49 y
(the)g(dev)o(elopmen)o(t)g(cycle.)-370 50 y(LynxOS)d(pro)o(vides)g(a)f
(complete)i(Unix)e(dev)o(elopmen)o(t)h(en)o(viron-)-1050 50 y(men)o(t.)20 b
(It)15 b(can)g(also)f(b)q(e)h(used)h(for)e(a)g(cross-dev)o(e)q(lopmen)o(t)h
(system)-1049 50 y(lik)o(e)h(the)h(other)g(three)h(k)o(ernels.)26 b(It)17 b
(o\013ers)g(go)q(o)q(d)f(real-time)g(p)q(er-)-1049 50 y(formance)c(with)f
(memory)g(protection.)18 b(LynxOS)12 b(1.21)e(curren)o(tly)-1049 49 y
(o\013ers)16 b(compliance)e(to)h(P)o(osix)g(1003.1)o(,)f(SVID)g(4.2)g(and)h
(BSD)g(4.3)-1051 50 y(with)f(future)g(releases)i(complying)d(with)g
(1003.4)f(Draft)i(9)g(\(Real-)-1051 50 y(Time)20 b(Extensions\).)37 b(It)
21 b(has)f(b)q(een)h(p)q(orted)g(to)f(four)g(di\013eren)o(t)-1049 50 y
(computer)c(arc)o(hitectures.)23 b(It)15 b(has)g(a)f(Unix)h(System)g(V.3)f
(binary)-1050 50 y(compatible)g(in)o(terface)g(built)g(in)o(to)g(the)g
(LynxOS)h(k)o(ernel)g(so)f(that)-1050 49 y(binaries)k(w)o(ork)h(under)g
(LynxOS)g(and)f(the)h(standard)g(Unix)f(for)-1050 50 y(that)j(arc)o
(hitecture)q 22 x(without)g(mo)q(di\014cation.)39 b(The)21 b(debug)h(en-)
-1050 50 y(vironmen)o(t)17 b(consists)h(of)f(GDB)g(as)g(the)h(source-lev)o
(el)h(debugger.)-1050 50 y(There)c(is)f(presen)o(tly)h(no)e(k)o(ernel)i
(debugger.)-351 81 y(V.)f(CONCLUSIONS)-663 81 y(It)21 b(has)g(b)q(een)i
(our)e(exp)q(erience)q 23 x(that)g(a)g(compile-do)o(wnload-)o -1051 50 a
(debug)12 b(cycle)h(common)e(with)h(all)f(the)i(em)o(b)q(edded)g(systems)g
(is)f(not)-1050 50 y(a)g(ma)r(jor)f(problem)h(for)f(us,)h(Etherne)q(t)h
(and)f(NFS)g(links)f(mak)o(e)h(this)-1050 50 y(a)i(sp)q(eedy)h(pro)q
(cess.)830 -2354 y(It)k(has)f(b)q(ecome)h(apparen)o(t)f(the)h(imp)q
(ortance)f(of)f(compliance)-1050 49 y(with)j(standards.)37 b(Standards)20 b
(adherence)q 21 x(mak)o(es)g(co)q(de)h(more)-1050 50 y(p)q(ortable.)d(W)m
(e)13 b(had)h(to)f(e\013ectiv)o(ely)i(rewrite)f(all)f(the)h(tests)h(for)e
(all)-1051 50 y(the)h(k)o(ernels)h(b)q(ecause)h(of)d(the)i(in)o(terface)f
(di\013erences)q(.)-809 50 y(Another)19 b(conclusion)e(is)h(the)g(imp)q
(ortance)f(of)g(ha)o(ving)g(a)g(ma-)-1051 50 y(ture)d(debugging)f(en)o
(vironmen)o(t,)g(a)g(source-lev)o(el)h(remote)g(debug-)-1050 49 y(ger)19 b
(with)f(a)h(X11)f(Windo)o(ws)g(in)o(terface)h(that)g(can)g(debug)g(opti-)
-1051 50 y(mized)13 b(co)q(de)h(is)e(extremely)i(useful.)k(A)13 b(go)q(o)q
(d)f(k)o(ernel)h(debugger)h(is)-1050 50 y(also)d(v)o(ery)h(imp)q(ortan)o
(t,)f(allo)o(wing)f(the)i(user)h(to)f(halt)f(all)g(tasks)h(and)-1050 50 y
(examine)i(states)h(of)f(an)o(y)f(individual)f(task)j(with)e(relationship)h
(to)-1050 50 y(other)g(tasks.)-170 50 y(After)h(w)o(e)e(factor)h(in)f(the)h
(hardw)o(are)f(di\013erence)q(s)i(b)q(et)o(w)o(een)g(our)-1050 49 y(en)o
(vironmen)o(t)e(and)g(the)g(individual)e(v)o(endors')i(test)h(b)q(ed,)g
(most)f(of)-1051 50 y(the)j(timing)d(results)j(w)o(e)g(obtain)e(agrees)i
(surprisingly)f(w)o(ell)f(with)-1050 50 y(the)g(resp)q(e)q(ctiv)o(e)h(v)o
(endors')f(published)g(v)n(alues.)-696 50 y(F)m(urthermore,)e(w)o(e)f
(realize)g(that)g(di\013erences)q 12 x(in)f(compilers)h(can)-1050 50 y
(con)o(tribute)19 b(to)f(the)g(o)o(v)o(erall)f(p)q(erformance)i(of)f(the)g
(k)o(ernels)h(and)-1050 49 y(will)12 b(require)j(further)g(in)o(v)o
(estigation.)-560 50 y(Finally)m(,)o 16 x(the)i(more)f(hosts)h(and)f
(targets)i(that)e(a)g(giv)o(en)g(cross-)-1049 50 y(dev)o(elopmen)o(t)j(k)o
(ernel)g(supp)q(orts,)h(the)g(more)e(attractiv)o(e)h(it)f(will)-1051 50 y
(b)q(e,)g(esp)q(ecially)f(in)g(a)f(v)n(astly)h(heterogeneous)i(en)o
(vironmen)o(t)e(lik)o(e)-1051 50 y(the)d(SSC.)270 112 y(Reference)q(s)-203 
15 y 219 -2 z -395 76 a([1])19 b(Motorola,)12 b(Inc.,)h(T)m(ec)o(hnical)g
(Systems)h(Division,)e(P)m(.O.)g(Bo)o(x)-965 50 y(2953,)h(Pho)q(enix)h(AZ)g
(85062)-510 66 y([2])19 b(Soft)o(w)o(are)h(Comp)q(onen)o(t)h(Group,)g
(Inc.,)g(1731)f(T)m(ec)o(hnology)-966 50 y(Driv)o(e,)13 b(San)h(Jose,)g
(CA)g(95110,)e(\(408\))i(437-0700)o -844 66 a([3])19 b(Ready)k(Systems,)j
(Inc.,)f(470)e(P)o(otrero)h(Av)o(e.,)h(P)m(.O.)d(Bo)o(x)-965 50 y(60217,)
12 b(Sunn)o(yv)n(ale,)h(CA)h(94086)-582 67 y([4])19 b(Wind)32 b(Riv)o(er)h
(Systems,)38 b(Inc.,)f(1010)31 b(A)o(tlan)o(tic)i(Av)o(e.,)-966 49 y
(Alameda,)13 b(CA)h(94501,)e(\(415\))h(748-4100)-723 67 y([5])19 b(Lynx)
14 b(Real-Time)f(Systems,)i(Inc.,)e(16780)g(Lark)h(Av)o(e.,)g(Los)-965 50 y
(Gatos,)f(CA)h(95030,)e(\(408\))i(354-7770)o -669 66 a([6])19 b(Microtec)e
(Researc)o(h,)f(Inc.,)g(2350)e(Mission)h(College)g(Blvd.,)-966 50 y(San)o
(ta)f(Clara,)e(CA)i(95054,)e(\(408\))i(980-1300)-779 66 y([7])19 b(F)m
(ree)i(Soft)o(w)o(are)f(F)m(oundation,)f(675)h(Massac)o(h)o(usetts)i(Av)o
(e.,)-966 50 y(Cam)o(bridge,)13 b(MA)h(02139)432 669 y(P)o(age)g(3)-2052 b
3 @eop1

2 @bop0
@F4 @sf
[<
01800180018001804182F18F399C0FF003C003C00FF0399CF18F41820180018001800180>
	 16 18 -2 30 21] 42 @dc
[<
00000F0000001F8000003FC000003FC0000038E00000306000006020003FE02000F0E02003
A0780007205C000E208E001C1107003C0E078038000380780003C0780003C0700001C0F000
01E0F00001E0F00001E0F00001E0F00001E0F00001E0F00001E0F00001E0700001C0780003
C0780003C0380003803C0007801C0007000E000E0007001C000380380000E0E000003F8000
>
	 27 37 -2 28 32] 81 @dc
/@F2 @newfont
@F2 @sf
[<
0C00000E00000E000007000007000007000003000003800003800001800001C00000C00000
C000006000006000006000003000001000001800800800800C00400400400600601A003027
003C61001FE08017E08009C040>
	 18 29 -7 27 21] 55 @dc
[<
60F07830>
	 5 4 -4 3 13] 46 @dc
[<
000380000007E0000007F000000FF000000E18000006080000040C0003FC04000F0E04001D
0780003905C0007104E0007080700070783800F0001C00F0001E00F0000E00F0000F00F000
0F00F0000780F0000780F0000780780003C0780003C0780003C03C0003C03C0003C01C0003
C01E0003C00E0003C0070003800380038001C0078000E0070000700E00001C1C000007F000
>
	 26 37 -6 28 32] 81 @dc
[<
078E001C59001839001838803838803838801C1C001C1C001C1C001C1C000E0E000E0E0087
0E00870E004707004707002707001E0300>
	 17 18 -4 17 22] 117 @dc
[<
1F0030C060206010E008E000E000E000E000E0007F8070607010381018080C10071001E0>
	 13 18 -5 17 19] 101 @dc
[<
FFF000000F0000000700000007000000070000000700000003800000038000000380000003
81000001C0800001C0800001C0800001C0800000FFC00000E0C00000E0400000E040000070
2000007020800070008000700080003800800038008000380080003800C0003C01C001FFFF
C0>
	 26 28 -3 27 27] 70 @dc
[<
3C0072007200710071007100380038001C001C001C000E008E008E004700470026001C0000
00000000000000000000000000010003800180>
	 9 28 -4 27 13] 105 @dc
[<
38006800E400E400E400E400700070007000700038003800380038001C001C001C001C000E
000E000E000E000700070007000700038003801F80>
	 9 29 -4 28 11] 108 @dc
[<
800000C000006000006000003000003000001800001800000C00000C000006000003000003
000001800001800000C00000C000006000003000003000001800001800000C00000C000006
000006000003000001800001800000C00000C000006000006000003000003000001800000C
00000C000006000006000002>
	 23 41 -1 30 21] 47 @dc
[<
FFFF00000E01C000070070000700380007001C0007000E0003800700038007800380038003
8003C001C001C001C001E001C001E001C001E000E000F000E000F000E000F000E000F00070
00F00070007000700070007000F0003800E0003800E0003801C0003801C0003C078001FFFE
00>
	 28 28 -3 27 31] 68 @dc
[<
3000700038003800380038001C001C001C001C000E000E008E008E064707468726C23C3C>
	 16 18 -4 17 18] 114 @dc
[<
3C38626461E4C0E2C0E2E0E2E070E070E070E0707038703830383838181C0C3C063C03CC>
	 15 18 -5 17 21] 97 @dc
[<
300E00701900383880383840381C40381C401C1C001C0E001C0E001C0E000E07000E07008E
07008E07004707004687002646003C3C00>
	 18 18 -4 17 23] 110 @dc
@F2 @sf
[<
0F000030C000602000601000C01800C00C00C00C00600600600600600600300E00180E0008
1E00063C0003780001F00003F00003CC000786000703000601800601800601800300C00300
C0018080008180006100001E00>
	 18 29 -4 27 21] 56 @dc
[<
FF00FFC01C001E000C000E0004000E0002001C0002001C0001001C0001801C0000801C0000
401C00007FFC0000201C0000201C0000101C0000181C0000081C0000041C0000041C000002
3C0000023800000138000001B8000000B80000007800000078000000380000003800000018
0000001800>
	 26 29 -2 28 31] 65 @dc
[<
1E00318060C0E060E030E038E018E01CE01CE01C700E700E300E380C180C0C0C071801E0>
	 15 18 -5 17 21] 111 @dc
[<
1F0030C06020E010E008E000E000E000E000E0007000700030003838181C0C08070801F0>
	 14 18 -5 17 19] 99 @dc
[<
0E00190038803840384038401C001C001C001C000E000E000E000E00070007000700FFE003
8003800380038001C001C001C000C0>
	 11 26 -3 25 14] 116 @dc
[<
7E00C300E1C0C0C000E000E0007000700F7018F01878303830383838381C381C381C381C1C
0E1C0E0C0E0E0E0607030F018F00F3>
	 16 26 -3 17 19] 103 @dc
[<
FF861FFC001C0601E0000C0700E000040700E000040780E000040740E00002074070000207
207000020720700002071070000107103800010708380001070438000107043800008E021C
00008E021C00008E011C00008E011C00004E008E00004E004E00004E004E00004E002E0000
2E002700002E001700002E001700002E000F00003E00078001FE0007F8>
	 37 28 -3 27 37] 77 @dc
[<
300C01C0701C0320380E0710380E0708380E0388380E03881C0703801C0701C01C0701C01C
0701C00E0380E00E0380E08E0380E08E0380E04703C0E04683A0E0266318C03C1E0780>
	 29 18 -4 17 34] 109 @dc
[<
3C0047008180E1C0E0C000E00070007007F01C7018381838383838381C1C1C1C1C1C1C1C0E
0E0E0E870E870E4707470727071E03>
	 16 26 -4 17 20] 121 @dc
@F4 @sf
[<
007FF800000780000007800000078000000780000007800000078000000780000007800000
0780000007800000078000000FC000000F4000001F2000001E2000003C1000007C18000078
080000F8040000F0040001F0020003E0020003C0010007C00180078000800F8001E0FFF007
FC>
	 30 28 0 27 31] 89 @dc
[<
804020201010101070F0F0600000000000000000000060F0F060>
	 4 26 -4 17 12] 59 @dc

2 @eop0

0 0 2 @bop1 648 53 a @F4 @sf(T)m(able)13 b(1:)18 b(Throughput)c
(Measuremen)o(ts)-1402 97 y 2162 -2 z -1 50 a 2 -50 z 26 -15 a(T)m(est)g
(Description)269 15 y 2 -50 z 130 -15 a(pSOS+)129 15 y 2 -50 z 117 -15 a
(VR)m(TX32)113 15 y 2 -50 z 123 -15 a(LynxOS)122 15 y 2 -50 z 113 -15 a
(VxW)m(orks)111 15 y 2 -50 z -2162 50 a 2 -50 z 593 x 2 -50 z 26 -15 a
(min/max/)o(a)o(vg)e @F3 @sf(\026)p @F4 @sf(sec)25 15 y 2 -50 z 26 -15 a
(min/max/)o(a)o(vg)g @F3 @sf(\026)p @F4 @sf(sec)25 15 y 2 -50 z 26 -15 a
(min/max/a)o -1 x(vg)g @F3 @sf(\026)p @F4 @sf(sec)26 15 y 2 -50 z 25 -15 a
(min/max/a)n(vg)g @F3 @sf(\026)p @F4 @sf(sec)26 15 y 2 -50 z -2161 2 a 2162 
-2 z -1 49 a 2 -50 z 26 -15 a(Create/Delete)j(T)m(ask)212 15 y 2 -50 z 83 
-15 a(540/600/)o(591)79 15 y 2 -50 z 83 -15 a(370/380/3)o(71)79 15 y 2 -50 z 
187 -15 a(*)185 15 y 2 -50 z 51 -15 a(1378/1446)o(/1423)o 49 15 a 2 -50 z 
-2161 2 a 2162 -2 z -1 50 a 2 -50 z 26 -15 a(Ping)e(Susp)q(end/Resume)j(T)m
(ask)56 15 y 2 -50 z 83 -15 a(120/130/)o(128)79 15 y 2 -50 z 83 -15 a
(140/150/1)o(42)79 15 y 2 -50 z 187 -15 a(*)185 15 y 2 -50 z 82 -15 a
(174/182/17)o(7)80 15 y 2 -50 z -2161 2 a 2162 -2 z -1 49 a 2 -50 z 26 -15 a
(Susp)q(end/Resume)f(T)m(ask)154 15 y 2 -50 z 114 -15 a(80/90/83)110 15 y 
2 -50 z 114 -15 a(80/90/87)110 15 y 2 -50 z 187 -15 a(*)185 15 y 2 -50 z 
113 -15 a(68/74/69)111 15 y 2 -50 z -2161 2 a 2162 -2 z -1 50 a 2 -50 z 
26 -15 a(Ping)e(Semaphore)272 15 y 2 -50 z 83 -15 a(210/220/)o(219)79 15 y 
2 -50 z 83 -15 a(230/250/2)o(39)79 15 y 2 -50 z 83 -15 a(390/400/3)o(97)
80 15 y 2 -50 z 82 -15 a(228/234/23)o(2)80 15 y 2 -50 z -2161 2 a 2162 -2 z 
-1 49 a 2 -50 z 26 -15 a(Getting/Releasing)g(Semaphore)24 15 y 2 -50 z 114 
-15 a(63/64/63)110 15 y 2 -50 z 114 -15 a(55/56/55)110 15 y 2 -50 z 114 
-15 a(73/76/74)111 15 y 2 -50 z 113 -15 a(33/34/33)111 15 y 2 -50 z -2161 
2 a 2162 -2 z -1 50 a 2 -50 z 26 -15 a(Queue)i(Fill)375 15 y 2 -50 z 114 
-15 a(40/50/46)110 15 y 2 -50 z 114 -15 a(20/30/26)110 15 y 2 -50 z 83 -15 a
(136/146/1)o(40)80 15 y 2 -50 z 113 -15 a(19/21/20)111 15 y 2 -50 z -2161 
2 a 2162 -2 z -1 49 a 2 -50 z 26 -15 a(Queue)g(Drain)334 15 y 2 -50 z 114 
-15 a(40/50/43)110 15 y 2 -50 z 114 -15 a(20/40/29)110 15 y 2 -50 z 83 -15 a
(126/136/1)o(32)80 15 y 2 -50 z 113 -15 a(21/25/22)111 15 y 2 -50 z -2161 
2 a 2162 -2 z -1 50 a 2 -50 z 26 -15 a(Queue)g(Fill)e(Urgen)o(t)238 15 y 
2 -50 z 114 -15 a(40/50/47)110 15 y 2 -50 z 114 -15 a(20/30/27)110 15 y 
2 -50 z 83 -15 a(166/175/1)o(70)80 15 y 2 -50 z 113 -15 a(70/76/72)111 15 y 
2 -50 z -2161 2 a 2162 -2 z -1 49 a 2 -50 z 26 -15 a(Single)g(Queue)i
(Fill/Drai)o(n)129 15 y 2 -50 z 114 -15 a(90/93/91)110 15 y 2 -50 z 114 
-15 a(50/70/59)110 15 y 2 -50 z 83 -15 a(270/290/2)o(78)80 15 y 2 -50 z 
113 -15 a(43/48/44)111 15 y 2 -50 z -2161 2 a 2162 -2 z -1 49 a 2 -50 z 
26 -15 a(Alternate)g(Queues)g(Fill/Drai)o(n)49 15 y 2 -50 z 83 -15 a
(230/240/)o(238)79 15 y 2 -50 z 83 -15 a(250/260/2)o(52)79 15 y 2 -50 z 
83 -15 a(860/900/8)o(67)80 15 y 2 -50 z 82 -15 a(366/376/37)o(1)80 15 y 
2 -50 z -2161 2 a 2162 -2 z -1 50 a 2 -50 z 26 -15 a(Allo)q(cate)f(Memory)
253 15 y 2 -50 z 114 -15 a(40/40/40)110 15 y 2 -50 z 114 -15 a(20/30/27)
110 15 y 2 -50 z 114 -15 a(34/79/57)111 15 y 2 -50 z 113 -15 a(67/71/68)
111 15 y 2 -50 z -2161 2 a 2162 -2 z -1 49 a 2 -50 z 26 -15 a(Deallo)q
(cate)f(Memory)214 15 y 2 -50 z 114 -15 a(30/40/38)110 15 y 2 -50 z 114 
-15 a(30/40/33)110 15 y 2 -50 z 114 -15 a(20/21/20)111 15 y 2 -50 z 113 
-15 a(82/86/83)111 15 y 2 -50 z -2161 2 a 2162 -2 z 166 w(long)18 b(it)g
(tak)o(es)h(to)g(drain)f(the)i(queue.)33 b(Finally)17 b(w)o(e)i(rep)q(eat)h
(the)-1049 50 y(t)o(w)o(o)15 b(tests)h(with)f(priorit)o(y)f(messages)i
(i.e.)21 b(messages)c(are)e(sen)o(t)h(to)-1050 50 y(the)j(head)g(of)e(the)i
(queue.)33 b(VxW)m(orks)18 b(4.02)f(do)q(es)i(not)f(supp)q(ort)-1049 49 y
(message)12 b(queues)h(but)f(ring)g(bu\013ers)h(with)e(semaphores)i(giv)o
(es)e(the)-1049 50 y(functionalit)o(y)g(of)h(a)g(message)i(queue.)k
(LynxOS)13 b(uses)h(SysV)f(mes-)-1050 50 y(sage)h(queues)h(with)f(priorit)o
(y)f(messages)i(handled)f(di\013eren)o(tly)m(.)-995 52 y @F2 @sf(7.)28 b
(Queue)19 b(Fil)r(l/Dr)n(ain)d @F4 @sf(A)i(single)e(task)i(sends)g(a)f
(message)h(to)f(a)-1050 50 y(queue)j(whic)o(h)f(the)h(task)g(immediately)e
(receiv)o(es)j(on)e(the)h(same)-1050 49 y(queue.)30 b(There)19 b(is)e(no)h
(task)f(con)o(text)i(switc)o(h)e(nor)h(is)g(there)g(an)o(y)-1050 50 y(p)q
(ending)f(queue)h(op)q(erations.)27 b(The)18 b(next)f(test)h(consists)g
(of)e(t)o(w)o(o)-1050 50 y(tasks)f(with)f(t)o(w)o(o)g(queues.)20 b(The)15 b
(t)o(w)o(o)f(tasks)g(alternate)h(execution)-1049 50 y(b)o(y)10 b(sending)g
(to)g(the)g(queue)h(that)f(the)g(other)h(is)f(blo)q(c)o(k)o(ed)g(w)o
(aiting)e(to)-1050 50 y(receiv)o(e)j(from.)k(The)10 b(total)f(time)g(no)o
(w)f(includes)i(con)o(text)g(switc)o(hes,)-1049 50 y(queue)15 b(p)q(ends)g
(and)e(sending)i(plus)e(rece)q(iving)h(a)f(message.)-922 51 y @F2 @sf(8.)
24 b(A)o(l)r(lo)n(c)n(ating/De)n(al)r(lo)n(c)n(ating)16 b(Memory)g @F4 @sf
(W)m(e)f(measure)i(the)f(time)-1050 50 y(it)j(tak)o(es)g(to)g(allo)q(cate)f
(a)h(n)o(um)o(b)q(er)g(of)f(bu\013ers)j(from)d(a)g(memory)-1050 50 y
(partition)d(and)i(the)f(time)g(it)g(tak)o(es)h(to)f(return)h(those)g
(bu\013ers)h(to)-1050 50 y(the)c(partition.)6 100 y(I)q(I)q(I.)f
(REAL-TIME)h(RESPONSE)-758 99 y(The)e(Motorola)f(MVME147S-1)g(includes)h
(an)g(auxiliary)e(timer)-1050 50 y(capable)18 b(of)g(generating)g(in)o
(terrupts.)32 b(A)19 b(driv)o(er)f(for)g(the)h(timer)-1050 50 y(w)o(as)13 b
(written)h(for)f(all)e(four)i(k)o(ernels.)19 b(W)m(e)13 b(quan)o(tify)f
(the)h(real-time)-1050 50 y(resp)q(onse)j(of)d(the)h(k)o(ernels)h(b)o(y)e
(measuring)h(the)g(in)o(terrupt)h(service)-1049 50 y(resp)q(onse)k(and)f
(the)g(in)o(terrupt)g(task)g(resp)q(onse.)30 b(The)18 b(in)o(terrupt)-1049 
49 y(service)c(resp)q(onse)h(is)d(the)h(time)g(it)f(tak)o(es)h(to)f
(execute)q 14 x(the)h(\014rst)h(in-)-1051 50 y(struction)h(of)g(an)f(in)o
(terrupt)i(service)g(routine)f(\(ISR\))f(from)g(when)-1049 50 y(the)e(in)o
(terrupt)f(o)q(ccurs.)19 b(The)11 b(task)h(resp)q(onse)h(is)d(the)i(time)f
(it)g(tak)o(es)-1050 50 y(for)16 b(a)f(user)j(task)e(to)g(resume)h
(execution)f(from)g(when)g(the)h(in)o(ter-)-1050 50 y(rupt)e(o)q(ccurs.)
20 b(These)c(measuremen)o(ts)f(w)o(ere)h(tak)o(en)e(o)o(v)o(er)g(a)g
(large)-1050 49 y(n)o(um)o(b)q(er)e(of)f(times)g(and)h(the)g(maxim)o(um)o
(,)e(minim)o(um)g(and)h(a)o(v)o(erage)-1050 50 y(times)i(are)h(rep)q
(orted)h(o)o(v)o(er)f(the)g(span)f(of)g(the)h(test.)19 b(The)14 b(LynxOS)
-1050 50 y(w)o(as)j(the)h(only)e(k)o(ernel)i(with)f(a)f(SCSI)i(disk)f
(attac)o(hed)g(to)g(it)g(and)-1050 50 y(all)12 b(k)o(ernels)j(had)e(net)o
(w)o(ork)h(attac)o(hmen)o(ts)g(and)g(a)f(real-time)g(clo)q(c)o(k)-1050 50 y
(as)19 b(other)h(sources)g(of)f(in)o(terrupts.)35 b(The)19 b(source)h(of)f
(in)o(terrupts)-1049 50 y(for)f(the)h(actual)e(measuremen)o(t)j(w)o(as)e
(an)g(auxili)o(ary)f(coun)o(ter)i(on)51 -1798 y(the)d(MVME147S-1)f(and)h
(the)g(measuremen)o(t)h(task)e(runs)i(at)e(the)-1049 50 y(highest)f
(priorit)o(y)m(.)-248 50 y(T)o(ypically)m(,)c(a)h(user)h(task)g(is)f(blo)q
(c)o(k)o(ed)g(w)o(aiting)f(for)h(a)g(semaphore)-1049 49 y(to)20 b(b)q(e)h
(released)h(b)o(y)e(the)h(ISR.)e(The)i(coun)o(ter)g(is)f(programmed)-1050 
50 y(to)e(start)h(coun)o(ting)e(up)i(from)e(a)h(preset)i(v)n(alue)d(to)h
(a)g(maxim)o(um)o -1051 50 a(v)n(alue)11 b(when)h(it)f(will)f(generate)j
(an)f(in)o(terrupt,)g(resets)q 13 x(itself)f(to)g(the)-1049 50 y(preset)
21 b(v)n(alue)d(and)h(b)q(egins)g(coun)o(ting)g(up)g(again.)32 b(Eac)o(h)
20 b(coun)o(t)-1050 50 y(corresp)q(onds)e(to)d(6.25)g @F3 @sf(\026)p @F4 @sf
(s.)24 b(The)16 b(ISR)f(then)i(immediately)d(reads)-1049 50 y(the)h(coun)o
(ter,)h(whic)o(h)f(giv)o(es)g(the)g(in)o(terrupt)h(resp)q(onse)h(time,)d
(and)-1050 49 y(then)g(releases)g(the)g(semaphore.)k(When)c(the)f(k)o
(ernel)h(resc)o(hedules)-1048 50 y(the)19 b(user)g(task)g(after)f
(completion)g(of)f(the)i(ISR,)f(the)g(user)i(task)-1050 50 y(b)q(ecomes)i
(un)o(blo)q(c)o(k)o(ed,)f(reads)h(the)f(coun)o(ter)g(whic)o(h)g(then)g
(giv)o(es)-1050 50 y(the)14 b(task)g(resp)q(onse)q 15 x(time.)-94 77 y
(IV.)f(OBSER)-5 b(V)g(A)q -3 x(TIONS)-681 76 y(pSOS+)15 b(is)e(a)g(robust)h
(real-time)e(k)o(ernel.)19 b(Co)q(de)13 b(can)h(b)q(e)g(dev)o(el-)-1050 
50 y(op)q(ed)j(on)g(a)g(n)o(um)o(b)q(er)g(of)g(di\013eren)o(t)h(host)f
(platforms)g(and)f(do)o(wn-)-1050 50 y(loaded)d(to)g(the)g(target)h(with)e
(the)i(\014nal)f(application)e(stand-alone)-1050 50 y(in)22 b(R)o(OM.)f
(Soft)o(w)o(are)h(Comp)q(onen)o(ts)g(Group)g(\(SCG\))g(supp)q(orts)-1049 
50 y(pSOS+)e(on)g(man)o(y)f(target)h(systems)h(and)e(pro)o(vides)h(source)h
(to)-1050 50 y(driv)o(ers)h(making)d(p)q(orts)j(to)e(sp)q(ecialized)i(b)q
(oards)f(easier.)40 b(The)-1049 49 y(XRA)m(Y+)19 b(debugger,)i(based)f(on)f
(the)h(p)q(opular)f(XRA)m(Y)g(debug-)-1050 50 y(ger)d(from)f(Microtec)i
([6])e(is)g(capable)h(of)f(debugging)g(target)i(resi-)-1050 50 y(den)o(t)g
(optimized)f(C)g(source)i(co)q(de)f(across)g(ethernet)q 17 x(or)g(RS-232.)o 
-1051 50 a(There)g(is)e(also)g(an)g(X11)g(in)o(terface)h(whic)o(h)f(o\013ers)i
(increased)g(v)o(er-)-1050 50 y(satilit)o(y)m(.)o 17 x(In)12 b(addition)g
(to)g(task-lev)o(el)h(breakp)q(oin)o(ts,)g(system-lev)o(el)-1050 49 y
(breaks)21 b(can)f(also)g(b)q(e)h(set)g(at)f(the)h(system-lev)o(el;)i
(stopping)d(all)-1051 50 y(tasks.)h(This)14 b(allo)o(ws)g(access)i(to)f
(the)g(on)o(b)q(oard)f(monitor)g(and)g(the)-1049 50 y(state)h(of)e(all)g
(pSOS+)i(ob)r(jects.)20 b(Optional)13 b(comp)q(onen)o(ts)i(pro)o(vide)-1050 
50 y(UNIX-compatible)10 b(net)o(w)o(ork)i(faciliti)o(es)f(and)f(an)h(ANSI)g
(standard)-1049 50 y(run-time)j(library)m(.)j(Field)c(supp)q(ort)i(w)o(as)f
(excellen)o(t.)-785 49 y(VR)m(TX,)20 b(from)h(Ready)g(Systems,)i(pro)o
(vides)e(a)g(full)f(comple-)-1050 50 y(men)o(t)11 b(of)f(supp)q(ort)h
(soft)o(w)o(are)g(in)f(addition)f(to)i(the)g(VR)m(TX/32)e(real-)-1050 50 y
(time)15 b(k)o(ernel.)24 b(These)17 b(include)f(pac)o(k)n(ages)g(for)f
(I/O)h(\014le)g(manage-)-1051 50 y(men)o(t,)d(net)o(w)o(orking,)g(m)o
(ultipro)q(cessing)g(and)g(a)g(run-time)h(library)m(.)o -1051 50 a(VR)m
(TX)f(is)g(supp)q(orted)h(on)f(sev)o(eral)h(commercially)e(a)o(v)n(ail)o
(able)g(tar-)-1050 50 y(get)24 b(b)q(oards)h(with)f(supp)q(orting)g(do)q
(cumen)o(tation)g(for)g(p)q(orting)-122 311 y(P)o(age)14 b(2)-2052 b
2 @eop1

1 @bop0
/@F1 @newfont
@F1 @sf
[<
000FE00000783C0000E00E0003C00780078003C00F0001E00F0001E01E0000F03E0000F83C
0000787C00007C7C00007C7800003CF800003EF800003EF800003EF800003EF800003EF800
003EF800003EF800003EF800003E7800003C7800003C7C00007C7C00007C3C0000783C0000
781E0000F00E0000E00F0001E0078003C003C0078000E00E0000783C00000FE000>
	 31 36 -3 34 38] 79 @dc
[<
0000C000000000C000000000C000000001E000000001E000000003F000000003D000000003
D0000000078800000007880000000F8C0000000F040000000F040000001F020000001E0200
00001E020000003C010000003C010000007C0180000078008000007800800000F000400000
F000400000F000400001E000200001E000200003E000300003C000100003C0001000078000
080007800008000780000C000F00000C001F80001F00FFF0007FC0>
	 34 35 -1 33 37] 86 @dc
[<
FFFFFFE00F8003E0078000E007800070078000300780003007800010078000100780001007
8000080780000807802008078020000780200007802000078060000780E00007FFE0000780
E0000780600007802000078020000780200007802020078000200780002007800020078000
600780004007800040078000C0078001C00F8007C0FFFFFFC0>
	 29 34 -2 33 33] 69 @dc
[<
0000007C00FFFC01E2000FC003C100078007C08007800FC08007800F808007800F80000780
0F800007800F800007800F000007800F000007800F000007800F000007800E000007801E00
0007801C00000780380000078070000007FFE0000007803C000007800E0000078007800007
8007C000078003C000078003E000078003E000078003E000078003E000078003E000078003
C000078007C000078007800007800E00000F803C0000FFFFE00000>
	 33 35 -2 33 36] 82 @dc
[<
FFFC0FC0078007800780078007800780078007800780078007800780078007800780078007
8007800780078007800780078007800780078007800780078007800FC0FFFC>
	 14 34 -2 33 18] 73 @dc
[<
00020000800000030001800000070001C00000070001C00000070001C000000F8003E00000
0F8003E000000F8003E000001E40079000001E40079000001E40079000003C200F0800003C
200F0800003C200F0800007C101E04000078101E04000078101E040000F8183E060000F008
3C020000F0083C020000F0083C020001E00478010001E00478010001E00478010003C002F0
008003C002F0008003C002F00080078001E00040078001E00040078001E000400F0003C000
200F0003C000200F0003C000701F8007E000F8FFF03FFC03FE>
	 47 35 -1 33 50] 87 @dc
[<
FFFE00000FC000000780000007800000078000000780000007800000078000000780000007
8000000780000007802000078020000780200007802000078060000780E00007FFE0000780
E0000780600007802000078020000780200007802020078000200780002007800020078000
600780004007800040078000C0078001C00F8007C0FFFFFFC0>
	 27 34 -2 33 32] 70 @dc
[<
FF800FFF3E0001F80C0000F00C0000F0040001E0040001E0040003E0020003C0020003C003
0007C0010007800100078000FFFF0000800F0000800F0000401E0000401E0000401E000020
3C0000203C0000203C0000107800001078000010F8000008F0000008F000000DF0000005E0
000005E0000003C0000003C0000003C000000180000001800000018000>
	 32 35 -2 34 37] 65 @dc
[<
FFFFFF000F803F0007800F0007800300078003000780010007800180078001800780008007
80008007800080078000800780000007800000078000000780000007800000078000000780
00000780000007800000078000000780000007800000078000000780000007800000078000
00078000000780000007800000078000000FC00000FFFE0000>
	 25 34 -2 33 30] 76 @dc
[<
FFE0FFE0>
	 11 2 -1 11 16] 45 @dc
[<
03FFFF00000FC0000007800000078000000780000007800000078000000780000007800000
07800000078000000780000007800000078000000780000007800000078000000780000007
80000007800000078000000780000007800080078004800780048007800480078004C00780
0C40078008400780084007800860078018780780787FFFFFF8>
	 30 34 -2 33 35] 84 @dc
[<
FFE0203FFF1F007003F00E007001E004007001E00400F801E00400F801E00400F801E00401
E401E00401E401E00401E401E00403C201E00403C201E004078101E004078101E004078101
E0040F0081E0040F0081E0040F0081E0041E0041E0041E0041E0043C0021E0043C0021E004
3C0021E004780011E004780011E004780011E004F00009E004F00009E004F00009E005E000
05E005E00005E007C00003E00FC00003F0FFC00003FF>
	 40 34 -2 33 45] 77 @dc
[<
FFFC07FF800FC000FC00078000F800078000F000078001E000078001E000078003C0000780
07C000078007800007800F000007800F000007801E000007803C000007C03C000007A07800
000790F000000788F000000789E000000787E000000783C000000781800000078080000007
80400000078020000007801000000780080000078004000007800200000780010000078000
8000078000400007800060000FC000F800FFFC03FF00>
	 33 34 -2 33 38] 75 @dc
[<
FFE000201F0000600E000060040000E0040001E0040001E0040003E0040003E0040007A004
000F2004000F2004001E2004003E2004003C20040078200400F8200400F0200401E0200401
E0200403C0200407802004078020040F0020041F0020041E0020043C0020047C0020047800
2004F0002004F0002005E0002007C0007007C000F8FF8007FF>
	 32 34 -2 33 37] 78 @dc
[<
81FC00C60700C80180F000C0E000C0C00060C0006080007080007080007080007000007000
00F00000F00001E00007E0003FC003FF800FFF001FFE003FF0007F0000780000F00000F000
00E00020E00020E00020E00060E000606000607000E03001E01802600C0C6003F020>
	 20 36 -3 34 27] 83 @dc
[<
FFFC3FFF0FC003F0078001E0078001E0078001E0078001E0078001E0078001E0078001E007
8001E0078001E0078001E0078001E0078001E0078001E0078001E0078001E007FFFFE00780
01E0078001E0078001E0078001E0078001E0078001E0078001E0078001E0078001E0078001
E0078001E0078001E0078001E0078001E00FC003F0FFFC3FFF>
	 32 34 -2 33 37] 72 @dc
[<
0003F000001C0800003006000060010000E0008001C0008003C0004003C000400380004007
80002007800020078000200780002007800020078000200780002007800020078000200780
00200780002007800020078000200780002007800020078000200780002007800020078000
2007800020078000200780002007800020078000700FC000F8FFFC07FF>
	 32 35 -2 33 37] 85 @dc
[<
FFFC00000FC000000780000007800000078000000780000007800000078000000780000007
80000007800000078000000780000007800000078000000780000007FFF00007803C000780
0F0007800780078007C0078003C0078003E0078003E0078003E0078003E0078003E0078003
E0078003C0078007C00780078007800F000F803C00FFFFF000>
	 27 34 -2 33 33] 80 @dc
[<
0007E00000381C0000E0020001C0010003800080070000400E0000401E0000201C0000203C
0000103C0000107C0000107800001078000000F8000000F8000000F8000000F8000000F800
0000F8000000F8000000F800000078000010780000107C0000103C0000303C0000301C0000
301E0000700E000070070000F0038000F001C0017000E00630003818300007E010>
	 28 36 -3 34 35] 67 @dc
[<
FFFFF8000F801E0007800700078003C0078001E0078000E0078000F0078000780780007807
80007C0780003C0780003C0780003E0780003E0780003E0780003E0780003E0780003E0780
003E0780003E0780003E0780003C0780003C0780003C0780007C0780007807800078078000
F0078000E0078001C0078003C0078007000F801E00FFFFF000>
	 31 34 -2 33 37] 68 @dc
[<
0007F000003C0C0800E0031801C000B8038000B8070000780F0000781E0000781E0000783C
0000783C0000787C00007878000078780000F8F8001FFFF8000000F8000000F8000000F800
0000F8000000F8000000F800000078000008780000087C0000083C0000183C0000181E0000
181E0000380F00003807000078038000F801C001B800E00218003C0C180007F008>
	 32 36 -3 34 38] 71 @dc
[<
FFFFFC000F800F00078007C0078003E0078001F0078001F0078000F8078000F8078000F807
8000F8078000F8078000F8078000F0078001F0078001E0078003C00780078007FFFE000780
3E0007800F80078007C0078003E0078001E0078001F0078001F0078001F0078001F0078001
F0078001E0078003E0078003C0078007800F800E00FFFFF800>
	 29 34 -2 33 35] 66 @dc
[<
003FFF00000003E000000001E000000001E000000001E000000001E000000001E000000001
E000000001E000000001E000000001E000000001E000000001E000000001E000000003E000
000003D000000007D800000007880000000F840000001F040000001E020000003E01000000
3C010000007C00800000F800C00000F000400001F000200001E000200003E000100007C000
180007800008000F80000C001F80001F00FFF0007FC0>
	 34 34 -1 33 37] 89 @dc
@F4 @sf
[<
FFF07FF00F001F800F001F000F001E000F003C000F003C000F0078000F00F8000F00F0000F
01E0000F01E0000F83C0000F4780000F2780000F2F00000F1F00000F0E00000F0400000F02
00000F0100000F0080000F0040000F0020000F0010000F0008000F000C000F000F00FFF03F
E0>
	 28 28 -2 27 32] 75 @dc
/@F6 @newfont
@F6 @sf
[<
040004000400C460E4E03F800E003F80E4E0C460040004000400>
	 11 13 -2 13 17] 3 @dc
/@F0 @newfont
@F0 @sf
[<
FF003FFC3C0007C00C0003C0040003C0040003C0020003C0030003C0010003C0008003C000
8007C0004007C0007FFF800020078000300780001007800008078000080780000407800004
0780000207800002078000010780000087800000878000004F8000004F0000002F0000002F
0000001F0000000F0000000F0000000700000007000000030000000300>
	 30 35 -3 34 36] 65 @dc
[<
1F0031C060E06070E038E038E03CE01EE01EE01E700F700F700F700F380F380738073C061E
0E1D0C1CF81C000E000E000E000E0007000700070007000380038003803F8003C0>
	 16 35 -5 34 22] 98 @dc
[<
1FC000203000400800E00400F00600F00600700700000700000F00003E0003FE0007FC000F
F0000F00000C00000C03000C038004018002008001830000FC00>
	 17 21 -3 20 20] 115 @dc
[<
1E003100708070407020702038103800380038001C001C001C001C000E000E000E000E0007
000700FFF80700038003800380038001C001C001C001C000C0>
	 13 31 -4 30 16] 116 @dc
[<
3000007000003800003800003800003800001C00001C00001C00001C00000E00000E00000E
00000E00008700008701808703C08783C04741C02620801C1F00>
	 18 21 -5 20 21] 114 @dc
[<
0F0780308C40305C40703C20701C20F01C20F00E10F00E00F00E00F00E0078070078070078
07003807003C03801C03800E03800E03800705C00185C000F8C0>
	 20 21 -5 20 25] 97 @dc
[<
0FC000183000300C00700200700100F00100F00000F00000F00000F0000078000078000078
00003800003C00001C07800E078007038003018001C100007E00>
	 17 21 -5 20 22] 99 @dc
@F4 @sf
[<
7FC7FCFF800E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00
E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C
000E00E01C000E00E01C00FFFFFFFC000E00E000000E00E000000E00E000000E00E000000E
00E000000E00E018000E01E03C000701F03C000380F0180001C09C1800003F07E000>
	 33 29 0 28 35] 14 @dc
[<
30307878F8F8B0B080808080808040404040202010100808>
	 13 12 -6 28 21] 92 @dc
[<
808040402020101010100808080808086868F8F8F0F06060>
	 13 12 -1 28 21] 34 @dc
/@F7 @newfont
@F7 @sf
[<
0C000C008C40EDC07F800C007F80EDC08C400C000C00>
	 10 11 -3 11 16] 3 @dc
/@F5 @newfont
@F5 @sf
[<
00FC000303000E01C01C00E0380070300030700038700038E0001CE0001CE0001CE0001CE0
001CE0001CE0001C6000187000383000303800701C00E00E01C003030000FC00>
	 22 23 -2 22 27] 79 @dc
[<
FF80001C00001C00001C00001C00001C00001CF8001F0E001C07001C03801C01801C01C01C
01C01C01C01C01C01C01801C03801C03001F0E00FCF800>
	 18 20 0 13 20] 112 @dc
[<
07C01830301070086000E000E000E000FFF8E0187038303018600FC0>
	 13 14 -1 13 16] 101 @dc
[<
FF801C001C001C001C001C001C001C001C001C001C101E381D38FCF0>
	 13 14 0 13 14] 114 @dc
[<
1F1E70FFE079E039E039703830381E3803F800381038383038601FC0>
	 16 14 -1 13 18] 97 @dc
[<
0F001C8038403840384038403800380038003800380038003800FF80380018001800080008
000800>
	 10 20 -1 19 14] 116 @dc
[<
07CFC0182E00301E00700E00600E00E00E00E00E00E00E00E00E00600E00700E00300E001C
3E0007CE00000E00000E00000E00000E00000E00000E00000E00000E00007E00>
	 18 23 -1 22 20] 100 @dc
[<
10F8001B0E001C03001C03801C01801C01C01C01C01C01C01C01C01C01801C03801C03001F
06001CF8001C00001C00001C00001C00001C00001C00001C00001C0000FC0000>
	 18 23 0 22 20] 98 @dc
[<
7800A400E200E200010001000180018003C003C003C0072007200E100E101C081C083C0C3C
0EFE1F>
	 16 20 -1 13 19] 121 @dc
[<
FF9FE01C07001C07001C07001C07001C07001C07001C07001C07001C07001C07001E07001D
8E001C7C001C00001C00001C00001C00001C00001C00001C00001C0000FC0000>
	 19 23 0 22 20] 104 @dc
[<
007E000181800300400600200E00201C00101C00101C00101C00101C00101C00101C00101C
00101C00101C00101C00101C00101C00101C00101C00101C00101C0038FF80FE>
	 23 23 -1 22 26] 85 @dc
[<
FF9FE01C07001C07001C07001C07001C07001C07001C07001C07001C07001C07001E07001D
8E00FC7C00>
	 19 14 0 13 20] 110 @dc
[<
FF1C1C1C1C1C1C1C1C1C1C1C1C7C0000000000183C3C18>
	 8 23 0 22 10] 105 @dc
[<
0180018003C003C003C0072007200E100E101C081C083C0C3C0EFE1F>
	 16 14 -1 13 19] 118 @dc
[<
9F00E0C0C0608060806001E01FC07F80FF00E000C040C04060C01F40>
	 11 14 -1 13 14] 115 @dc
[<
FF803C1C00721C00E11C00E11C00E01C00E01C00E01C00E01C00E01C01C01C07801FFE001C
03801C00C01C00E01C00701C00701C00701C00701C00E01C00C01C0380FFFC00>
	 24 23 -1 22 26] 82 @dc
[<
07C01830300870086000E000E000E000E000600070103038183807F0>
	 13 14 -1 13 16] 99 @dc
[<
FE03FE3800F01800E00800E00800E00401C00401C007FFC002038002038003078001070001
0700008E00008E00008E00005C00005C00005C00003800003800003800001000>
	 23 23 -1 22 26] 65 @dc
[<
07C018303018701CE00EE00EE00EE00EE00E600C600C3018183007C0>
	 15 14 -1 13 18] 111 @dc
[<
40402020101070F0F060>
	 4 10 -3 3 10] 44 @dc
[<
FFE00E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E
000E000E000E00FFE0>
	 11 23 -1 22 13] 73 @dc
[<
60F0F060>
	 4 4 -3 3 10] 46 @dc
[<
FF801C001C001C001C001C001C001C001C001C001C001C001C00FF801C001C001C001C001C
001C200E70067003E0>
	 12 23 0 22 11] 102 @dc
[<
87E0D810E008C0048006800680060006000E001C01FC0FF83FE07F007000E000C004C004C0
04400C601C302C0FC4>
	 15 23 -2 22 20] 83 @dc
[<
FFFF001C01C01C00601C00301C00381C001C1C001C1C000C1C000E1C000E1C000E1C000E1C
000E1C000E1C000E1C000C1C001C1C00181C00381C00301C00E01C01C0FFFF00>
	 23 23 -1 22 27] 68 @dc
[<
FF9FE7F81C0701C01C0701C01C0701C01C0701C01C0701C01C0701C01C0701C01C0701C01C
0701C01C0701C01E0781C01D8E6380FC7C1F00>
	 29 14 0 13 29] 109 @dc
[<
FFFFF01C00F01C00301C00101C00101C00181C00081C04081C04081C04001C0C001FFC001C
0C001C04001C04001C04001C00101C00101C00101C00201C00601C00E0FFFFE0>
	 21 23 -1 22 24] 69 @dc
[<
0FE03838600CC006C006C006600E3FFC3FF83FE0600020002F8018C0306070707070707030
6018E30F9E>
	 16 21 -1 13 18] 103 @dc
[<
03E7E00E17001C0F001C07001C07001C07001C07001C07001C07001C07001C07001C07001C
0700FC3F00>
	 19 14 0 13 20] 117 @dc
[<
00FC000383000E00801C0040380020300020700010600010E00010E00000E00000E00000E0
0000E00000E000106000107000103000303800301C00700E00B003833000FC10>
	 20 23 -2 22 25] 67 @dc
[<
FE00103800301000301000701000F01001D01001D0100390100710100F10100E10101C1010
381010381010701010E01011C01011C0101380101700101F00101E0038FC00FE>
	 23 23 -1 22 26] 78 @dc
[<
FF80FF80>
	 9 2 0 7 12] 45 @dc
[<
07C01C703018701C600C600CE00EE00EE00EE00EE00EE00EE00EE00EE00E600C600C701C30
18183007C0>
	 15 21 -1 20 18] 48 @dc
[<
FFF07FF03FF0101808080C0806000300018000C000600070007000384038E038C038803040
7030E00F80>
	 13 21 -2 20 18] 50 @dc
[<
0FE03830600CC004C006C006C00E601E607C18F80FF00FC01F603E107818700C600C600C20
18183007E0>
	 15 21 -1 20 18] 56 @dc
[<
1F8020C0603070187018001C000C000E0F8E186E301E601EE00EE00EE00EE00CE00C601830
18183007C0>
	 15 21 -1 20 18] 57 @dc
[<
03FE00700070007000700070FFFEC0704070207010701870087004700270017001F000F000
7000300030>
	 15 21 -1 20 18] 52 @dc
[<
07C018303018300C600E600EE00EE00EE00EF00CF018EC30E3E0E00060007000301C181C08
0C060801F0>
	 15 21 -1 20 18] 54 @dc
@F2 @sf
[<
FFF00780038003800380038001C001C001C001C000E000E000E000E0007000700070007000
38003800380038039C007C001C000C00060002>
	 15 28 -4 27 21] 49 @dc
[<
01F80000070600000C01800018004000380020007000100070000800F0000800F0000400F0
000400F0000400F0000000F0000000F0000000F00000007800000078000000780000003C00
00003C0000801C0000801E0000800E000080070000C0038001C001C001C000E003C0003002
E0001E0C600003F020>
	 27 30 -6 28 30] 67 @dc
[<
7FFE000003C0000001C0000001C0000001C0000001C0000000E0000000E0000000E0000000
E000000070000000700000007000000070000000380000003800000038000000380000001C
0000801C0080801C0080401C0080400E0080600E0080200E0080300E00C01C0701C01FFFFF
C0>
	 26 28 -7 27 30] 84 @dc
[<
1F0060C08060C030E03060300038007807F00FF01FC01F001C0018180C1C0C08060801F0>
	 14 18 -3 17 17] 115 @dc
[<
603800E0640070E40070E20070E20070E20038E00038E00039C0003F80001E00001D00001C
80001C83000E43800E23800E11000E0F000700000700000700000700000380000380000380
0003800001C00001C0000FC000>
	 17 29 -3 28 19] 107 @dc
@F2 @sf
[<
80E00083F800C7F8007E0C0040060020020010020010010008000006000001000000C00000
3000001800000C000E06001107001083801083800841C00841C00841C00441C00441C00201
C002018001018000C300003C00>
	 18 29 -4 27 21] 50 @dc
[<
FFE000000F0000000700000007000000070000000700000003800000038000000380000003
80000001C0000001C0000001C0000001FFE00000E0380000E00E0000E0070000E007800070
0380007003C0007003C0007003C0003801C0003801C0003801C000380380003C070001FFFC
00>
	 26 28 -3 27 28] 80 @dc
[<
83E000CC1800F004006002006003006001806001802000C02000C00000C00000C00001C000
01C00007C0007F8001FF0003FC0003E0000700000700000600000600100600100300180300
1801001800801800403C00304C000F84>
	 22 30 -3 28 23] 83 @dc
[<
FF80003C00001C00001C00001C00001C00000E00000E00000E70000E8C0007060007070007
03000703800381800381C00381C00381C001C0E001C0E011C0E011C0E008E0C008E0C004D9
80078700>
	 19 26 -1 17 21] 112 @dc
[<
3C380062640061E400C0E200C0E200E0E200E07000E07000E07000E0700070380070380030
3800383800181C000C3C00063C0003DC00000E00000E00000E00000E000007000007000007
00000700000380000380001F80>
	 17 29 -5 28 21] 100 @dc
[<
00001E00FFE079000F0078800700F0800700F0400700F0400700F000038070000380700003
8070000380700001C0700001C0700001C0600001C0C00000FFC00000E0700000E01C0000E0
0E0000700F0000700780007007800070078000380380003803800038038000380700003C0E
0001FFF800>
	 26 29 -3 27 30] 82 @dc
@F2 @sf
[<
1F000021C000406000803000803800801C00E01C00700E00000E00000E00000E00000E0000
0C00000C0000380001F800000E000007000703800883800841C00841C00841C00440C00400
C00200C001018000C180003E00>
	 18 29 -4 27 21] 51 @dc
@F2 @sf
[<
00600000E000007000007000007000007000003800003800803F0040F8003F1C00181C000C
1C00061C00020E00010E00018E0000C600004000006000003000003000001800001800001C
00000C00000E000006000007000007000003000003800003800003800001C0000180>
	 18 36 -2 27 21] 52 @dc
[<
601C00E03200707100707080703880703880383800381C00381C00381C001C0E001C0E001C
0E001C0E000E0E000F0E000E8C000E78000700000700000700000700000380000380000380
0003800001C00001C0000FC000>
	 17 29 -3 28 21] 104 @dc
@F2 @sf
[<
1F000021C000406000403000803800801800E01C00700C00700E00000E00000E0000060000
0700000700080600040600060600058C000478000200000200000200000200000100000100
0001FE0001FF8000FFC000C060>
	 19 29 -4 27 21] 53 @dc
[<
01F80000070710000C00900018007800380038007000380070003800F0001C00F0001C00F0
001C00F0001C00F0001E00F001FFC0F0000000F00000007800000078000000780000003C00
00003C0000801C0000801E0000800E000080070000C0038001C001C001C000E003C0003002
E0001E0C600003F020>
	 27 30 -6 28 32] 71 @dc
@F2 @sf
[<
1E000021800060C000606000E07000E03800E03800E01C00E01C00E01C00601C00700E0070
0E00700E00780C00380C003C0C003B18001CF0001C00000C00000E00000600000300000383
8001838000C080003080000F00>
	 17 29 -5 27 21] 54 @dc
[<
804040201010080838783818>
	 5 12 -3 3 13] 44 @dc
[<
0F800000104000003030000060080000E0040000E0040000E0020000E0020000E0010000E0
010000E0010000700080007000800070008000700080003800400038004000380040003800
40001C0020001C0020001C0020001C0020000E0010000E0010000E0010000E0018000F001C
007FF0FF80>
	 25 29 -9 27 31] 85 @dc

1 @eop0

0 0 1 @bop1 419 17 a @F1 @sf(O)o(VER)-5 b(VI)o(EW)15 b(OF)h(REAL-TIME)h
(KERNELS)f(A)l(T)g(THE)-1224 58 y(SUPER)o(CONDUCTING)f(SUPER)h(COLLIDER)i
(LABORA)l(TOR)l(Y)-1286 133 y @F4 @sf(K.)13 b(Lo)o(w,)g(S.)h(Ac)o(hary)o
(a,)f(M.)h(Allen,)f(E.)g(F)m(augh)o(t,)g(D.)g(Haenni,)g(C.)h(Kalb\015eisc)o
(h)-781 49 y(SSC)g(Lab)q(oratory)14 -15 y @F6 @sf(\003)-385 65 y @F4 @sf
(2550)f(Bec)o(kleymeade)i(Av)o(e.)-403 50 y(Dalla)o(s,)e(T)m(exas)h(75237)
-1257 87 y @F0 @sf(A)o(bstr)n(act)-133 98 y @F4 @sf(The)9 b(Sup)q
(erconduc)q(ting)h(Sup)q(er)h(Collider)d(Lab)q(oratory)i(\(SSCL\))-1050 
49 y(will)j(ha)o(v)o(e)h(man)o(y)f(subsystems)j(that)e(will)f(require)i
(real-time)f(mi-)-1051 50 y(cropro)q(cess)q(or)21 b(con)o(trol.)36 b
(Examples)20 b(of)f(suc)o(h)i(sub-systems)g(re-)-1049 50 y(quiring)d
(real-time)g(con)o(trols)h(are)g(p)q(o)o(w)o(er)g(supply)g(ramp)f(gener-)
-1049 50 y(ators)i(and)g(quenc)o(h)h(protection)g(monitors)e(for)h(the)h
(sup)q(ercon-)-1049 50 y(ducting)e(magnets.)35 b(W)m(e)19 b(plan)f(on)h
(using)g(a)g(commercial)g(m)o(ul-)-1051 49 y(titasking)14 b(real-time)h(k)o
(ernel)g(in)g(these)h(systems.)23 b(These)16 b(k)o(ernels)-1049 50 y(m)o
(ust)11 b(p)q(erform)g(in)f(a)g(consisten)o(t,)i(reliable)f(and)f(e\016cien)o
(t)h(manner.)-1050 50 y(Actual)20 b(p)q(erformance)h(measuremen)o(ts)g(ha)o
(v)o(e)f(b)q(een)g(conducted)-1048 50 y(on)f(four)g(di\013eren)o(t)h(k)o
(ernels,)h(all)d(running)h(on)g(the)h(same)f(hard-)-1050 50 y(w)o(are)12 b
(platform.)17 b(The)12 b(measuremen)o(ts)i(fall)c(in)o(to)i(t)o(w)o(o)g
(categories.)-1050 50 y(Throughput)21 b(measuremen)o(ts)i(co)o(v)o(ering)e
(the)h(\\non-real-time")-1051 49 y(asp)q(ects)15 b(of)e(the)h(k)o(ernel)g
(include)g(pro)q(cess)q 15 x(creation/termination)-1051 50 y(times,)d(in)o
(terpro)q(cess)q 12 x(comm)o(unication)e(facilities)h(in)o(v)o(olving)o 
10 x(mes-)-1050 50 y(sages,)17 b(semaphores)g(and)g(shared)g(memory)f(and)g
(memory)g(allo-)o -1051 50 a(cation/deallo)q(cation.)o 17 x(Measuremen)o
(ts)q 15 x(concen)o(trating)f(on)e(real-)-1050 50 y(time)f(resp)q(onse)i
(are)f(con)o(text)g(switc)o(h)f(times,)g(in)o(terrupt)h(latencies)-1049 
49 y(and)h(in)o(terrupt)g(task)g(resp)q(onse)q(.)-176 109 y(I.)g(INTR)o
(ODUCTION)-673 106 y(The)9 b(pro)q(cess)q 11 x(of)g(ev)n(aluating)f
(real-time)h(k)o(ernels)h(from)f(di\013eren)o(t)-1049 50 y(v)o(endors)15 b
(can)g(b)q(e)h(a)e(confusing)h(exp)q(erience)q(.)22 b(One)15 b(is)g(faced)g
(with)-1050 50 y(a)20 b(plethora)h(of)f(p)q(erformance)i(n)o(um)o(b)q(ers)g
(from)e(the)h(individual)o -1051 49 a(v)o(endors')13 b(informatio)o(n)e
(pac)o(k)n(ages,)i(eac)o(h)g(displa)o(ying)e(sup)q(eriorit)o(y)-1050 50 y
(and)18 b(adv)n(an)o(tages)f(o)o(v)o(er)h(their)h(comp)q(etitors.)31 b
(Eac)o(h)18 b(v)o(endor)h(in-)-1051 50 y(v)n(ariably)14 b(measures)i(p)q
(erformance)g(n)o(um)o(b)q(ers)g(in)f(di\013eren)o(t)h(w)o(a)o(ys)-1050 
50 y(and)d(on)g(di\013eren)o(t)h(hardw)o(are)g(platforms)e(th)o(us)i
(making)d(compar-)-1050 50 y(isons)j(almost)f(meaningless.)-421 53 y(T)m
(o)f(compare)h(and)f(ev)n(aluate)h(the)g(di\013eren)o(t)h(o\013erings,)f
(w)o(e)g(p)q(er-)-1049 50 y(formed)j(our)f(o)o(wn)h(tests)h(in)e(a)h(con)o
(trolled)f(en)o(vironmen)o(t.)24 b(Pro)q(d-)-1050 50 y(ucts)13 b(from)e
(the)h(four)f(v)o(endors)i(that)f(met)g(our)f(base)i(requiremen)o(ts)-1049 
49 y(w)o(ere)h(tested)g(on)e(the)h(same)g(hardw)o(are)g(platform.)j(The)d
(platform)-1051 50 y(on)d(whic)o(h)h(all)e(four)i(v)o(endors)g(is)g(supp)q
(orted)h(is)e(the)i(MVME147S-1)-1051 50 y([1];)17 b(a)g(VME)g(based,)h
(single)f(b)q(oard)g(computer)g(with)g(a)g(25MHz)-1050 50 y(68030)d(from)h
(Motorola.)22 b(The)16 b(four)f(k)o(ernels)h(selecte)q(d,)h(listed)e(in)
-1050 50 y(no)i(particular)g(order,)i(w)o(ere)f(pSOS+)g(from)f(Soft)o(w)o
(are)g(Comp)q(o-)-1051 49 y(nen)o(ts)j(Group)f([2],)o 19 x(VR)m(TX32)f
(from)g(Ready)h(Systems)h([3],)o 19 x(Vx-)-1050 50 y(W)m(orks)14 b
(\(v4.02\))g(from)h(Wind)f(Riv)o(er)g(Systems)i([4])e(and)h(LynxOS)-1050 
50 y(\(v1.21\))e(from)g(Lynx)h(Real-Tim)o(e)f(Systems)i([5].)-726 53 y(It)
9 b(should)g(b)q(e)h(stresse)q(d)h(that)e(these)i(tests)f(only)f(pro)o
(vide)g(quan)o(ti-)-1051 50 y(tativ)o(e)j(measuremen)o(ts)h(of)e(a)h
(particular)g(system's)h(p)q(erformance.)-1050 50 y(Qualitativ)o(e)f(asp)q
(ects)q 14 x(suc)o(h)j(as)e(dev)o(elopmen)o(t)h(en)o(vironmen)o(t,)f(de-)
-1050 50 y(bug)21 b(capabilities,)g(connectivit)o(y)m(,)h(compliance)e
(with)h(industry)-1050 49 y 420 -2 z 26 w @F7 @sf(\003)2 12 y @F5 @sf(Op)q
(erated)6 b(b)o(y)h(the)h(Univ)o(ersit)o(ies)e(Researc)o(h)g(Asso)q
(ciation,)o 8 x(Inc.,)h(for)g(the)g(U.S.)-1050 40 y(Departmen)o(t)o 11 x
(of)k(Energy)f(under)g(Con)o(tract)g(No.)15 b(DE-A)o(C02-89ER4048)o(6.)80 
-2389 y @F4 @sf(standards,)20 b(tec)o(hnical)e(supp)q(ort)h(and)f
(host/target)h(a)o(v)n(ail)o(abi)o(lit)o(y)o -1051 50 a(will)12 b(b)q(e)j
(addressed)h(at)d(the)i(end)f(of)f(this)h(pap)q(er.)-726 51 y(Eac)o(h)k
(test)h(w)o(as)e(executed)i(a)e(n)o(um)o(b)q(er)h(of)f(times)g(in)g(order)h
(to)-1050 49 y(compute)e(the)h(a)o(v)o(erage)e(time)h(to)f(complete)i(a)e
(test.)25 b(The)16 b(en)o(tire)-1049 50 y(measuremen)o(t)21 b(is)f(then)i
(rep)q(eated)g(sev)o(eral)e(times)h(to)f(measure)-1049 50 y(the)13 b(v)n
(ariance)f(of)g(this)h(a)o(v)o(erage)f(v)n(alue)g(in)g(the)h(form)f(of)g
(maxim)o(um)o -1051 50 a(and)g(minim)o(um)o 11 x(a)o(v)o(erage)h(v)n
(alues.)k(Clo)q(c)o(k)12 b(resolution,)g(n)o(um)o(b)q(er)h(of)-1051 50 y
(iterations)j(and)g(cac)o(he)h(conditions)e(w)o(ere)i(iden)o(tical)f(for)f
(all)g(four)-1050 49 y(k)o(ernels.)20 96 y(I)q(I.)e(THR)o(OUGHPUT)h
(MEASUREMENTS)-852 95 y(Throughput)f(measuremen)o(ts)g(are)f(tabulated)g
(in)f(T)m(able)g(1)h(and)-1050 50 y(what)19 b(follo)o -1 x(ws)f(is)g(a)h
(brief)g(description)g(of)f(eac)o(h)h(test)h(as)f(it)f(ap-)-1050 50 y(p)q
(ears)f(in)f(the)h(table.)25 b(Idiosyncrasies)17 b(of)e(eac)o(h)i(k)o
(ernel)g(will)e(also)-1051 49 y(b)q(e)h(noted.)25 b(An)16 b(asterisk)g
(means)g(that)g(a)g(particular)f(test)i(could)-1050 50 y(not)d(b)q(e)g(p)q
(erformed)h(on)e(that)h(k)o(ernel.)-596 51 y @F2 @sf(1.)k(Cr)n(e)n
(ate/Delete)12 b(T)m(ask)g @F4 @sf(This)f(test)h(measures)h(the)f(time)f
(it)g(tak)o(es)-1049 50 y(to)h(create)i(and)e(delete)h(a)f(task.)18 b(A)
12 b(task)h(deletes)g(itself)f(as)h(so)q(on)f(as)-1050 50 y(it)j(is)g
(created.)24 b(The)15 b(created)q 16 x(task)h(has)f(a)g(higher)g(priorit)o
(y)g(than)-1050 49 y(the)f(creator,)h(so)f(the)g(time)g(quoted)g(actually)f
(includes)h(a)g(create,)-1049 50 y(start,)g(delete)h(and)f(t)o(w)o(o)f
(task)h(con)o(text)h(switc)o(hes.)-787 51 y @F2 @sf(2.)j(Ping)12 b(Susp)n
(end/R)q -2 x(esume)h(T)m(ask)e @F4 @sf(A)g(lo)o(w)f(priorit)o(y)g(task)g
(resumes)-1048 50 y(a)20 b(susp)q(ende)q(d)i(high)d(priorit)o(y)h(task.)
38 b(The)20 b(high)g(priorit)o(y)g(task)-1050 50 y(immediately)c(susp)q
(en)q(ds)j(itself.)31 b(This)17 b(measuremen)o(t)i(includes)-1049 49 y(t)o
(w)o(o)12 b(task)g(con)o(text)h(switc)o(hes)g(and)f(the)g(time)g(it)g(tak)o
(es)g(to)g(susp)q(end)-1048 50 y(and)18 b(resume)i(a)e(task.)32 b(There)
20 b(is)e(no)h(facilit)o(y)e(to)h(susp)q(end)i(and)-1050 50 y(resume)g(a)e
(task)h(on)g(LynxOS)g(apart)g(from)f(using)g(signals.)32 b(So)-1050 50 y
(this)14 b(test)h(w)o(as)f(not)f(p)q(erformed)i(under)g(LynxOS.)-792 50 y 
@F2 @sf(3.)k(Susp)n(end/R)n(esume)d(T)m(ask)c @F4 @sf(This)h(is)f(iden)o
(tical)g(to)h(previous)g(test)-1049 50 y(except)19 b(that)e(a)g(high)f
(priorit)o(y)h(task)g(susp)q(ends)q 18 x(and)g(resumes)q 18 x(a)-1050 50 y
(susp)q(ende)q(d)g(lo)o(w)o(er)f(priorit)o(y)g(task)g(so)h(that)f(there)i
(is)e(no)g(con)o(text)-1049 50 y(switc)o(hing.)-182 51 y @F2 @sf(4.)i
(Ping)12 b(Semaphor)n(e)g @F4 @sf(Tw)o(o)e(tasks)h(of)f(the)h(same)g
(priorit)o(y)f(comm)o(u-)-1051 49 y(nicate)g(with)f(eac)o(h)h(other)g
(through)f(semaphores.)18 b(T)m(ask)9 b(A)g(creates)-1048 50 y(a)k
(semaphore,)g(gets)h(the)g(semaphore)f(and)g(then)h(creates)h(T)m(ask)e(B)
-1050 50 y(whic)o(h)e(blo)q(c)o(ks)h(when)g(it)g(attempts)g(to)f(get)h
(the)g(semaphore.)18 b(T)m(ask)-1050 50 y(A)10 b(then)g(releases)h(the)g
(semaphore)f(whic)o(h)g(immediately)e(un)o(blo)q(c)o(ks)-1050 50 y(T)m
(ask)j(B.)h(T)m(ask)f(A)h(then)h(attempts)f(to)g(get)g(the)g(semaphore)h
(whic)o(h)-1050 49 y(causes)k(it)d(to)h(blo)q(c)o(k)g(un)o(til)g(T)m(ask)f
(B)i(releases)h(it.)k(The)16 b(t)o(w)o(o)e(tasks)-1049 50 y(then)d
(alternate)g(o)o(wnership)g(of)f(the)h(semaphore)g(thereb)o(y)h(causing)
-1050 50 y(con)o(text)h(switc)o(hes.)18 b(In)13 b(our)f(v)o(ersion)g(of)g
(VxW)m(orks,)f(t)o(w)o(o)h(separate)-1049 50 y(semaphores)g(are)g
(required)g(b)q(ecause)h(round-robin)e(sc)o(heduling)g(is)-1050 50 y(not)j
(supp)q(orted.)-266 50 y @F2 @sf(5.)38 b(Getting/R)n(ele)n(asing)22 b
(Semaphor)n(e)f @F4 @sf(The)h(time)e(rep)q(orted)j(in-)-1051 50 y(cludes)e
(the)f(time)g(it)f(tak)o(es)i(to)e(get)i(and)e(immediately)g(release)-1049 
50 y(a)14 b(semaphore)g(within)f(the)i(same)f(task)g(con)o(text.)-779 51 y 
@F2 @sf(6.)20 b(Queue)c(Fil)r(l,Dr)n(ain,Fil)r(l)e(Ur)n(gent)f @F4 @sf(W)m
(e)h(\014rst)i(time)e(ho)o(w)g(long)f(it)-1050 50 y(tak)o(es)i(to)f(\014ll)f
(a)i(queue)g(with)f(messages)h(and)g(then)g(w)o(e)f(time)g(ho)o(w)-122 311 y
(P)o(age)g(1)-2052 b
1 @eop1
------------------------CUT HERE--------------------------

--

+--------------------------------------------------------------------------+
|  Carl W. Kalbfleisch                              cwk@psychosis.ssc.gov  |
|  Superconducting Super Collider Laboratory                               |
|  2550 Beckleymeade Avenue, MS-4002                                       |
|  Dallas, Texas 75237                                     (214) 708-3428  |
+--------------------------------------------------------------------------+