---------------------------------------------------------------------------- The Florida SunFlash Sun Catalyst Porting Reference Guide SunFLASH Vol 25 #09 January 1991 ---------------------------------------------------------------------------- This article describes the contents of the above document. The Porting guide is available fron Sun sales offices. -johnj ---------------------------------------------------------------------------- Sun Catalyst Porting Reference Guide provides information for vendors and customers so they can make easier porting decisions. Preface: For this third release of the Sun Catalyst Porting Reference Guide, several updates, additions, and deletions have been made to present the most accurate picture and proting strategy for Sun systems. As before, this document will help vendors and customers plan their product porting strategies to Sun systems. It is not intended as a replacement or substitute for the existing manual set, but rather as a guide to find the information to make porting decisions. This document also does not replace consultation with the various technical support organizations within Sun Microsystems, which exist primarily to support this audience in porting of hardware and software. The Sun Catalyst Porting Reference Guide is organized into nine distinct chapters and four appendixes. Chapters 1 through 7 discuss the various technologies and products available for Sun systems in areas such as programming languages, networking, and graphics. Migration between SunOS releases are also discussed. These chapters are intended to guide the reader in understanding how the various products interrelate, and reference more detailed Sun documentation. Chapter 8 discusses porting strategies from other (personal) computers to Sun systems. Chapter 9 is dedicated to the discussion of internationalization. Each chapter builds on previous chapters and serves as a reference for experienced users. While reading through these chapters, readers are advised to consult Appendix C, the sample code of working examples. Readers will also benefit from the complete Sun Microsystems documentation ordering list in Appendix D. For further details regarding the individual topics presented in this guide, refer to the appropriate manual in your docubox or inquire at your local sales office. In addition to the tools and products presented in this guide, the Catalyst Third-Party Program is an integral piece of Sun's overall product story. Third-party software and hardware vendors have produced a plethora of add-on products integrated into the Sun environment. Catalyst products supplement Sun's own products in a variety of areas including communicatin, office automation, graphics software engineering, and artificial intelligence. The Catalyst Catalog is a reference publication of applications compatible with the Sun family of products. The catalog provides product descriptions, environment criteria, and information about where and how to obtain these products. Users deal directly with third-party vendors to purchase products. The Sun Catalyst Porting Refernce Guide will prove useful for customers using both Sun products and those available through Catalyst vendors. Contents: Chapter 1 Sun Computer Architecture 1.1 CPU/MMU/FPP Overview 1.1.1 SPARC (Scalable Processor ARChitecture) 1.1.2 Motorola 680XO 1.1.3 Intel 80X86 1.1.4 Floating-Point Accelerators 1.2 Memory Cache 1.3 Board-Level Products 1.4 Peripherals 1.5 Byte Ordering in a Hetergeneous Environment 1.6 Bus Architectures 1.6.1 VMEbus 1.6.2 VME-to-Multibus Adapter 1.6.3 AT Bus 1.6.4 SBus 1.6.5 SCSI 1.7 Future Directions Chapter 2 Sun Operating System (SunOS) 2.1 Introduction 2.2 SunOS Overview 2.2.1 Process Management 2.2.2 Virtual Memory (VM) System 2.2.3 Filesystem 2.2.4 I/O Subsystem 2.2.5 Security 2.2.6 Internationalization 2.2.7 Unbundled Features 2.3 SunOS Releases 2.3.1 Release Names 2.3.2 Release Level 2.3.3 Platform-Specific Realization 2.4 Standards 2.4.1 Interfces 2.4.2 Data Encryption 2.4.3 Information Interchange 2.5 SunOs Environments 2.6 Porting Issues 2.6.1 Application and Kernel Architectures 2.6.2 Compatibility of Applications between SunOS 3.X and SunOs 4.0 2.6.3 Compatibility of Applications between SunOS 4.0 and SunOS 4.1 2.6.4 Compatibility of Device Drivers between SunOS 3.X and SunOs 4.0 2.6.5 Compatibility of Device Drivers between SunOs 4.0 and SunOS 4.1 2.6.6 Unsupported Features of SunOs 4.X 2.7 Future SunOs Releases 2.7.1 System V Release 4 2.7.2 SunOs/SVR4 Chapter 3 Networking 3.1 Distributed Access 3.1.1 Network Services 3.1.2 Distributd Applications Development 3.1.3 Sockets and STREAMS 3.2 Network Management 3.2.1 SunNet Manager 3.2.2 SunNet License 3.3 Connectivity 3.3.1 IBM Connectivity 3.3.2 DEC Connectivity 3.3.3 Personal Computer Connectivity 3.4 Standards 3.4.1 Wide-Area Internetworking 3.5 Future Directions Chapter 4 Window Systems 4.1 Window System Architecture Primer 4.1.1 General Window System Architecture 4.1.2 OpenWindows Architecture 4.1.3 SunView/SunWindows Architecture 4.2 OpenWindows Enviornment 4.2.1 OPENLOOK Graphical User Interface 4.2.2 OpenWindows DeskSet 4.2.3 OpenWindows Developer's Guide 4.2.4 XView Toolkit 4.2.5 The OPENLOOK Intrinsics Toolkit 4.2.6 X11 4.2.7 NeWS 4.2.8 The X11/NeWS Server 4.2.9 OpenFonts Technology 4.3 SunView/SunWindows Environment 4.3.1 SunView User Interface 4.3.2 SunView Toolkit 4.3.3 Sunwindows 4.4 Product Transition 4.4.1 Binary Compatibility 4.4.2 SunView to XView Migration Chapter 5 Programming Languages 5.1 Sun C 5.2 Sun C++ 5.3 Sun FORTRAN 5.4 Sun Pascal 5.5 Sun Modula-2 5.6 Assembly Languages 5.7 Shell Programming 5.8 Cross Compilers 5.9 Calling across Languages 5.10 Shared Libraries 5.11 Sun Common Lisp 5.11.1 Symbolic Programming Enviornment (SPE) 5.12 Ada 5.12.1 Ada Programming Support Environment (APSE) 5.13 Future Directions Chapter 6 Graphics on Sun Systems 6.1 Overivew 6.2 Choosing the Right Graphics 6.2.1 Porting Issues 6.2.2 2-D vs. 3-D Graphics 6.2.3 Displaying Graphics in Windows 6.2.4 Display List vs. Immediate-Mode Graphics 6.2.5 Graphics Viewing vs. Graphics Modeling Systems 6.2.6 Visualization and Image Display 6.2.7 Graphics Software Interface Availability 6.3 Graphics Hardware Configurations 6.3.1 GX Series 6.3.2 CXP Series 6.3.3 GXP Series 6.3.4 TAAC-a 6.3.5 TC Series 6.3.6 GXi 6.4 Grahpics Software Interfaces 6.4.1 SGL 6.4.2 SunVision 6.4.3 SunPHIGS 6.4.4 SunGKS 6.4.5 Xlib 6.4.6 PostScript Language 6.4.7 TAAC-1 6.4.8 TAAC-1 Porting: Some Technical Insights 6.4.9 SunCGI and SunCore 6.4.10 XView Pixwin 6.4.11 Pixrect/Pixwin 6.4.12 Graphics Processor Software Interface (GPSI) 6.5 Future Directions Chapter 7 Software Development and Productivity Tools 7.1 Programming Environment Support Tools 7.1.1 SunOS Utilities and Text Editors 7.1.2 Revision Control 7.1.3 The make Utility 7.1.4 Source-Code Control withing NFS 7.2 Debugging Tools 7.2.1 dbx and adb 7.2.2 Other UNIX Utilities 7.2.3 SourceBrowser 7.3 Performance Analysis Utilities 7.3.1 Evaluating System Performance 7.4 Network Software Environment (NSE) 7.4.1 What is the NSE 7.4.2 Using NSE 7.4.3 User Interface 7.5 SunTrac Project Management System 7.6 Desktop Document Applications 7.6.1 UNIX Utilities 7.6.2 Printing Tools Chapter 8 Porting from Personal Computers 8.1 Benefits of Porting from a Personal Computer 8.2 Portability Issues 8.2.1 Hardware Independence 8.2.2 Multitasking vs. Single-Tasking 8.2.3 Memory Management 8.3 Software Interface Differences 8.3.1 File I/O Facilities 8.3.2 Memory Management Facilities 8.3.3 Imaging Facilities 8.4 Window System and User Interface Toolkits 8.4.1 General Architectural Differences 8.4.2 Event Handling 8.4.3 Window system and User Interface Futures 8.5 DOS Development Toosl on Sun Systems 8.5.1 DOS Development Features on the Sun386i Workstation 8.5.2 SunIPC, Hardware Assisted DOS Emulation 8.5.3 DOSWindows: XT/AT Class DOS Software Emulation Chapter 9 Internationalization 9.1 The International Strategy 9.2 International Porting Issues 9.2.1 Internationalization vs. Localization 9.2.2 Characters and Coded Character Sets 9.2.3 Coded Character Set Formats 9.2.4 Date and Time Formats 9.2.5 Decimals and Numbers and Currency 9.2.6 Messaging 9.3 Sun's International Platform: The Basics 9.3.1 Native Keyboards 9.3.2 Alphabets - ISO Latin 1 9.3.3 The User Environment 9.3.4 Date and Time Formats 9.3.5 Message Catalogs - X/OPEN 9.3.6 The Localization-Database File Hierarchy 9.3.7 Asian Language Environments 9.4 Levels of Internationalization 9.4.1 Level I - ISO Latin 1 Support 9.4.2 Level II - Formats by Locale 9.4.3 Level III - Messaging by Locale 9.4.4 Level IV - Asian Language Support 9.5 Interantionalization Standards 9.6 References ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ For information send mail to info-sunflash@sunvice.East.Sun.COM. Subscription requests should be sent to sunflash-request@sunvice.East.Sun.COM. Archives are on solar.nova.edu and paris.cs.miami.edu. All prices, availability, and other statements relating to Sun or third party products are valid in the U.S. only. Please contact your local Sales Representative for details of pricing and product availability in your region. Descriptions of, or references to products or publications within SunFlash does not imply an endorsement of that product or publication by Sun Microsystems. John McLaughlin, SunFlash editor, flash@sunvice.East.Sun.COM. (305) 776-7770.