%! %%Pages: (atend) %%DocumentFonts: (atend) %%EndComments % % Frame Maker PostScript Prolog 1.11, for use with Maker 1.11 % Copyright (c) 1986,87 by Frame Technology, Inc. All rights reserved. % % Known Problems: % Due to bugs in Transcript, the 'PS-Adobe-' is omitted from line 1 /FMversion (1.11) def /FrameDict 120 dict def % The readline in 23.0 doesn't recognize cr's as nl's on AppleTalk FrameDict /tmprangecheck errordict /rangecheck get put errordict /rangecheck {FrameDict /bug true put} put FrameDict /bug false put mark % Some PS machines read past the CR, so keep the following 3 lines together! currentfile 5 string readline 00 0000000000 cleartomark errordict /rangecheck FrameDict /tmprangecheck get put FrameDict /bug get { /readline { /gstring exch def /gfile exch def /gindex 0 def { gfile read pop dup 10 eq {exit} if dup 13 eq {exit} if gstring exch gindex exch put /gindex gindex 1 add def } loop pop gstring 0 gindex getinterval true } def } if /FMVERSION { FMversion ne { /Times-Roman findfont 18 scalefont setfont 100 100 moveto (Maker version does not match postscript_prolog!) dup = show showpage } if } def /FMLOCAL { FrameDict begin 0 def end } def /landscape FMLOCAL /docheight FMLOCAL /docwidth FMLOCAL /yscale FMLOCAL /xscale FMLOCAL /orgxfer FMLOCAL /orgproc FMLOCAL /organgle FMLOCAL /orgfreq FMLOCAL /FMDOCUMENT { /#copies exch def FrameDict begin 0 ne /landscape exch def /docheight exch def /docwidth exch def /yscale exch def /xscale exch def currenttransfer cvlit /orgxfer exch def currentscreen cvlit /orgproc exch def /organgle exch def /orgfreq exch def end } def /pagesave FMLOCAL /orgmatrix FMLOCAL /FMBEGINPAGE { FrameDict begin /pagesave save def 2 setlinecap xscale yscale scale landscape { 90 rotate 0 docheight neg translate } if /orgmatrix matrix def gsave } def /FMENDPAGE { grestore pagesave restore end showpage } def /fontname FMLOCAL /fontscale FMLOCAL /fontnum FMLOCAL /fontdict FMLOCAL /FMDEFINEFONT { FrameDict begin /fontname exch def /fontscale exch def /fontnum exch def /fontdict fontname findfont fontscale scalefont def fontdict /Encoding get StandardEncoding eq { fontdict DiacriticEncode /fontdict exch def } { fontdict NonDiacriticEncode /fontdict exch def } ifelse FMfonts fontnum fontnum fontdict definefont put end } def /FMLINEWIDTHS { FrameDict begin dup array /FMlinewidths exch def 1 sub -1 0 {exch FMlinewidths 3 1 roll lnormalize put} for end } def FrameDict begin /savematrix { orgmatrix currentmatrix pop } bind def /restorematrix { orgmatrix setmatrix } bind def /dmatrix matrix def /dpi 72 0 dmatrix defaultmatrix dtransform dup mul exch dup mul add sqrt def /max {2 copy lt {exch} if pop} bind def /min {2 copy gt {exch} if pop} bind def /DiacriticEncoding [ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quotesingle /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore /grave /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef /Adieresis /Aring /Ccedilla /Eacute /Ntilde /Odieresis /Udieresis /aacute /agrave /acircumflex /adieresis /atilde /aring /ccedilla /eacute /egrave /ecircumflex /edieresis /iacute /igrave /icircumflex /idieresis /ntilde /oacute /ograve /ocircumflex /odieresis /otilde /uacute /ugrave /ucircumflex /udieresis /dagger /.notdef /cent /sterling /section /bullet /paragraph /germandbls /registered /copyright /trademark /acute /dieresis /.notdef /AE /Oslash /.notdef /.notdef /.notdef /.notdef /yen /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /ordfeminine /ordmasculine /.notdef /ae /oslash /questiondown /exclamdown /logicalnot /.notdef /florin /.notdef /.notdef /guillemotleft /guillemotright /ellipsis /.notdef /Agrave /Atilde /Otilde /OE /oe /endash /emdash /quotedblleft /quotedblright /quoteleft /quoteright /.notdef /.notdef /ydieresis /Ydieresis /fraction /currency /guilsinglleft /guilsinglright /fi /fl /daggerdbl /periodcentered /quotesinglbase /quotedblbase /perthousand /Acircumflex /Ecircumflex /Aacute /Edieresis /Egrave /Iacute /Icircumflex /Idieresis /Igrave /Oacute /Ocircumflex /.notdef /Ograve /Uacute /Ucircumflex /Ugrave /dotlessi /circumflex /tilde /macron /breve /dotaccent /ring /cedilla /hungarumlaut /ogonek /caron ] def /FMfonts 255 array def /basefontdict FMLOCAL /newfontdict FMLOCAL /DiacriticEncode { /basefontdict exch def /newfontdict basefontdict maxlength dict def basefontdict {exch dup /FID ne {dup /Encoding eq {exch pop DiacriticEncoding} {exch} ifelse newfontdict 3 1 roll put } {pop pop} ifelse } forall newfontdict } bind def /NonDiacriticEncode { /basefontdict exch def /newfontdict basefontdict maxlength dict def basefontdict {exch dup /FID ne {exch newfontdict 3 1 roll put} {pop pop} ifelse } forall newfontdict } bind def /freq FMLOCAL /bwidth FMLOCAL /bpside FMLOCAL /bstring FMLOCAL /onbits FMLOCAL /offbits FMLOCAL /xindex FMLOCAL /yindex FMLOCAL /x FMLOCAL /y FMLOCAL /setpattern { /freq exch def /bwidth exch def /bpside exch def /bstring exch def /onbits 0 def /offbits 0 def freq 0 {/y exch def /x exch def /xindex x 1 add 2 div bpside mul cvi def /yindex y 1 add 2 div bpside mul cvi def bstring yindex bwidth mul xindex 8 idiv add get 1 7 xindex 8 mod sub bitshift and 0 ne {/onbits onbits 1 add def 1} {/offbits offbits 1 add def 0} ifelse } setscreen {} settransfer offbits offbits onbits add div setgray } bind def /grayness { setgray orgxfer cvx settransfer orgfreq organgle orgproc cvx setscreen } bind def /normalize { transform cvi exch cvi exch itransform } bind def /dnormalize { dtransform cvi exch cvi exch idtransform } bind def /lnormalize { 0 dtransform exch cvi 2 idiv 2 mul 1 add exch idtransform pop } bind def /fillprocs [{0.00 grayness} {0.10 grayness} {0.30 grayness} {0.50 grayness} {0.70 grayness} {0.90 grayness} {0.97 grayness} {1.00 grayness} {<0F1E3C78F0E1C387> 8 1 dpi 16 div setpattern} {<0F87C3E1F0783C1E> 8 1 dpi 16 div setpattern} { 8 1 dpi 16 div setpattern} { 8 1 dpi 16 div setpattern} {<8142241818244281> 8 1 dpi 16 div setpattern} {<03060C183060C081> 8 1 dpi 16 div setpattern} {<8040201008040201> 8 1 dpi 16 div setpattern} {} {1.00 grayness} {0.90 grayness} {0.70 grayness} {0.50 grayness} {0.30 grayness} {0.10 grayness} {0.03 grayness} {0.00 grayness} { 8 1 dpi 16 div setpattern} { 8 1 dpi 16 div setpattern} {<3333333333333333> 8 1 dpi 16 div setpattern} {<0000FFFF0000FFFF> 8 1 dpi 16 div setpattern} {<7EBDDBE7E7DBBD7E> 8 1 dpi 16 div setpattern} { 8 1 dpi 16 div setpattern} {<7FBFDFEFF7FBFDFE> 8 1 dpi 16 div setpattern} {} ] def /H { FMlinewidths exch get setlinewidth } bind def /X { fillprocs exch get exec } bind def /V { gsave eofill grestore } bind def /N { gsave stroke grestore } bind def /M {moveto} bind def /E {lineto} bind def /D {curveto} bind def /O {closepath} bind def /n FMLOCAL /L { /n exch def newpath normalize moveto 2 1 n {pop normalize lineto} for } bind def /Y { L closepath } bind def /K { /n exch def newpath moveto 3 1 n {pop curveto} for } bind def /J { /n exch def newpath moveto 1 1 n {pop curveto} for } bind def /x1 FMLOCAL /x2 FMLOCAL /y1 FMLOCAL /y2 FMLOCAL /R { /y2 exch def /x2 exch def /y1 exch def /x1 exch def x1 y1 x2 y1 x2 y2 x1 y2 4 Y } bind def /C { grestore gsave R clip } bind def /U { grestore gsave } bind def /F { FMfonts exch get setfont } bind def /T { moveto show } bind def /P { moveto 0 32 3 2 roll widthshow } bind def /S { moveto 0 exch ashow } bind def /B { moveto 0 32 4 2 roll 0 exch awidthshow } bind def /Q { moveto gsave show grestore } bind def /x FMLOCAL /y FMLOCAL /dx FMLOCAL /dy FMLOCAL /dl FMLOCAL /t FMLOCAL /t2 FMLOCAL /Cos FMLOCAL /Sin FMLOCAL /r FMLOCAL /W { dnormalize /dy exch def /dx exch def normalize /y exch def /x exch def /dl dx dx mul dy dy mul add sqrt def dl 0.0 gt { /t currentlinewidth def savematrix /Cos dx dl div def /Sin dy dl div def /r [Cos Sin Sin neg Cos 0.0 0.0] def /t2 t 2.5 mul 3.5 max def newpath x y translate r concat 0.0 0.0 moveto dl t 2.7 mul sub 0.0 rlineto stroke restorematrix x dx add y dy add translate r concat t 0.67 mul setlinewidth t 1.61 mul neg 0.0 translate 0.0 0.0 moveto t2 1.7 mul neg t2 2.0 div moveto 0.0 0.0 lineto t2 1.7 mul neg t2 2.0 div neg lineto stroke t setlinewidth restorematrix } if } bind def /G { gsave newpath normalize translate 0.0 0.0 moveto dnormalize scale 0.0 0.0 1.0 5 3 roll arc closepath eofill grestore } bind def /x FMLOCAL /y FMLOCAL /w FMLOCAL /h FMLOCAL /xx FMLOCAL /yy FMLOCAL /ww FMLOCAL /hh FMLOCAL /A { /y exch def /x exch def /h exch def /w exch def x y normalize /yy exch def /xx exch def w h dnormalize /hh exch def /ww exch def ww abs hh abs xx ww add yy hh sub gsave savematrix newpath translate scale 0.0 0.0 1.0 5 3 roll arc 0 setlinecap restorematrix stroke grestore } bind def /FMsaveobject FMLOCAL /FMoptop FMLOCAL /FMdicttop FMLOCAL /BEGINPRINTCODE { /FMdicttop countdictstack 1 add def /FMoptop count 6 sub def /FMsaveobject save def userdict begin /showpage {} def newpath translate 0.0 0.0 moveto } bind def /ENDPRINTCODE { count -1 FMoptop {pop pop} for countdictstack -1 FMdicttop {pop end} for FMsaveobject restore } bind def /gn { 0 { 46 mul cf read pop 32 sub dup 46 lt {exit} if 46 sub add } loop add } bind def /str FMLOCAL /cfs { /str sl string def 0 1 sl 1 sub {str exch val put} for str def } bind def /ic [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223 0 {0 hx} {1 hx} {2 hx} {3 hx} {4 hx} {5 hx} {6 hx} {7 hx} {8 hx} {9 hx} {10 hx} {11 hx} {12 hx} {13 hx} {14 hx} {15 hx} {16 hx} {17 hx} {18 hx} {19 hx} {gn hx} {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} {16} {17} {18} {19} {gn} {0 wh} {1 wh} {2 wh} {3 wh} {4 wh} {5 wh} {6 wh} {7 wh} {8 wh} {9 wh} {10 wh} {11 wh} {12 wh} {13 wh} {14 wh} {gn wh} {0 bl} {1 bl} {2 bl} {3 bl} {4 bl} {5 bl} {6 bl} {7 bl} {8 bl} {9 bl} {10 bl} {11 bl} {12 bl} {13 bl} {14 bl} {gn bl} {0 fl} {1 fl} {2 fl} {3 fl} {4 fl} {5 fl} {6 fl} {7 fl} {8 fl} {9 fl} {10 fl} {11 fl} {12 fl} {13 fl} {14 fl} {gn fl} ] def /sl FMLOCAL /val FMLOCAL /ws FMLOCAL /im FMLOCAL /bs FMLOCAL /cs FMLOCAL /len FMLOCAL /pos FMLOCAL /ms { /sl exch def /val 255 def /ws cfs /im cfs /val 0 def /bs cfs /cs cfs } bind def 400 ms /ip { is 0 cf cs readline pop { ic exch get exec add } forall pop } bind def /wh { /len exch def /pos exch def ws 0 len getinterval im pos len getinterval copy pop pos len } bind def /bl { /len exch def /pos exch def bs 0 len getinterval im pos len getinterval copy pop pos len } bind def /s1 1 string def /fl { /len exch def /pos exch def /val cf s1 readhexstring pop 0 get def pos 1 pos len add 1 sub {im exch val put} for pos len } bind def /hx { 3 copy getinterval cf exch readhexstring pop pop } bind def /h FMLOCAL /w FMLOCAL /lb FMLOCAL /bitmapsave FMLOCAL /is FMLOCAL /cf FMLOCAL /BEGINBITMAP { gsave translate scale /h exch def /w exch def /lb w 7 add 8 idiv def sl lb lt {lb ms} if /bitmapsave save def /is im 0 lb getinterval def ws 0 lb getinterval is copy pop /cf currentfile def w h 1 [w 0 0 h neg 0 h] {ip} image bitmapsave restore grestore } bind def /ENDBITMAP { } bind def end %%EndProlog %%BeginSetup (1.11) FMVERSION 1. 1. 612. 792. 0 1 FMDOCUMENT 0 12. /Times-Roman FMDEFINEFONT 1 18. /Times-Bold FMDEFINEFONT 2 14. /Times-Bold FMDEFINEFONT 3 14. /Times-Roman FMDEFINEFONT 4 12. /Times-Italic FMDEFINEFONT 5 12. /Times-Bold FMDEFINEFONT 0.5 1. 3. 4. 4 FMLINEWIDTHS %%EndSetup %%Page: "1" 1 FMBEGINPAGE 0 F 0 X (Sun Microsystems Porting Guide) 380.33 36. T (9-1) 72. 36. T 1 F (Chapter 9) 72. 706. T (Market Porting Scenarios) 216. 706. T 0 F (This chapter is divided into market segments and serves as a ) 217. 686. T (guide for vendors . The sections address some commonalities ) 217. 673. T (in the market segment, and gives comments Sun has obtained ) 217. 660. T (from vendors who have recently ported to the Sun workstation.) 217. 647. T 2 F (9.1) 72. 622. T (Electronic Design and Automation \050EDA\051) 216. 622. T 0 F (The EDA segment covers a very wide range of applications and ) 217. 603. T (system requirements. Key issues are graphics performance, a ) 217. 590. T (high level of interactive operations \050transactions\051, very large ) 217. 577. T (databases, networking, and floating-point performance.) 217. 564. T (Most EDA graphics operations involve 2-D integer databases ) 217. 547. T (with high levels of precision. Applications often use full 32-bit ) 217. 534. T (integer representation, but use it to represent fractional values. ) 217. 521. T (When this data is rendered to the screen, applications are pre-) 217. 508. T (pared to do most of the transformations, including clipping, scal-) 217. 495. T (ing, and rotation. This means that most applications cannot ) 217. 482. T (readily take advantage of some of the more advanced graphics ) 217. 469. T (features because the graphics software is simply tied very ) 217. 456. T (closely to the structure of the internal database, which is usual-) 217. 443. T (ly proprietary. Many vendors feel they get better performance ) 217. 430. T (overall \050throughput\051 this way because they can fully optimize ) 217. 417. T (the database and graphics operations simultaneously. As a ) 217. 404. T (result, most graphics-intensive EDA applications use the low-) 217. 391. T (est level of graphics interface offered. ) 217. 378. T (Another characteristic of EDA applications is that the data is ) 217. 361. T (very ) 217. 347. T 3 F (\322) 241.32 347. T 0 F (regular.) 247.54 347. T 3 F (\323) 284.52 347. T 0 F (An integrated circuit or printed circuit board is ) 290.74 347. T (represented using thousands of orthogonal polygons and rectan-) 217. 333. T (gles.) 217. 320. T (Performance is critical in the use of dragging and rubberbanding, ) 217. 303. T (which is quite prevalent in EDA. Vendors often use the Sun-) 217. 290. T (View ) 217. 276. T 3 F (\322) 245.99 276. T 0 F (notifier) 252.21 276. T 3 F (\323) 287.54 276. T 0 F ( to correctly route the various input events.) 293.75 276. T (EDA requires a high degree of user interactivity, and users are ) 217. 258. T (typically operating on databases of 100,000 - 1,000,000 enti-) 217. 245. T (ties. In the design process, they separate out very small sub-) 217. 232. T (sets of this data to manipulate. Several applications have spe-) 217. 219. T (cial ) 217. 205. T 3 F (\322) 237.33 205. T 0 F (filters) 243.54 205. T 3 F (\323) 271.54 205. T 0 F ( operating on their databases. The use of commer-) 277.76 205. T (cially available databases is not yet significant due to the ) 217. 191. T (difficulty in making the transition from their custom, proprietary ) 217. 178. T (data bases and their size requirements. Increased CPU power ) 217. 165. T (has a very strong effect on interactive graphics performance ) 217. 152. T (because the navigation through databases uses many more ) 217. 139. T (CPU cycles than the actual rendering of the data.) 217. 126. T (Circuit analysis applications tend to be floating-point intensive, ) 217. 109. T (and are usually written in FORTRAN. These applications are ) 217. 96. T (highly complex; a ) 217. 82. T 3 F (\322) 306.66 82. T 0 F (run) 312.88 82. T 3 F (\323) 328.88 82. T 0 F ( may take hundreds of CPU hours, so ) 335.09 82. T (compiler optimization is an issue.) 217. 68. T 2 F 0.5 ( ) 276. 103. P 74. 516. 182. 588. R 7 X V 4 F 0 X (Key issues: graphics ) 74. 579. T (performance, many ) 74. 565. T (transactions, large ) 74. 551. T (databases, network-) 74. 537. T (ing, floating point) 74. 523. T FMENDPAGE %%Page: "2" 2 FMBEGINPAGE 0 F 0 X (Sun Microsystems Porting Guide) 72. 36. T (9-2) 524. 36. T (Finally, EDA environments are highly heterogeneous, with ) 217. 711. T (large mixes of workstations, PCs, VAXes, and mainframes. ) 217. 698. T (Therefore, the use of networking products such as the Network ) 217. 685. T (File System, SunLink DNI, and the SunLink 3270 products is ) 217. 672. T (quite prevalent. Tight integration is not usually necessary.) 217. 659. T 2 F (9.2) 72. 634. T (Mechanical CAD \050MCAD\051 ) 216. 634. T 0 F (Long software quality assurance and testing processes are typi-) 217. 615. T (cal for the MCAD vendors because they comply with govern-) 217. 602. T (ment specifications for certain analytical procedures. Even a ) 217. 589. T 3 F (\322) 217. 575. T 0 F (simple recompile) 223.22 575. T 3 F (\323) 306.21 575. T 0 F ( requires a minimum of three to six months ) 312.42 575. T (of testing. For this reason, any information provided to the ) 217. 561. T (MCAD vendors that allows for fewer ports over time is impor-) 217. 548. T (tant.) 217. 535. T (While MCAD applications tend to use a variety of features of ) 217. 518. T (the workstation, there is a set of functions that almost all appli-) 217. 505. T (cations use. Therefore, various MCAD applications tend to ) 217. 492. T (have common problems when they are ported. Some of these ) 217. 479. T (problems include:) 217. 466. T (\245 ) 221. 448. T (Differences in byte ordering and bit ordering between ) 234. 448. T (various architectures ) 234. 435. T (\245) 221. 417. T (Differences in the alignment of bytes words and double ) 234. 417. T (precision words across architectures) 234. 404. T (\245) 221. 386. T (Structure alignments and the internal padding of struc-) 234. 386. T (tures ) 234. 373. T (\245) 221. 355. T (Various subroutine calling conventions that affect the ) 234. 355. T (way parameters are ) 234. 342. T (passed on the stack. One should ) 330.29 342. T (pay particular attention to passing structures ) 234. 329. T (and mis-) 449.3 329. T (matched parameter ) 234. 316. T (types) 328.63 316. T (\245) 221. 298. T (Bitwise operations such as arithmetic and logical shifts) 234. 298. T (\245) 221. 280. T (Initialization of variables \050depending on the language and ) 234. 280. T (compiler uninitialized variables ) 234. 267. T (may be either set to zero ) 388.98 267. T (or contain arbitrary values\051) 234. 254. T (\245 ) 221. 236. T (Problems related to source-code control such as, depen-) 234. 236. T (dencies, and the residence of ) 234. 223. T (source, object, and exe-) 375.29 223. T (cutable files. In this case, SCCS has to be used to pro-) 234. 210. T (vide the same) 234. 197. T ( structure as on the previous host.) 299.99 197. T (In addition to the topics covered in this document, other Sun ) 217. 177. T (documents may be useful to your MCAD porting effort:) 217. 164. T (Hardware) 217. 147. T (\245) 221. 131. T (Sun-2, Sun-3, Sun-4, Sun386) 234. 131. T 4 F (i) 374.68 131. T 0 F ( hardware manuals ) 378.01 131. T 3 F (\321) 471.65 131. T 0 F ( ) 485.65 131. T (particularly sections explaining alignments,) 234. 117. T ( precision, ) 443.32 117. T (and subroutine calling conventions) 234. 104. T (\245) 221. 86. T (GPIC \050graphics processor interface card\051 manual) 234. 86. T (Software) 234. 73. T 72. 551. 180. 606. R 7 X V 4 F 0 X (Key issues: data ) 72. 597. T (alignment, graphics ) 72. 583. T (performance, float-) 72. 569. T (ing point) 72. 555. T FMENDPAGE %%Page: "3" 3 FMBEGINPAGE 0 F 0 X (Sun Microsystems Porting Guide) 380.33 36. T (9-3) 72. 36. T (\245) 221. 711. T (Debugging Tools \050dbx, dbx-tool, and adb\051) 234. 711. T (\245) 221. 693. T (Programming Utilities \050C language tools, Make, ) 234. 693. T (and SCCS\051) 234. 680. T (\245) 221. 662. T 4 F (SunView Programmer\325s Guide ) 234. 662. T 0 F ( ) 384.98 662. T (\245) 221. 644. T (SunView 2 directions statement) 234. 644. T (\245) 221. 626. T 4 F (Porting Software to SPARC Systems ) 234. 626. T 2 F (9.3) 72. 601. T (Computer Integrated Manufacturing \050CIM\051) 216. 601. T 0 F (The CIM market covers a wide range of technical requirements, ) 217. 582. T (including graphics performance, networking, languages, realtime ) 217. 569. T (UNIX and standards. For additional information, please refer to ) 217. 556. T (the ECAD and MCAD sections of this chapter. The Catalyst ) 217. 543. T (Third Party program offers solutions for realtime UNIX.) 217. 530. T (The graphics requirements for CIM applications fall into two ) 217. 513. T (categories. One is fairly simple; for example, 2-D and 3-D ) 217. 500. T (assembly drawings to be viewed but probably not edited. ) 217. 487. T (These drawings are often coming from a remote CAD section ) 217. 474. T (over a network. The ability to rapidly display various drawings ) 217. 461. T (is important. Depending on the interface from the CAD system, ) 217. 448. T (the graphics interface may be highly optimized; for example, ) 217. 435. T (using the lowest level graphics interface.) 217. 422. T (Other CIM graphics requirements may be animation-like and ) 217. 405. T (may require the lowest possible interface with highest perfor-) 217. 392. T (mance to simulate robotic movement. Networking issues in ) 217. 379. T (CIM revolve around the use of standards on the factory floor, ) 217. 366. T (particularly MAP/TOP/OSI.) 217. 353. T (For additional information, refer to the SunLink section in ) 217. 336. T (Chapter 2. ) 217. 323. T 2 F (9.4) 72. 298. T (Earth Resources) 216. 298. T 0 F (Petroleum applications, such as seismic interpretation, process-) 217. 279. T (ing, or modeling; well log analysis; contouring; reservoir simula-) 217. 266. T (tion; fluid flow analysis; and expert systems, require responsive ) 217. 253. T (graphics and an intuitive, powerful user interface. Users want ) 217. 240. T (to view the information without waiting. The less time that pro-) 217. 227. T (fessionals must wait for an answer or a view, the more they can ) 217. 214. T (interactively probe the data and receive responses to queries ) 217. 201. T 3 F (\321) 217. 187. T 0 F ( many times faster than on a mainframe. Similarly, if the ) 231. 187. T (application does not present an intuitive, menu-driven, ) 217. 172. T 3 F (\322) 484.97 172. T 0 F (click) 491.19 172. T 3 F (\323) 514.52 172. T 0 F ( ) 520.73 172. T (and go interface, the learning curve is prohibitively flat. We are ) 217. 158. T (noticing oil customers valuing the simplicity, consistency, and ) 217. 145. T (efficiency of the user interface. A standard user interface, such ) 217. 132. T (as OPEN LOOK, dramatically increases user ability and desire ) 217. 119. T (to use new applications and provides a consistent style of oper-) 217. 106. T (ation across all software.) 217. 93. T 72. 195. 180. 271. R 7 X V 4 F 0 X (Key issues: graphics ) 72. 262. T (performance, net-) 72. 248. T (working, floating ) 72. 234. T (point, large databas-) 72. 220. T (es, languages) 72. 206. T 72. 501. 179. 574. R 7 X V 0 X (Key issues: graphics ) 72. 565. T (performance, net-) 72. 551. T (working, languages, ) 72. 537. T (realtime UNIX, ) 72. 523. T (standards) 72. 509. T FMENDPAGE %%Page: "4" 4 FMBEGINPAGE 0 F 0 X (Sun Microsystems Porting Guide) 72. 36. T (9-4) 524. 36. T (Subsecond to 4-second seismic image displays, fluid rotation of ) 217. 711. T (3-D subsurface models, rapid signal analysis on seismic pan-) 217. 698. T (els, and other high-performance graphics are effectively driven ) 217. 685. T (by a balanced system of graphics accelerators, raw compute ) 217. 672. T (performance, and system I/O. Many earth resources software ) 217. 659. T (vendors will support the OPEN LOOK user interface. It pro-) 217. 646. T (vides the simplicity and consistent style for all corporate appli-) 217. 633. T (cations. For more information on NeWS, X.11, or SunView ) 217. 620. T (toolkits for this environment, please refer to Chapter 5. ) 217. 607. T (Sun polled several vendors in the earth resources market seg-) 217. 590. T (ment and received the following feedback:) 217. 577. T (Vendor A had a FORTRAN application for image processing ) 217. 560. T (that he ported to the Sun. To do this, he used raster operation ) 217. 547. T (calls to load pictures into a SunView canvas. \050SunView is the ) 217. 534. T (optimal choice for raster graphics.\051) 217. 521. T (Vendor B had a 2-D graphics package that required a dual-) 217. 504. T (headed monitor. With the help of Sun\325s technical support, they ) 217. 491. T (ordered an OEM special product from Sun that allows two CG2 ) 217. 478. T (or CG3 color boards in a 12-slot VME system. CG5 color ) 217. 465. T (boards do not need any special configuration, because the user ) 217. 452. T (can configure the boards for dual-headed monitor use. This ) 217. 439. T (application used GKS heavily, and the vendor is being encour-) 217. 426. T (aged to complete the porting of what\325s left of the CGI code to ) 217. 413. T (GKS. The application is primarily written in FORTRAN with ) 217. 400. T (some C.) 217. 387. T 2 F (9.5) 72. 362. T (Graphics Information Systems \050GIS\051 and Mapping) 216. 362. T 0 F (The mapping, GIS, and remote sensing markets are ) 217. 343. T (price/performance sensitive, while also being solutions-driven. ) 217. 330. T (The functional purpose of mapping application is to represent ) 217. 317. T (spatial data by manipulating them into easily understood graph-) 217. 304. T (ic formats for topographic maps, profile and cross sections, natu-) 217. 291. T (ral-resource and land-use maps, and hybrid \050derived\051 maps ) 217. 278. T (consisting of several different map overlays. DEC systems and ) 217. 265. T (IBM/PCs are popular in this market, but it is a compute-inten-) 217. 252. T (sive market well suited to workstations. Cost conscious users ) 217. 239. T (are beginning to demand that software vendors offer their prod-) 217. 226. T (ucts on workstations. This market is typified by four factors ) 217. 213. T (that strongly influence porting issues:) 217. 200. T (\245) 220. 184. T (Price/performance ) 234. 184. T 3 F (\321) 325.63 184. T 0 F ( To answer end-user demand for) 339.63 184. T ( ) 226. 170. T (workstation power, software vendors typically port to) 234. 170. T ( ) 226. 157. T (UNIX from VMS or MS/DOS) 234. 157. T (\245) 220. 138. T (Heterogeneous computing environments ) 234. 138. T 3 F (\321) 431.64 138. T 0 F (Typical ) 445.64 138. T (computing environments are composed of a variety of) 234. 124. T ( ) 226. 111. T (vendor platforms that must be utilized in the network ) 234. 111. T (and not isolated) 234. 98. T 72. 257. 180. 328. R 7 X V 4 F 0 X (Key issues: graphics ) 72. 319. T (performance, large ) 72. 305. T (databases, floating ) 72. 291. T (point, networking, ) 72. 277. T (languages) 72. 263. T FMENDPAGE %%Page: "5" 5 FMBEGINPAGE 0 F 0 X (Sun Microsystems Porting Guide) 380.33 36. T (9-5) 72. 36. T (\245) 220. 710. T (Integration of software vendors ) 234. 710. T 3 F (\321) 387.96 710. T 0 F (A production environ-) 401.96 710. T (ment, typically requires the integration of several ) 234. 696. T (software packages to accomplish end-user objectives) 234. 683. T (\245) 221. 664. T (Peripheral-intensive) 234. 664. T 3 F ( \321) 330.65 664. T 0 F (The application requires a ) 348.15 664. T (variety of input devices, output devices, and large disk) 234. 650. T (and tape capabilities) 234. 637. T (One vendor found several ) 217. 616. T 3 F (\322) 344.3 616. T 0 F (bugs) 350.51 616. T 3 F (\323) 373.18 616. T 0 F ( in his code that he could ) 379.4 616. T 3 F (\322) 217. 601. T 0 F (get away with) 223.22 601. T 3 F (\323 ) 290.54 601. T 0 F ( in VMS or Prime OS, but he found UNIX to ) 300.25 601. T (be more strict. For example,) 217. 587. T (\245) 221. 569. T (In passing an array to another routine, he had to declare) 234. 569. T (that array in the second routine) 234. 556. T (\245) 221. 538. T (In passing double-precision numbers to real numbers,) 234. 538. T (the VAX would resolve the differences, UNIX did not) 234. 525. T (\245) 221. 507. T (In using Sun\325s ) 234. 507. T 4 F (dbxtool) 306.34 507. T 0 F (, it would have been helpful to) 342.34 507. T (have known earlier about the ability to turn off case-sen-) 234. 494. T (sitivity in order to find FORTRAN variables, which are) 234. 481. T (not case-sensitive) 234. 468. T (FORTRAN code is often written in upper case; ) 217. 448. T 4 F (dbxtool) 446.97 448. T 0 F ( only ) 482.97 448. T (recognizes lower-case variables.) 217. 435. T (This vendor said he made good use of Sun\325s online manual facil-) 217. 418. T (ities and sample programs.) 217. 405. T 2 F (9.6) 72. 380. T (Finance) 216. 380. T 0 F (In the financial market segment, customers drive the platform ) 217. 361. T (choice, meaning software vendors must provide their products ) 217. 348. T (on a wide variety of hardware platforms. Finance vendors want ) 217. 335. T (portability between different vendors\325 machines; this portability ) 217. 322. T (requires industry standards. Finance vendors look to Sun for ) 217. 309. T (options that offer the least risk of being tied to particular hard-) 217. 296. T (ware and the most flexibility.) 217. 283. T (The financial marketplace is heterogeneous, and end-users ) 217. 266. T (need to access data from all types of systems \050IBM main-) 217. 253. T (frames, System 36/38s, PCs, DEC systems, fault-tolerant sys-) 217. 240. T (tems, and others\051. Sun\325s heterogeneous networking products, ) 217. 227. T (both ONC and the SunLink family, are important. Peer-to-peer ) 217. 214. T (networking among all types and sizes of systems is critical as ) 217. 201. T (the data could reside anywhere. In addition to heterogeneous ) 217. 188. T (networking, financial vendors choose Sun workstations for their ) 217. 175. T (superior display management of realtime data and cost-effec-) 217. 162. T (tive compute power.) 217. 149. T (A typical example of a financial application is tying in to a ticker ) 217. 132. T (service over RS-232, then using X11/NeWS to display that ) 217. 119. T (data graphically over a network to several heterogeneous ) 217. 106. T (clients \050See Figure 9-1.\051) 217. 93. T 2 F 0.5 ( ) 303. 490. P 72. 285. 180. 349. R 7 X V 4 F 0 X (Key issues: network-) 72. 340. T (ing, compute servers, ) 72. 326. T (window system inte-) 72. 312. T (gration) 72. 298. T FMENDPAGE %%Page: "6" 6 FMBEGINPAGE 0 F 0 X (Sun Microsystems Porting Guide) 72. 36. T (9-6) 524. 36. T 170. 409. 543. 654. C 170. 409. 543. 654. R 7 X V 0 F 0 X (Non-Sun) 306. 478. T 204. 484. 245. 581. R 1 H N 206. 486. 242. 579. R 0 H N 241. 500. 206. 500. 2 L N 206. 510. 241. 510. 2 L N 208. 501. 218. 508. R 4 X V 0 X N 220. 501. 230. 508. R 4 X V 0 X N 231. 501. 241. 508. R 4 X V 0 X N 241. 519. 206. 519. 2 L N 231. 515. 235. 519. R N 235. 515. 239. 519. R V N 226. 528. 240. 567. R 3 X V 0 X N 209. 572. 241. 576. R V N 210. 566. 214. 570. R N 214. 566. 218. 570. R V N (Sun) 307. 585. T 2.69 (X11/NeWS Server) 307. 571. P 1.5 (Sun or Non-Sun) 253. 520. P 1.67 (X11/NeWS Client) 253. 506. P 2.69 (X11/NeWS Server) 306. 464. P 246. 536. 519. 536. 2 L N 447. 536. 447. 487. 2 L N 420. 506. 439. 506. 439. 488. 449. 488. 449. 476. 444. 467. 402. 467. 402. 480. 411. 486. 411. 502. 10 Y 7 X V 411. 481. 434. 502. R V 0 X N 411. 502. 420. 506. 438. 506. 434. 502. 4 L N 439. 506. 439. 488. 434. 481. 3 L N 402. 467. 444. 480. R 7 X V 0 X N 404. 473. 409. 477. R 7 X V 0 X N 426. 469. 442. 477. R V N 402. 480. 411. 486. 2 L N 439. 488. 449. 488. 2 L N 413. 483. 432. 500. R 7 X V 0 X N 444. 480. 449. 487. 449. 476. 444. 467. 4 L N 428. 470. 430. 471. R 7 X V 428. 474. 440. 474. 2 L N 404. 471. 404. 469. 2 L 0 X N 405. 471. 405. 469. 2 L N 406. 471. 406. 469. 2 L N 407. 471. 407. 469. 2 L N 408. 471. 408. 469. 2 L N 409. 471. 409. 469. 2 L N 410. 471. 410. 469. 2 L N 411. 471. 411. 469. 2 L N 412. 471. 412. 469. 2 L N 436. 613. 436. 591. 435. 587. 3 L N 411. 587. 435. 611. R 3 X V 0 X N 411. 611. 414. 613. 436. 613. 435. 611. 4 L N 408. 582. 437. 587. R N 408. 587. 411. 591. 2 L N 439. 593. 439. 588. 2 L N 437. 582. 439. 588. 2 L N 437. 587. 439. 593. 2 L N 439. 593. 436. 593. 2 L N 407. 581. 432. 581. 429. 575. 404. 575. 4 Y N 407. 576. 410. 580. 429. 580. 428. 576. 4 Y N 434. 574. 438. 581. 450. 581. 446. 574. 4 Y 3 X V 0 X N 440. 576. 443. 580. R 7 X V 0 X N 413. 590. 433. 609. R 7 X V 0 X N 441. 580. 442. 581. 2 L N 444. 590. 444. 590. 440. 591. 443. 586. 443. 586. 443.5 588. 442. 581. 442. 581. 442.5 583.5 441. 580. 5 K N 420. 576. 420. 540. 2 L N (RS-232) 175. 640. T 2.35 (Ticker Feed) 175. 628. P (Ethernet) 474. 521. T 246. 539. 519. 539. 2 L N 5 F 0.73 (Figure 9-1. Financial Application Example) 245. 425. P 171. 411. 534. 654. R N U 0 F 0 X (and display graphical data at a trader\325s desk. Traders can send ) 217. 389. T (buy/sell orders while processing analytical computations that ) 217. 376. T (display output \050graphs, charts, etc.\051 on both the X11/NeWS ) 217. 363. T (server and client.) 217. 350. T (In this application, the availability of X11/NeWS on various ) 217. 333. T (platforms means an application can be used from any node on ) 217. 320. T (the network that uses X11/NeWS; it is not necessary to port ) 217. 307. T (that application. X11/NeWS takes care of the hardware, device, ) 217. 294. T (and resolution-specific characteristics of the platform, so the ) 217. 281. T (application doesn\325t need to know the end-user\325s location or ) 217. 268. T (what type of machine is used.) 217. 255. T (Ticker data comes in over RS-232 to X11/NeWS client. ) 217. 711. T (\050Remember that a X11/NeWS server controls a display.\051 This ) 217. 698. T (data is now available to all X11/NeWS servers. X11/NeWS ) 217. 685. T (servers communicate over Ethernet to a Sun or non-Sun client ) 217. 672. T 2 F 0.5 ( ) 279. 547. P 0 H 242. 611. -9. -26. W 243. 611. 244. 594. 2 L N 245. 593. 262. 649. 2 L N FMENDPAGE %%Page: "7" 7 FMBEGINPAGE 0 F 0 X (Sun Microsystems Porting Guide) 380.33 36. T (9-7) 72. 36. T 72. 72. 540. 720. C 72. 165. 540. 720. C 72. 165. 541. 720. R 7 X V 75. 71. 543. 719. R V 80. 529. 125. 626. R 1 H 0 X N 82. 531. 122. 624. R 0 H N 121. 545. 82. 545. 2 L N 82. 555. 121. 555. 2 L N 84. 546. 95. 553. R 4 X V 0 X N 98. 546. 109. 553. R 4 X V 0 X N 110. 546. 121. 553. R 4 X V 0 X N 121. 564. 82. 564. 2 L N 110. 560. 114. 564. R N 114. 560. 118. 564. R V N 104. 573. 120. 612. R 3 X V 0 X N 85. 617. 121. 621. R V N 87. 611. 91. 615. R N 91. 611. 95. 615. R V N 0 F (RS-232) 77. 709. T 2.35 (Ticker Feed) 76. 696. P 113. 654. -9. -26. W 114. 654. 115. 637. 2 L N 116. 636. 133. 692. 2 L N 125. 580. 537. 580. 2 L 1 H N (Realtime) 79. 503. T (Database) 79. 491. T 225. 607. 315. 670. R 7 X V 0 H 0 X N 225. 625. 315. 625. 2 L N 279. 607. 306. 616. R 3 X V 0 X N 234. 607. 261. 616. R 3 X V 0 X N 270. 607. 270. 580. 2 L N 3. ( Expert Systems) 227. 655. P 1.68 ( Hedger) 227. 642. P 0.17 (Sun or ) 225. 686. P (Server) 275. 674. T 340. 592. 403. 695. R 7 X V 0 X N 376. 599. 394. 635. R 3 X V 0 X N 349. 644. 394. 644. 2 L 3 H N 349. 625. 358. 634. R 3 X V 0 H 0 X N 349. 607. 358. 616. R 3 X V 0 X N ( ) 359. 688. T (Database) 346. 679. T (Server) 346. 667. T 367. 591. 367. 580. 2 L N 7 X 90. 450. 9. 4.5 434. 692.5 G 0 X 90. 90.1 -9. 4.5 443. 697. A 90. 180.1 9. 4.5 425. 697. A 180. 270.1 9. -4.5 425. 688. A 270. 0.1 -9. -4.5 443. 688. A 0. 90. -9. 4.5 443. 697. A 7 X 90. 450. 9. 4.5 434. 656.5 G 0 X 90. 90.1 -9. 4.5 443. 661. A 90. 180.1 9. 4.5 425. 661. A 180. 270.1 9. -4.5 425. 652. A 270. 0.1 -9. -4.5 443. 652. A 0. 90. -9. 4.5 443. 661. A 443. 693. 443. 658. 2 L N 425. 693. 425. 660. 2 L N (Ethernet) 259. 567. T 192. 545. 192. 523. 191. 519. 3 L N 167. 519. 191. 543. R 3 X V 0 X N 167. 543. 170. 545. 192. 545. 191. 543. 4 L N 164. 514. 193. 519. R N 164. 519. 167. 523. 2 L N 195. 525. 195. 520. 2 L N 193. 514. 195. 520. 2 L N 193. 519. 195. 525. 2 L N 195. 525. 192. 525. 2 L N 163. 513. 188. 513. 185. 507. 160. 507. 4 Y N 163. 508. 166. 512. 185. 512. 184. 508. 4 Y N 190. 506. 194. 513. 206. 513. 202. 506. 4 Y 3 X V 0 X N 196. 508. 199. 512. R 7 X V 0 X N 169. 522. 189. 540. R 7 X V 0 X N 197. 512. 198. 513. 2 L N 200. 522. 200. 522. 196. 523. 199. 518. 199. 518. 199.5 520. 198. 513. 198. 513. 198.5 515.5 197. 512. 5 K N 181. 580. 181. 545. 2 L N 260. 545. 260. 523. 259. 519. 3 L N 235. 519. 259. 543. R 3 X V 0 X N 235. 543. 238. 545. 260. 545. 259. 543. 4 L N 232. 514. 261. 519. R N 232. 519. 235. 523. 2 L N 263. 525. 263. 520. 2 L N 261. 514. 263. 520. 2 L N 261. 519. 263. 525. 2 L N 263. 525. 260. 525. 2 L N 231. 513. 256. 513. 253. 507. 228. 507. 4 Y N 231. 508. 234. 512. 253. 512. 252. 508. 4 Y N 258. 506. 262. 513. 274. 513. 270. 506. 4 Y 3 X V 0 X N 264. 508. 267. 512. R 7 X V 0 X N 237. 522. 257. 540. R 7 X V 0 X N 265. 512. 266. 513. 2 L N 268. 522. 268. 522. 264. 523. 267. 518. 267. 518. 267.5 520. 266. 513. 266. 513. 266.5 515.5 265. 512. 5 K N 249. 580. 249. 545. 2 L N 324. 545. 324. 523. 323. 519. 3 L N 299. 519. 323. 543. R 3 X V 0 X N 299. 543. 302. 545. 324. 545. 323. 543. 4 L N 296. 514. 325. 519. R N 296. 519. 299. 523. 2 L N 327. 525. 327. 520. 2 L N 325. 514. 327. 520. 2 L N 325. 519. 327. 525. 2 L N 327. 525. 324. 525. 2 L N 295. 513. 320. 513. 317. 507. 292. 507. 4 Y N 295. 508. 298. 512. 317. 512. 316. 508. 4 Y N 322. 506. 326. 513. 338. 513. 334. 506. 4 Y 3 X V 0 X N 328. 508. 331. 512. R 7 X V 0 X N 301. 522. 321. 540. R 7 X V 0 X N 329. 512. 330. 513. 2 L N 332. 522. 332. 522. 328. 523. 331. 518. 331. 518. 331.5 520. 330. 513. 330. 513. 330.5 515.5 329. 512. 5 K N 313. 580. 313. 545. 2 L N 452. 545. 452. 523. 451. 519. 3 L N 427. 519. 451. 543. R 3 X V 0 X N 427. 543. 430. 545. 452. 545. 451. 543. 4 L N 424. 514. 453. 519. R N 424. 519. 427. 523. 2 L N 455. 525. 455. 520. 2 L N 453. 514. 455. 520. 2 L N 453. 519. 455. 525. 2 L N 455. 525. 452. 525. 2 L N 423. 513. 448. 513. 445. 507. 420. 507. 4 Y N 423. 508. 426. 512. 445. 512. 444. 508. 4 Y N 450. 506. 454. 513. 466. 513. 462. 506. 4 Y 3 X V 0 X N 456. 508. 459. 512. R 7 X V 0 X N 429. 522. 449. 540. R 7 X V 0 X N 457. 512. 458. 513. 2 L N 460. 522. 460. 522. 456. 523. 459. 518. 459. 518. 459.5 520. 458. 513. 458. 513. 458.5 515.5 457. 512. 5 K N 441. 580. 441. 545. 2 L N (Sun-3) 212. 554. T 1.02 (Trader 1) 151. 489. P 98. 244. 244. 356. R 7 X V 1 H 0 X N 99. 287. 243. 287. 2 L 0 H N 150. 355. 150. 288. 2 L N 143. 286. 143. 245. 2 L N 160. 300. 227. 344. R 12 X V 0 X N 0.26 ( position ) 98. 274. P 0.25 ( keeping ) 98. 260. P 272. 321. -44. 0. W (buy/sell) 102. 318. T 1.14 (Enlarged view of a Sun workstation) 96. 228. P 7 X 90. 450. 9. 4.5 432. 638.5 G 0 X 90. 90.1 -9. 4.5 441. 643. A 90. 180.1 9. 4.5 423. 643. A 180. 270.1 9. -4.5 423. 634. A 270. 0.1 -9. -4.5 441. 634. A 0. 90. -9. 4.5 441. 643. A 7 X 90. 450. 9. 4.5 432. 602.5 G 0 X 90. 90.1 -9. 4.5 441. 607. A 90. 180.1 9. 4.5 423. 607. A 180. 270.1 9. -4.5 423. 598. A 270. 0.1 -9. -4.5 441. 598. A 0. 90. -9. 4.5 441. 607. A 441. 639. 441. 604. 2 L N 423. 639. 423. 606. 2 L N 456. 595. 538. 714. R 7 X V 0 X N 461. 613. 479. 645. R 3 X V 0 X N 485. 613. 503. 645. R 3 X V 0 X N 511. 635. 520. 644. R 3 X V 0 X N 525. 635. 534. 644. R 3 X V 0 X N 525. 620. 534. 629. R 3 X V 0 X N 511. 620. 520. 629. R 3 X V 0 X N 466. 706. 536. 706. 2 L 3 H N 463. 696. 467. 700. R V 0 H N 478. 696. 482. 700. R V N 492. 696. 496. 700. R V N 507. 696. 511. 700. R V N 522. 696. 526. 700. R V N 461. 650. 534. 664. R 3 X V 0 X N 463. 690. 467. 694. R V N 478. 690. 482. 694. R V N 492. 690. 496. 694. R V N 507. 690. 511. 694. R V N 522. 690. 526. 694. R V N 496. 595. 496. 582. 2 L N (Mainframe) 474. 600. T 147. 597. 210. 696. R 7 X V 0 X N 183. 607. 201. 643. R 3 X V 0 X N 156. 652. 201. 652. 2 L N 156. 634. 165. 643. R 3 X V 0 X N 156. 616. 165. 630. R 3 X V 0 X N 156. 603. 165. 612. R 3 X V 0 X N (Compute) 155. 680. T (Server) 155. 668. T 0.11 ( Sun or) 147. 710. P 1.33 ( Non-Sun) 147. 698. P 403. 678. 425. 678. 2 L N 0.11 ( Sun or) 339. 710. P 1.33 ( Non-Sun) 339. 698. P 176. 597. 176. 581. 2 L N 513. 545. 513. 523. 512. 519. 3 L N 488. 519. 512. 543. R 3 X V 0 X N 488. 543. 491. 545. 513. 545. 512. 543. 4 L N 485. 514. 514. 519. R N 485. 519. 488. 523. 2 L N 516. 525. 516. 520. 2 L N 514. 514. 516. 520. 2 L N 514. 519. 516. 525. 2 L N 516. 525. 513. 525. 2 L N 484. 513. 509. 513. 506. 507. 481. 507. 4 Y N 484. 508. 487. 512. 506. 512. 505. 508. 4 Y N 511. 506. 515. 513. 527. 513. 523. 506. 4 Y 3 X V 0 X N 517. 508. 520. 512. R 7 X V 0 X N 490. 522. 510. 540. R 7 X V 0 X N 518. 512. 519. 513. 2 L N 521. 522. 521. 522. 517. 523. 520. 518. 520. 518. 520.5 520. 519. 513. 519. 513. 519.5 515.5 518. 512. 5 K N 501. 581. 501. 546. 2 L N 2.7 (Head Trader) 476. 490. P 2.34 (Pos. Keep.) 346. 654. P 7.35 (Realtime spreadsheet;) 278. 317. P 369. 545. 388. 545. 388. 527. 398. 527. 398. 515. 393. 506. 351. 506. 351. 519. 360. 525. 360. 541. 10 Y 7 X V 360. 520. 383. 541. R V 0 X N 360. 541. 369. 545. 387. 545. 383. 541. 4 L N 388. 545. 388. 527. 383. 520. 3 L N 351. 506. 393. 519. R 7 X V 0 X N 353. 512. 358. 516. R 7 X V 0 X N 375. 508. 391. 516. R V N 351. 519. 360. 525. 2 L N 388. 527. 398. 527. 2 L N 362. 522. 381. 539. R 7 X V 0 X N 393. 519. 398. 526. 398. 515. 393. 506. 4 L N 377. 509. 379. 510. R 7 X V 377. 513. 389. 513. 2 L N 353. 510. 353. 508. 2 L 0 X N 354. 510. 354. 508. 2 L N 355. 510. 355. 508. 2 L N 356. 510. 356. 508. 2 L N 357. 510. 357. 508. 2 L N 358. 510. 358. 508. 2 L N 359. 510. 359. 508. 2 L N 360. 510. 360. 508. 2 L N 361. 510. 361. 508. 2 L N 374. 580. 374. 546. 2 L N (PC) 353. 554. T (Sun) 135. 553. T (386) 153. 553. T 4 F (i) 171. 553. T 0 F (Sun-3) 274. 554. T (Sun-4) 402. 554. T (Sun-3) 463. 554. T 1.02 (can query) 476. 477. P 4.68 (database ) 476. 464. P 3.35 (access ) 490. 451. P (real-time) 477. 425. T 3.66 (risk positions) 477. 412. P 98. 357. 234. 542. 2 L N (Reuters) 78. 671. T (Telerate) 77. 659. T 2.51 (trade entry drives) 154. 417. P 2.33 (position keeping,) 154. 405. P 1.02 (accounting, and) 154. 393. P (clearing) 154. 381. T 162. 376. -47. -46. W (accounting/) 466. 678. T (clearing) 467. 668. T 441. 621. 455. 621. 2 L N 5 F 0.94 (Figure 9-2. Typical Trading Floor Solution) 214. 178. P 0 F ( ) 98. 250. T (analytics) 173. 252. T 244. 356. 260. 513. 2 L N 1.02 (Trader 2) 210. 489. P 1.02 (Trader n) 417. 489. P 3.84 (top spreadsheet is) 278. 305. P 1.34 (summary of analytics) 278. 293. P 2. (window system ) 97. 202. P (graphics) 173. 275. T 2. (to display) 173. 263. P (Non-Sun) 225. 674. T (aggregate) 476. 438. T (to) 477. 451. T 2.65 (MVS/ NFS) 468. 583. P 5.67 (demonstrating multiprocessing) 95. 215. P 72. 72. 540. 720. C U 0 F 0 X (Figure 9-2 shows an example of a typical trading floor. An ) 217. 138. T (enlarged Sun display shows multiple applications running con-) 217. 125. T (currently in multiple windows. This represents a significant ) 217. 112. T (advantage over PCs that can run only one application at a time. ) 217. 99. T (Additionally you can also run analysis on the data received, ) 217. 86. T 2 F 0.5 ( ) 276. 623. P FMENDPAGE %%Page: "8" 8 FMBEGINPAGE 0 F 0 X (Sun Microsystems Porting Guide) 72. 36. T (9-8) 524. 36. T (either on the local workstation or on the remote compute ) 217. 711. T (servers. With the recent announcements of NFS support for ) 217. 698. T (MVS and VM systems, traders workgroups can now be easily ) 217. 685. T (integrated into existing back office systems. For example, a ) 217. 672. T (trade entered in the buy-sell window updates the accounting ) 217. 659. T (and clearing systems on the mainframe as well as a shared ) 217. 646. T (database. This allows the head trader to look at aggregate risk ) 217. 633. T (positions, and makes this information available to expert sys-) 217. 620. T (tems that can recommend appropriate hedges.) 217. 607. T 2 F (9.7) 72. 582. T (Add-On Hardware/Input and Output Peripherals) 216. 582. T 0 F (For input/output peripherals, vendors are required to provide ) 217. 563. T (both hardware and software interface. Examples of digital input ) 217. 550. T (peripherals are digitizers, flat-bed scanners, and slide scan-) 217. 537. T (ners. Cameras with frame grabbers convert analog input to digi-) 217. 524. T (tal. A typical digital interface for input peripherals could be RS-) 217. 511. T (232C, Centronics Parallel, GPIB, SCSI, or Custom VME. Out-) 217. 498. T (put peripherals consist of printers/plotters, film recorders; dis-) 217. 485. T (play devices; display emulators; projection devices; and ) 217. 472. T (VCR/TV with a digital, analog, video, video converter, or soft-) 217. 459. T (ware interface. For output devices, the digital interface could be ) 217. 446. T (RS-232C, Centronics Parallel, GPIB, SCSI, Custom VME ) 217. 433. T (Board, DR11-W, or Versatec. ) 217. 420. T 5 F (Note:) 217. 403. T 0 F ( Developing an SCSI driver is not currently recommended. ) 244.98 403. T (However, Sun Consulting is a good source for such a develop-) 217. 390. T (ment. As an example, a printer with an RS-232C connection can ) 217. 377. T (be ported to all Sun platforms with minimal development effort, ) 217. 364. T (when the UNIX driver is offered by the vendor. ) 217. 351. T 2 F (9.8) 72. 326. T (Graphics and Imaging) 216. 326. T 0 F (The Graphics and Imaging marketplace is comprised of 1\051 ) 217. 307. T (Graphics, which includes charting and graphing, graphics sub-) 217. 294. T (systems, standards, libraries, and tools, 2\051 art, animation, and ) 217. 281. T (video, and 3\051 imaging. In the area of graphics, charting and ) 217. 268. T (graphing and standards, libraries, and tools are software prod-) 217. 255. T (ucts and developers find it generally simple to port to Sun plat-) 217. 242. T (form. Graphics subsystems consist of both hardware and soft-) 217. 229. T (ware that need to be ported to Sun platform and the vendors ) 217. 216. T (need to provide and develop the interface to Sun. They need to ) 217. 203. T (determine their need for any additional card slots or VME ) 217. 190. T (based Sun Workstations. As an example, some of these Graph-) 217. 177. T (ics subsystem vendors have provided 24-bit frame buffers for ) 217. 164. T (Sun and they have been very successful in porting to Sun plat-) 217. 151. T (form. In some cases they have developed their product compati-) 217. 138. T (ble with Sun VMEbus, with the use of Sun\325s pixrect library.) 217. 125. T 72. 478. 180. 551. R 7 X V 4 F 0 X (Key issues: device ) 72. 542. T (drivers, hardware ) 72. 528. T (interfaces) 72. 514. T 71. 213. 179. 286. R 7 X V 0 X (Key issues: device ) 71. 277. T (drivers, hardware ) 71. 263. T (interfaces) 71. 249. T FMENDPAGE %%Page: "9" 9 FMBEGINPAGE 0 F 0 X (Sun Microsystems Porting Guide) 380.33 36. T (9-9) 72. 36. T 2 F (9.9) 74. 709. T (Office Automation ) 218. 709. T 0 F (Office automation application categories include word proces-) 219. 690. T (sors, spreadsheets, databases, personal information managers, ) 219. 677. T (outliners, business graphics, decision support systems, ) 219. 664. T (accounting software, manufacturing tools, document search and ) 219. 651. T (retrieval aids. This is a very broad category where vendors can ) 219. 638. T (be porting to Sun from a wide range of bases) 219. 624. T 3 F ( \321) 434.63 624. T 0 F ( from PCs to ) 452.13 624. T (mainframes.) 219. 610. T (Sun\325s NeWS windowing system fits well with many office ) 219. 593. T (automation applications. Since the PostScript Language model ) 219. 580. T (is the standard interface to printers as well as to NeWS, it is ) 219. 567. T (easier to write WYSIWYG applications using NeWS than with ) 219. 554. T (other windowing systems.) 219. 541. T (Many vendors coming from the DOS world find that their pro-) 219. 524. T (grams run in a DOS window on the Sun386) 219. 511. T 4 F (i) 428.99 511. T 0 F ( without modifica-) 432.32 511. T (tion. However, taking full advantage of Sun\325s multitasking ) 219. 498. T (UNIX operating system and window system environment often ) 219. 485. T (requires restructuring the application.) 219. 472. T (One vendor porting a Macintosh program split off the user inter-) 219. 455. T (face section of the application from the computational part. By ) 219. 442. T (doing that, much of the code remained the same between the) 219. 429. T (Macintosh and the Sun versions of the program, and it was ) 219. 416. T (easier to maintain both versions of the program.) 219. 403. T (Another vendor ported a 150,000 line program written in ) 219. 386. T (FORTRAN 66 to a Sun-3 and to a Sun386) 219. 373. T 4 F (i) 423. 373. T 0 F (. He noted the ) 426.34 373. T (following:) 219. 360. T (\245 ) 223. 345. T (In calling a C routine from FORTRAN, C represents the ) 236. 345. T (subroutine as ) 236. 331. T 3 F (\322) 302.66 331. T 0 F (a_) 308.88 331. T 3 F (\323) 320.2 331. T 0 F ( rather than ) 326.42 331. T 3 F (\322) 387.07 331. T 0 F (a.) 393.28 331. T 3 F (\323) 401.61 331. T 0 F ( Sun and HP are ) 407.83 331. T (similar in this respect, while DEC \050Ultrix\051 and Apollo ) 236. 317. T (represent the routine as ) 236. 303. T 3 F (\322) 350.64 303. T 0 F (a.) 356.85 303. T 3 F (\323) 365.18 303. T 0 F ( This is because FOR-) 371.4 303. T (TRAN and C generate the same object code, therefore it ) 236. 289. T (is necessary to distinguish the FORTRAN ) 236. 275. T 3 F (\322) 444.33 275. T 0 F (a) 450.55 275. T 3 F (\323) 455.88 275. T 0 F ( from ) 462.09 275. T (the C ) 236. 260. T 3 F (\322) 264.67 260. T 0 F (a) 270.88 260. T 3 F (\323) 276.21 260. T 0 F (.) 282.43 260. T (\245 ) 223. 241. T (Byte ordering differences for the Sun386) 236. 241. T 4 F (i ) 432.96 241. T 0 F (were reconciled ) 439.29 241. T (and the program was ported in about three days. This ) 236. 228. T (was a relatively simple FORTRAN 66 application with-) 236. 215. T (out character declaration statements or FORTRAN I/O.) 236. 202. T (Another vendor did his port to Sun from System V code. In this ) 219. 182. T (case, it was necessary to change the directory access code that ) 219. 169. T (was hardcoded into his application. That was easily done with ) 219. 156. T (a ) 219. 142. T 3 F (\322) 227.33 142. T 4 F (scandir) 233.54 142. T 3 F (\323) 269.54 142. T 0 F ( command. He was then able to compile with the ) 275.76 142. T (System V library. Once TTY setting calls were changed, he ) 219. 128. T (compiled with the Berkeley 4.2 libraries in Sun OS 3.2. This ) 219. 115. T (vendor noted he had also ported to Pyramid, which was more ) 219. 102. T (difficult without the System V library routines.) 219. 89. T 72. 604. 180. 676. R 7 X V 4 F 0 X (Key issues: window ) 72. 667. T (system integration, ) 72. 653. T (networking, operat-) 72. 639. T (ing system ) 72. 625. T FMENDPAGE %%Page: "10" 10 FMBEGINPAGE 0 F 0 X (Sun Microsystems Porting Guide) 72. 36. T (9-10) 518. 36. T 2 F (9.10) 72. 709. T (CASE) 216. 709. T 0 F (The CASE marketplace is comprised of three segments, com-) 217. 690. T (mercial \050DP/MIS\051, defense/aerospace/industrial, and scientif-) 217. 677. T (ic/engineering. Porting issues frequently cross market seg-) 217. 664. T (ments although they differ widely by the type of CASE applica-) 217. 651. T (tion. Software development efforts frequently require software ) 217. 638. T (that runs on multiple hardware architectures networked ) 217. 625. T (together. In order to make the job of porting to multiple sys-) 217. 612. T (tems easier, many of Sun\325s Catalyst vendors are driving the ) 217. 599. T (development of standards. ) 217. 586. T (It is difficult to generalize among CASE products. In order to ) 217. 569. T (demonstrate the range of issues that may need to be ) 217. 556. T (addressed, the porting examples in this section fall into three ) 217. 543. T (categories: compilers, analysis and design \050front-end tools\051, ) 217. 530. T (and realtime OS/in-circuit emulators.) 217. 517. T (Compiler vendors are primarily concerned with the machine ) 217. 500. T (instruction sets associated with the SPARC RISC, 680X0 ) 217. 487. T (family and 80X86 architectures; the coprocessors that work ) 217. 474. T (with them, whether they be 68881, floating-point Weitek or ) 217. 461. T (other chips; the output object format; and byte ordering/ data ) 217. 448. T (alignment issues. Porting from one hardware vendor to another ) 217. 435. T (when both use the same chips may take as little as two days ) 217. 422. T (of work. Porting a compiler from one CPU architecture to anoth-) 217. 409. T (er may take six months or longer. A port using Sun\325s assem-) 217. 396. T (blers/linkers and optimizers, especially the peephole optimizer, ) 217. 383. T (saves a considerable amount of porting time.) 217. 370. T (CASE developers of Analysis and Design \050front-end\051 tools, on ) 217. 353. T (the other hand, have completed ports to a new CPU architecture ) 217. 340. T (in a day or two. However, if a new window system, user inter-) 217. 327. T (face, compiler \050substitute a Sun compiler for a non-compatible ) 217. 314. T (non-Sun compiler\051, and database are included with the port to ) 217. 301. T (the Sun, it will take considerably longer. Porting between Sun ) 217. 288. T (architectures is generally simple for front-end vendors when ) 217. 275. T (these other elements are not issues.) 217. 262. T (Realtime OS developers and developers of in-circuit emulators ) 217. 245. T (have brought up totally different concerns. They are primarily ) 217. 232. T (interested in understanding the impacts on system software of ) 217. 219. T (adding more hardware devices to the Sun. Refer to Section 7.4 ) 217. 206. T (for characteristics of Sun bus architectures, how boards are able ) 217. 193. T (to communicate with each other and Sun\325s policies regarding ) 217. 180. T (porting devices to the SCSI. Sun device driver issues are dis-) 217. 167. T (cussed in Section 7.5. Hardware changes and operating system ) 217. 154. T (upgrades may have major impacts on development schedules.) 217. 141. T (Other issues that may concern at least one CASE vendor ) 217. 124. T (include:) 217. 111. T (\245) 221. 93. T (Hardware \050CPU, coprocessors, other boards, bus, ) 234. 93. T (memory, disk space\051) 234. 80. T 72. 597. 180. 678. R 7 X V 4 F 0 X (Key issues: window ) 72. 669. T (system integration, ) 72. 655. T (databases, operating ) 72. 641. T (system) 72. 627. T FMENDPAGE %%Page: "11" 11 FMBEGINPAGE 0 F 0 X (Sun Microsystems Porting Guide) 380.33 36. T (9-11) 72. 36. T (\245) 221. 711. T (Operating systems \050process creation, interprocess ) 234. 711. T (communication, priorities, permissions, directories,) 234. 698. T (open/close system calls, environmental variables used,) 234. 685. T (shared libraries and shared data\051 ) 234. 672. T (\245) 221. 654. T (Languages \050i.e., tools written in C are more portable than) 234. 654. T (those written in Pascal whose implementation varies) 234. 641. T (widely from vendor to vendor\051) 234. 628. T (\245) 221. 610. T (Databases) 234. 610. T (\245) 221. 592. T (Windowing systems \050CASE applications on Sun ) 234. 592. T (workstations typically run on SunWindows using ) 234. 579. T (SunView, although some run on X and NeWS.) 234. 566. T 2 F (9.11) 72. 538. T (Artificial Intelligence) 216. 538. T 0 F (There are more than 75 Artificial Intelligence \050AI\051 vendors in ) 217. 519. T (Sun\325s Catalyst program. A few of them specialize in hardware, ) 217. 506. T (but the majority provides software.) 217. 493. T (Hardware AI vendors mainly provide special add-on boards for ) 217. 476. T (specific functions such as a Prolog processor. ) 217. 463. T (Software vendors provide languages for AI application develop-) 217. 446. T (ment, environments for AI application development, specialized ) 217. 433. T (image processing, diagnostic applications, and realtime reason-) 217. 420. T (ing. Most of them are written in Lisp, C, and Prolog; they have ) 217. 407. T (complex data structures, graphics-oriented user interface, and ) 217. 394. T (capabilities of handling a large amount of data. ) 217. 381. T (Of all the porting concerns AI vendors have, the windowing ) 217. 364. T (interface is the most important. Some packages make use of ) 217. 351. T (Sun Core; some provide an interface to SunView. X11 window- ) 217. 338. T (based software is also common. X11 has been endorsed by ) 217. 325. T (many major computer vendors. X11 is highly portable across ) 217. 312. T (computer platforms, is network-based, and has a device-inde-) 217. 299. T (pendent graphic programming interface. However, since X11 is ) 217. 286. T (public domain software, Sun does not support it. X11 window ) 217. 273. T (source for all Sun platforms \050including Sun 386) 217. 260. T 4 F (i\051) 445.98 260. T 0 F ( can be obtained ) 453.32 260. T (from MIT. For details of future window systems on Suns, ) 217. 247. T (please read the specifications of OPEN LOOK and the ) 217. 234. T (X11/NeWS merge.) 217. 221. T (For porting software from SunOS 3.X to 4.0, the following 4.0 ) 217. 204. T (changes may affect the design of a software and the port: the ) 217. 191. T (introduction of shared libraries \050shared code in memory, which ) 217. 178. T (causes less paging\051, the redesign of virtual memory \050e.g., use of ) 217. 165. T 3 F (\322) 217. 151. T 4 F (mmap) 223.22 151. T 3 F (\323) 252.54 151. T 0 F ( to map files to user address space\051, greater compati-) 258.76 151. T (bility with the System V Interface Definition \050SVID\051, and sup-) 217. 137. T (port of NETdisk. Other significant differences are: the introduc-) 217. 124. T (tion of the automounter and the loopback filesystem, and ) 217. 111. T (changes in utilities and the layout of the filesystem.) 217. 98. T (Software written in C and making use of the standard library ) 217. 81. T 73. 436. 181. 485. R 7 X V 4 F 0 X (Key issues: window ) 73. 476. T (system integration, ) 73. 462. T (Lisp) 73. 448. T FMENDPAGE %%Page: "12" 12 FMBEGINPAGE 0 F 0 X (Sun Microsystems Porting Guide) 72. 36. T (9-12) 518. 36. T (tends to be sensitive to differences in versions of SunOS and ) 217. 711. T (differences in hardware architectures. Changes in machine ) 217. 698. T (instruction set, processor, and memory management may ) 217. 685. T (have drastic effects. ) 217. 672. T (Two porting problems are mentioned below for reference.) 217. 655. T (One vendor\325s software is a language for AI application develop-) 217. 638. T (ment. The port involved changing the executable files dynami-) 217. 625. T (cally \050copying header information from the running executable, ) 217. 612. T (modifying the headers to account for the new data size, and ) 217. 599. T (then saving a running program in a form that can be executed ) 217. 586. T (again\051. On SunOS 4.0, the default use of shared libraries is ) 217. 573. T (incompatible with environment saves; therefore, the vendor had ) 217. 560. T (to specify the -Bstatic \050static in place of dynamic linking\051 in the ) 217. 547. T (compilation of the software.) 217. 534. T (Another vendor discovered that SunOS 3.2 was more forgiving ) 217. 517. T (about wrong information in the header of an a.out file than ) 217. 504. T (SunOS 4.0. In this case the given data segment size was too ) 217. 491. T (small. Under SunOS 3.2 the file was read and the program exe-) 217. 478. T (cuted anyway; under SunOS 4.0 the program ran successfully on ) 217. 465. T (a local disk, but generated a ) 217. 451. T 3 F (\322) 353.97 451. T 0 F (segmentation violation) 360.18 451. T 3 F (\323) 469.85 451. T 0 F ( error ) 476.07 451. T (message when read remotely. ) 217. 437. T (Some packages require high-computing power and a large swap ) 217. 420. T (space to run. Minor adjustments like increasing swap space, ) 217. 407. T (or making a custom kernel \050increasing MAXUSER\051 can improve ) 217. 394. T (the environment under which the application runs. A vendor can ) 217. 381. T (take these steps to fine tune the port. ) 217. 368. T (To run Sun Common Lisp 3.0, you need at least 8 Mbytes of ) 217. 351. T (physical memory and 35 Mbytes of swap space. However, we ) 217. 338. T (recommend 12 Mbytes of physical memory and 60 Mbytes of ) 217. 325. T (swap space. The nature of your Lisp application may also ) 217. 312. T (cause you to need additional memory or swap space. Most ) 217. 299. T (Lisp applications tend to be big \0505 - 12 Mbytes\051; therefore, a ) 217. 286. T (141Mbytes disk is the minimum requirement to fit a kernel, ) 217. 273. T (swap space, and /usr space.) 217. 260. T 5 F (Note:) 217. 243. T 0 F ( Most AI vendors use the Emacs editor besides vi. ) 244.98 243. T (GNU Emacs is running under SunOS 4.0. ) 217. 230. T FMENDPAGE %%Page: "13" 13 FMBEGINPAGE 0 F 0 X (Sun Microsystems Porting Guide) 380.33 36. T (9-13) 72. 36. T FMENDPAGE %%Trailer %%Pages: 13 1 %%DocumentFonts: Times-Roman %%+ Times-Bold %%+ Times-Italic