Mach386 Product Description mt Xinu, Inc. 2560 Ninth Street Berkeley, CA 94710 6 August 1992 OVERVIEW mt Xinu's Mach386 is a *binary* operating system for i386 machines which offers a complete 4.3 BSD interface running in a 2.5 Mach environment. (Mach386 also runs on i486 and i386SX machines.) mt Xinu ships the operating system in five bundled modules, and also offers a graphical user interface based on the Motif(TM) interface from the Open Software Foundation: o The Base Package o Networking o X Window Package o On-line Documentation. o Mach 3.0 Add-on + DUI o MUI (optional) Details of each component follow. Note: mt Xinu also produces a similar Mach *source* distribution called 2.6 MSD which requires an AT&T source license. Mach386, because it is a binary version, does not require the expensive AT&T source license. THE BASE PACKAGE o Mach 2.5 kernel (with BSD Tahoe Enhancements), utilities, and libraries - Threads (light-weight processes) - Ports (simplex communication channels) for IPC - Virtual memory management - RPC-type task interfaces - Disk label support The Mach operating base, developed at Carnegie Mellon University (CMU) beginning in 1983, serves as a foundation for UNIX operations in addition to offering the new features above. In fact, simplifying the increasing complexity of the UNIX kernel was among the initial goals of the research group at CMU. The Open Software Foundation (OSF) adopted Mach 2.5 as the base of OSF/1 because of its advanced kernel architecture. This adoption has wide implications for the prevalence of Mach in the future of UNIX. o 4.3 BSD interface mt Xinu thinks of Mach386 as ``Berkeley Standard Distribution (BSD) UNIX'' with extensions. BSD is the variant of UNIX which was developed at the University of California, Berkeley, and which over the years has become the *de facto* version of UNIX taught at universities and used at most major research centers. Mach386 contains all of the 4.3 BSD utilities, which, unless you specifically invoke new features, will behave exactly as they do in the 4.3 BSD Tahoe release. The distribution also provides backwards source compatibility - any programs developed for 4.3 BSD should compile and run on Mach386 without modifications. o GNU utilities (GCC, GDB, GAS, EMACS, BISON) - Gnu Emacs, version 18.55 Gnu Emacs, as described in the Free Software Foundation's on-line documentation is ``the GNU incarnation of the advanced, self-documenting, customizable, extensible, real-time display editor Emacs.'' - GDB, version 3.5 The GNU debugger (GDB) allows programmers to examine what is going on in a program while they are executing that program, to make changes in the program when they discover bugs, and to test those changes without having to recompile the entire program. Version 3.5 includes support for the Mach concept of ``threads.'' - GCC, version 1.37.1 The GNU C compiler uses a command syntax much like the UNIX C compiler. The gcc program accepts options and file names as operands and normally does preprocessing, compilation, assembly and linking. Command options allow you to stop this process at intermediate stages. - Bison, version 1.11 From the ``Introduction'' to Gnu's on-line Bison documentation: ``Bison is a general-purpose parser generator that converts a grammar description for an LALR(1) context-free grammar into a C program to parse that grammar. Once you are proficient with Bison, you may use it to develop a wide range of language parsers, from those used in simple desk calculators to complex programming languages. ``Bison is upward compatible with Yacc: all properly-written Yacc grammars ought to work with Bison with no change. Anyone familiar with Yacc should be able to use Bison with little trouble.'' - GAS, version 1.36 GAS, the Gnu assembler, is similar to the UNIX assembler as(1). This version supports i386, IBM RT, MacII, Sun3, and Vax. o On-line reference manuals (man pages) for Mach and 4.3 BSD The Base Package contains Mach-specific manual pages which document Mach features noted above and a full set of 4.3 BSD reference documentation. The optional On-line Documents - described towards the end of this overview of Mach386 - contains extensive supplementary information about the 4.3 environment. Besides Mach, the Base Package also contains other enhancements to 4.3 BSD from Carnegie Mellon. These include: o Support for periodic scripts at(1). o sh(1) & csh(1) enhancements - setpath}(1) - a high-level interface for modifying sh(1) and csh(1) search paths - editmode}(1) - csh(1) command line editing o Enhancements to make(1) which support separate object trees and shadow source trees. o The ability to reserve exclusive use of devices (assign(1)). o A software upgrade tool (sup(1)). o A tool for looking through search paths (wh(1)). o The CMU CS user library libcs(3). o The CMU CS system library libsys(3)). o An automated method for maintaining login terminal information in /etc/ttys (modttys(8)). o A tool which oversees all of the servers on a system without constant intervention from a system manager or operator (nanny(8)). The on-line reference manual provided with the Base System fully documents each of these features. MACH 3.0 CMU, OSF, and other interested parties have continued development of Mach. Most recent work centers on the ``pure'' Mach kernel, Mach 3.0. mt Xinu's Mach 3.0 add-on provides complete source and a self-contained development environment to provide Mach386 users early access to the microkernel technology. The Mach 3. 0 add-on includes: o Complete Mach 3.0 microkernel source code A complete build environment which allows users who do not have a detailed knowledge of CMU system development tools to modify and rebuild the Mach 3.0 kernel o A binary version of a BSD server which makes it possible to run the Mach 3.0 kernel and the BSD server in place of the standard /vmunix kernel provided with Mach386. o Source code for many specialized utilities (such as ps(1)) which must be modified to operate correctly with Mach 3.0. o A complete example of a rudimentary server (POE) Companies such as Intel and the Open Software Foundation will be basing future offerings on Mach 3.0 technology. However, industrial analysts believe that "commercially viable" versions of the newer Mach 3.0 kernel will not be in the market from these companies until 1993 at the earliest. While Mach 2.5 combines the Mach kernel and UNIX functions in one large kernel which runs in privileged mode, the Mach 3.0 kernel separates the two: it provides a ``pure'' Mach kernel which only executes Mach system calls and executes all UNIX-specific functions in nonprivileged mode as user processes. Although the ``pure'' 3.0 kernel is available from CMU in source form and does not require an expensive AT&T UNIX source license, many users will not be able to do much with it since it provides only the pure Mach calls; the UNIX server source available from CMU still requires an AT&T source license. DUI -- DOS USER INTERFACE The Mach 3.0 microkernel makes it possible to run DOS and a UNIX operating system concurrently. mt Xinu includes DUI, a DOS user interface, with the Mach 3.0 module so that users who want to run DOS and Mach386 on their i386/i486 machines may do so. DUI makes it possible to use popular DOS programs which run in ``real'' (20 bit address) mode, for example: - Windows 3.0 - MS Word V5.0 - Harvard Graphics 3.0 - Many games such as SimCity ... The DOS server is able to store and retrieve files in the BSD file system and is also able to access standard DOS disks via the floppy drive or as a partition on the hard disk. Please note that the server does not currently support applications which run in ``protected'' mode (used by many Windows programs). NETWORKING PACKAGE o NFS, Version 3.2 NFS allows users to mount directories across a network and to treat remote files as if they were local. This distribution contains a basic version of NFS which does not include the network information service (formerly known as ``Yellow Pages''). The Networking Package contains NFS-specific manual pages. The optional On-line Documents package contains six chapters about the Network File System in the second volume of the System Manager's Manual. The chapters give information about administration, management, and use, as well as information about writing network applications. o TCP/IP network support (including the BSD Tahoe enhancements) The Networking Package provides on-line manual pages for NFS and the Tahoe enhancements. MUI -- USER INTERFACE BASED ON OSF/Motif GUI -Optional Add-on MUI, mt Xinu's user interface based on the Motif graphical user interface from OSF, provides the familiar Motif window manager as well as the standard components of the OSF/Motif technology: the extensible user-interface toolkit, the user-applications programming interface, the user-interface language, and complete on-line documentation. MUI is compatible with the standard Mach386 2.5 Mach kernel as well as the Mach386 3.0 Mach microkernel. X WINDOW PACKAGE X Version 11, Release 5 Mach386 contains X11R5 built for the Mach kernel. The package includes the X programmer's environment and comes with an extensive reference set of manual pages for X Version 11, Release 5. To successfully install and run the X Window Package, users must have a VGA or VGA-compatible graphics board and monitor. The module includes color for VGA boards which support 8-bit color mode. ON-LINE DOCUMENTATION The optional On-line Documentation package provides extensive supplementary information to that given by the reference manual pages which come with the Base System and the Networking Package. (When printed, this supplementary group of documents (which also accompanies mt Xinu's source 2.6 MSD distribution) comprises eight volumes of documentation. The documents provide background and tutorial information for programmers about many of the Mach and 4.3 BSD features and details about the 4.3 BSD user environment. The package provides formatted versions of each document (primarily in troff, but with Mach-specific documents in LaTeX) which users may print for themselves. A complete list follows. o Miscellaneous Documents of Historical Interest - Performance Effects of Disk Subsystem Choices for VAX Systems Running 4.2BSD UNIX - gprof: a Call Graph Execution Profiler - Measuring and Improving the Performance of Berkeley UNIX o Programmer's Supplementary Documents 1 - The C Programming Language - Reference Manual - Berkeley Software Architecture Manual (4.3BSD Edition) - An Introductory 4.3BSD Interprocess Communication Tutorial - An Advanced 4.3BSD Interprocess Communication Tutorial - Lint, A C Program Checker - Make - A Program for Maintaining Computer Programs - An Introduction to the Revision Control System - Yacc: Yet Another Compiler-Compiler - Lex - A Lexical Analyzer Generator - The M4 Macro Processor - Screen Updating and Cursor Movement Optimization: A Library Package - An Augmented Version of Make - gprof: a Call Graph Execution Profiler o Programmer's Supplementary Documents 2 - The UNIX Time-Sharing System - UNIX 32/V - Summary - UNIX Programming - Second Edition - UNIX Implementation - The UNIX I/O System o Programmer's Supplementary Documents 3 - Mach - Mach Kernel Interface Manual Describes the interface to the Mach kernel in detail. - C Threads Describes the C Threads package which allows parallel programming in C under Mach. - A Programmer's Guide to the Mach System Calls - A Programmer's Guide to the Mach User Environment Demonstrates use of C Threads library primitives in writing a multi-threaded program and the use of the Mach Interface Generator to generate remote procedure calls for interprocess communication. - MIG - The Mach Interface Generator Describes the language which generates C and C++ remote procedure call interfaces for interprocess communication between Mach tasks. - Mach Environment Manager Describes the Mach server which facilitates the sharing of named variables between tasks. Discusses types, primitives, and integration with the UNIX environment. - Network Server Design Describes the design of the network server and the interfaces to the modules used to implement it. o System Manager's Manual 1 - Building Kernels - Fsck - The UNIX File System Check Program - 4.3BSD Line Printer Spooler Manual - Sendmail Installation and Operation Guide - Timed Installation and Operation Guide - Installation and Operation of UUCP - 4.3BSD Edition - Name Server Operations Guide for Bind o System Manager's Manual 2 - Bug Fixes and Changes in 4.3BSD - Changes to the Kernel in 4.3BSD - A Fast File System for UNIX - Networking Implementation Notes - 4.3BSD Edition - Sendmail - An Internetwork Mail Router - On the Security of UNIX - A Tour Through the Portable C Compiler - Password Security - A Case History - Writing NROFF Terminal Descriptions - A Dial-Up Network of UNIX Systems - The Berkeley UNIX Time Synchronization Protocol - Network Services Guide - NFS System Administration - Remote Procedure Call Programming Guide - External Data Representation Protocol Specification - Remote Procedure Call Protocol Specification - Network File System Protocol Specification o User's Supplementary Documents - UNIX for Beginners - Second Edition - Learn - Computer-Aided Instruction on UNIX - An Introduction to the UNIX Shell - An Introduction to the C shell - DC - An Interactive Desk Calculator - BC - An Arbitrary Precision Desk-Calculator Language - Mail Reference Manual - The Rand MH Message Handling System: User's Manual - Notesfile Reference Manual - A Tutorial Introduction to the UNIX Text Editor - Advanced Editing on UNIX - Edit: A Tutorial - An Introduction to Display Editing with Vi - Ex Reference Manual - SED - A Non-interactive Text Editor - AWK - A Pattern Scanning and Processing Language - Typing Documents on the UNIX System: Using the -ms Macros with Troff and Nroff - A Revised Version of -ms - Writing Papers with NROFF using -me - -me Reference Manual - NROFF/TROFF User's Manual - A TROFF Tutorial - A System for Typesetting Mathematics - Typesetting Mathematics - User's Guide - Tbl - A Program to Format Tables - Refer - A Bibliography System - Some Applications of Inverted Indexes on the UNIX System - BIB - A Program for Formatting Bibliographies - Writing Tools - The STYLE and DICTION Programs HARDWARE REQUIREMENTS o Supported Hardware Mach386 runs on common AT-bus IBM PCs and compatibles such as Compaq, Intel, Olivetti, Toshiba, and Hewlett-Packard models, as well as a number of other AT clones. o Memory and Hardware Requirements For the complete system, 100 megabytes of disk space and 8 megabytes of memory; for the base system, a minimum of 40 megabytes of disk space and 4 megabytes of memory. o Supported Devices - EGA, VGA, CGA and other monochrome displays - Color X Windows supported on VGA boards via extended 8-bit color mode - Toshiba and Toshiba-compatible floppy drives and controllers - WD 1003/1007 compatible disk controllers (ESDI, ST506, or IDE hard disk drives and controllers) - Adaptec SCSI controllers, models AHA-1540/1542 (B) with various disks and tape drives (tested with Archive VIPER-150 and TUV DAT drives) - Wangtek 1/4" standard 3M streamer - i8250/16540/16550-based serial controllers (DOS COM lines) - iMX-LAN/586 Ethernet board or Olivetti PC 586 - 3COM 3C501, 3C502 & 3C503 (Etherlink I ¥& II) Ethernet controllers - Western Digital 80x3 Ethernet controller (includes Elite 16; SM driver available via Auto-Support) - Serial mice (Mouse Systems, SummaMouse, MicroSoft and Logitek) Please note that we do not support the microchannel bus, EISA extended modes, IBM PS 2, some NCR machines. SUPPORT Auto-Support o Dail-in access to bug lists and the bulletin board information center o Automatic electronic update service Through this automated self-help mechanism, you have unlimited dial-in access to bug announcements and posted fixes. The electronic bulletin board allows customers to communicate and exchange information between themselves and with the mt Xinu technical staff. Auto-Support also allows you access to updates and changes as they are released. ----------- Mach386 is a trademark of mt Xinu. IBM PC Personal Computer and IBM PC are trademarks of International Business Machines Corporation. NFS is a trademark of Sun Microsystems, Inc. OSF and OSF/Motif are trademarks of the Open Software Foundation. UNIX is a trademark of AT&T Bell Laboratories. All other brands and product names are trademarks of their respective owners.