THE PUBLICATION FOR THE UNIX™ COMMUNITY May 1985 $3.95 DISTRIBUTED RESOURCE SHARING MODULAR. INTEGRATED NOW. Handle™ presents a modular software series for office automation. Available now for several UNIX™ and XENIX™ based systems, the Handle family of office automation products may be purchased as individual modules, in combinations, or as a fully integrated system. The Handle product series is a powerful set of software tools designed for today's multi-user office environment. Handle integrated soft¬ ware can easily share data between modules in the series as well as with outside applications and databases. Handle’s open architecture is built on a database foundation and is available to outside developers. Handle Office Automation Software Series product modules include: • Handle Writer/Spell™. Word processing with automatic spelling correction and verification. • Handle Calc™. Virtual spreadsheet with up to 32,000 rows and columns. • Handle Graphics™. Advanced business graphics. • Handle List™. List processing, management, and forms. To be announced? AT&T 3B2/300 & 3B5 CONVERGENT TECHNOLOGIES MINIFRAME DURANGO POPPY II J HnnDLE TECHnOLOGIES, IDC. Circle No. 300 on Inquiry Card 850 NORTH LAKE BOULEVARD / PO BOX 1913 / TAHOE CITY, CALIFORNIA 95730 / 916-581-5227 TM- HANDLE HANDLE WRITER/SPELL HANDLE CALC. HANDLE GRAPH & HANDLE LIST ARE TRADEMARKS OF HANDLE TECHNOLOGIES. INC. UNIX IS A TRADEMARK OF AT&T BELL LABORATORIES. XENIX IS A TRADEMARK OF MICROSOFT CORPORATION. MINIFRAME IS A TRADEMARK OF CONVERGENT TECHNOLOGIES. POPPY IS A TRADEMARK OF DURANGO. CYB...Single Source Solution for Systems Integration UNITE is a trademark ot CYB SYSTEMS. Inc. UNIX is a trademark of AT&T Bell Laboratories. Ethernet is a trademark of Xerox Corporation. DEC and VAX are trademarks of Digital Equipment Corporation. IBM is a registered trademark of International Business Machines Corporation. PHILON is a trademark of Philon, Inc. RM/COBOL is a trademark of Ryan McFarland Corporation. Circle No. 299 on Inquiry Card When we designed the UNITE product line, we did it with the systems integrator in mind. For example, we knew if we packed the power of a minicomputer into a chassis the size of an IBM PC, gave it PC to UNIX to MAINFRAME communication and the ability to run COBOL programs un¬ der UNIX super fast, we’d really have something. Well, we did it. It's called the UNITE 8i. We think you'll find that it’s the optimal, multi-user, multi¬ functional business computer for systems integration on the market. True, the UNITE 8i is small and powerful. But like all CYB computers, it’s also versatile, reliable and priced just right. The UNITE 8i utilizes a 10MHz MC68010 virtual processor to access up to 12 megabytes of RAM, including up to 4 megabytes of no-wait state memory. A second MC68010 (12.5 MHz) is a high-performance VPM I/O accelerator, which greatly increases the speed of the computer by off¬ loading the majority of the I/O functions from the main CPU. The UNITE 8i’s third source of power comes from its full implementation of UNIX System V.2 with demand paging, virtual memory, Berkeley 4.2 networking and Ethernet support. If you've designed your vertical solution to run on a multi-user system in a business environment, you've probably been faced over and over again with an installed base of PCs that your customer wishes to retain. UNITE solves your problem with the friendliest DOS to UNIX interface available today. CYB SYSTEMS, INC 6448 HIGHWAY 290E AUSTIN, TEXAS 78723 (512) 458-3224 Our UNITE networking software allows PCs to fully ac¬ cess your vertical package and still run DOS application software. Plus, it provides PC to IBM mainframe and DEC VAX communications. If there’s one thing systems integrators need, it's versa¬ tility. The UNITE 8i is only one of several supermicros from CYB. Each one can be configured with a variety of mem¬ ory, disk, tape, language (C, BASIC, COBOL, FORTRAN- 77, Pascal, LISP) and communications options. And if you have COBOL programs requiring fast execu¬ tion we offer two alternatives. Run them under UNIX with PHILON’s FAST/COBOL. Or choose the RM/COS operat¬ ing system option. Either way, you can’t lose. CYB computers are rugged. We enclose only the high¬ est quality materials and components in our sturdy, heavy- gauge aluminum cabinets. After successful completion of rigorous pre-testing and burn-in, we back every system with a full warranty. Please call or write for more information and ask about our free technical training for sys- How we improved Structured Query Language. Actually, we didn’t change a thing. We just combined it with the best relational database management system. Introducing INFORMIX-SQL. It runs on either UNIX™ or MS™-DOS operating systems. And now with IBM’s SQL as part of the program, you can ask more of your database. Using the emerging industry- standard query language. To make your job easier, INFORMIX-SQL comes with the most complete set of application building tools. Including a full report writer and screen generator. Plus a family of companion products that all work together. Like our embedded SQLs for C and COBOL. So you can easily link your pro¬ grams with ours. File-it!™ our easy-to-use INFORMIX is a registered trademark and RDS, C-ISAM and File-it! are trademarks of Relational Database Systems, Inc. IBM, UNIX and MS are trademarks of International Business Machines Corporation, AT&T Bell Laboratories and Microsoft, respectively. © 1985, Relational Database Systems, Inc. Circle IMo. 268 on Inquiry Card file manager. And C-ISAM^ the de facto standard ISAM for UNIX. It’s built into all our products, but you can buy it separately. And when you choose RDS, you’ll be in the company of some other good com¬ panies. Computer manufacturers including AT&T, Northern Telecom, Altos and over 60 others. And major corporations like Anheuser Busch, First National Bank of Chicago and Pacific Bell. Which makes sense. After all, only RDS offers a family of products that work so well together. As well as with so many industry standards. ' So call us for a demo, a manual and a copy of our Independent Software Vendor Catalog. Software vendors be sure to ask about our new “Hooks” software integration program. Our number: 415/424-1300. Or write RDS, 2471 East Bayshore Road, Palo Alto, CA 94303. And well show you how we took a good idea and made it better. RELATIONAL DATABASE SYSTEMS, INC ■UNIX REVIEW THE PUBLICATION FOR THE UNIX COMMUNITY Volume 3, Number 5 May 1985 DEPARTMENTS: FEATURES: 6 Viewpoint 8 The Monthly Report By Roger Strukhoff 14 The Human Factor By Richard Morin 43 C Advisor By Bill Tuthill 60 Rules of the Game By Glenn Groenewold 20 WHYS AND WHEREFORES By Paul Leach An account detailing the reasons behind the advent of distributed processing. 64 Industry Insider By Mark G. Sobell 72 Devil's Advocate By Stan Kelly-Bootle 76 Problem Solver By Bob Toxen 80 The UNIX Glossary By Steve Rosenthal 84 Recent Releases 96 Calendar 104 Advertiser's Index 28 DISTRIBUTED FILE SYSTEM STRATEGIES By Gary Sager and Bob Lyon A discussion of design tradeoffs in the architecture of a distributed file system. Cover art by Stephen G. Luker DISTRIBUTED RESOURCE SHARING 34 UNTAPPED POTENTIAL By Steve Holmgren A communications expert looks at XNS Courier and discusses the course remote procedure calls might MAKING THE IBM CONNECTION By David L. Buck Guidelines for orchestrating UNIX systems and mainframe databases. UNIX REVIEW (ISSN-0742-3136) is published monthly by REVIEW Publications Co. It is a publication dedicated exclusively to the needs of the UNIX community Sec¬ ond class postage paid at Renton, WA 98055 and at additional mailing offices. POSTMASTER. Please send Form 3579 to UNIX REVIEW, 500 Howard Street San Fran¬ cisco, CA 94105. Entire contents copyright 1985. All rights reserved and nothing may be reproduced in whole or in part without prior written permission from UNIX RE VIE W. UNIX REVIEW is sent free of charge to qualified individuals in the U.S. The publisher reserves the right to determine qualification. For those not qualified, there is an annual (12 issues) subscription charge of $28 in the U.S., $35 in Canada and $48 in all other countries (surface mail). Correspondence regardinq editorial (press releases, product announcements) and circulation (subscriptions, fulfillment, change of address) should be sent to 500 Howard Street, San Francisco CA 94105 Telephone 415/397-188! Correspondence regarding dealer sales should be sent to 901 South 3rd Street, Renton, WA 98055. Telephone 206/271-9605 Letters to UNIX REVIEW or its editors become the property of the magazine and are assumed intended for publication and may so be used. They should include the writer's full name, address and home telephone number. Letters may be edited for the purpose of clarity or space. Opinions expressed by the authors are not necessarily those of UNIX REVIEW. UNIX is a trademark of Bell Laboratories, Inc. UNIX REVIEW is not affiliated with Bell Laboratories. UNIX REVIEW MAY 1985 5 PUBLISHER: Pamela J. McKee ASSOCIATE PUBLISHERS: Ken Roberts, Scott Robin EDITORIAL DIRECTOR: Stephen J. Schneiderman EDITOR: Mark Compton ASSOCIATE EDITOR: Roger Strukhoff EDITORIAL ADVISOR: Dr Stephen R Bourne. Consulting Software Engineer. Digital Equipment Corporation. EDITORIAL REVIEW BOARD: Dr Greg Chesson. Chief Scientist. Silicon Graphics, Inc. Larry Crume, Director. AT&T UNIX Systems Far East Ted Dolotta, Senior Vice President of Technology, Interactive Systems Corporation Gene Dronek, Director of Software. Aim Technology Ian Johnstone, Project Manager, Operating Software. Sequent Computer Systems Bob Marsh. Chairman. Plexus Computers John Mashey. Manager. Operating Systems, MIPS Computer Systems Robert Mitze, Department Head, UNIX Computing System Development, AT&T Bell Labs Deborah Scherrer, Computer Scientist, Mt. Xinu Jeff Schriebman. President, UniSoft Systems Rob Warnock. Consultant Otis Wilson, Manager. Software Sales and Marketing, AT&T Technology Systems HARDWARE REVIEW BOARD: Gene Dronek. Director of Software, Aim Technology Doug Merritt. Technical Staff. International Technical Seminars, Inc. Richard Morin, Consultant, Canta Forda Computer Laboratory Mark G Sobell. Consultant SOFTWARE REVIEW BOARD: Ken Arnold, Consultant. UC Berkeley Jordan Mattson, Programmer. UC Santa Cruz Dr Kirk McKusick, Research Computer Scientist. UC Berkeley Doug Merritt. Technical Staff, International Technical Seminars, Inc. Mark G. Sobell. Consultant CONTRIBUTING EDITOR: Ned Peirce. Systems Analyst. Bell Laboratories PRODUCTION DIRECTOR: Nancy Jorgensen PRODUCTION STAFF: Cynthia Grant, Tamara V. Heimarck, Florence O'Brien, Barbara Perry, Denise Wertzler BUSINESS MANAGER: Ron King CIRCULATION DIRECTOR: Wini D. Ragus CIRCULATION MANAGER: Jerry M. Okabe MARKETING MANAGER: Donald A Pazour OFFICE MANAGER: Tracey J. McKee TRAFFIC: James A. O'Brien, Manager Tom Burrill, Dan McKee. Corey Nelson NATIONAL SALES OFFICES: 500 Howard St San Francisco, CA 94105 (415) 397-1881 Regional Sales Manager. Colleen M. V. Rodgers Sales/Marketing Assistant. Anmarie Achacoso Regional Sales Manager. Katie A McGoldrick 370 Lexington Ave New York. NY 10017 (212) 683-9294 BPA membership applied for in March, 1985. VIEWPOINT The dawning of an era “Distributed resource sharing” is one of those golden phrases that journalists and marketing people love dearly. Like others that roll off the tongue easily, it’s not al¬ ways clear what people mean when they use it. But don't write off “distributed resource shar¬ ing” as just another content-free cliche: it actually describes a sig¬ nificant new direction in comput¬ ing. Not every user believes that the promised environment looks quite like distributed processing, but precious few are willing to go back to the timesharing solutions of days gone by. The reduced need for sharing under distributed schemes is the clincher. Sure, users still have to queue up to use printers, disk drives, and a whole parade of other peri¬ pherals, but everyone also can have his or her own CPU. This translates directly into greater au¬ tonomy and improved (or at least more regular) response times. Of course, in a perfect world where the sun shines every day and taxes are collected only on al¬ ternate leap years, users wouldn’t have to share anything. But, alas, financial and spatial constraints suggest that day will be some time in coming. Distributed resource sharing itself took awhile before making a big splash. Certainly, the concept is not particularly new—Data- point, for one, has been in the distributed processing game for almost a decade. But, new tech¬ nologies and a general drop in component pricing over recent years have served to bring the day of “a CPU in every office” closer to fruition. We’re still in the midst of the movement, however. There’s al¬ most as many distribution meth¬ odologies as there are companies offering “solutions”. The gamut ranges from networks of low-end PCs to systems of supermicro workstations. This issue of UNIX REVIEW takes stock of where we’re at and points to where we may be head¬ ing. Paul Leach, one of the design¬ ers of Apollo Computer’s DOMAIN system, opens up with an article discussing schemes for improving individual and group productivity through distributed processing. Subsequent articles by Steve Holmgren and regular columnist Bill Tuthill discuss the virtues of remote procedure calls. Holm¬ gren, who is President of Com¬ munication Machinery Corp. of Santa Barbara, CA, also lays out possible future RPC directions. The architectural issues be¬ hind distributed file systems are the concern of another piece joint¬ ly authored by Gary Sager and Bob Lyon, two of the key figures behind Sun Microsystem’s Net¬ work File System. Dave Buck wraps up with an article focusing on a crucial local resource often overlooked by peo¬ ple in the UNIX community—the mainframe database. Drawing on his experience as Chairman of D.L. Buck and Associates, a com¬ pany specializing in UNIX drivers for systems that need to interface with IBM machines. Buck dis¬ cusses the options for accessing large databases. All in all, the issue should give you something to connect with the next time associates drop ref¬ erences to distributed processing in conversation. They might not know what they're talking about, but you will. 6 UNIX REVIEW MAY 1985 IBM’s* l nixbased system of the future is the CIES system of today IBM knew that someday even small businesses would catch on to the fact that PCs just aren’t enough. Too little power. Too little memory. IBM’s solution: a UNIX-based multi-user sys¬ tem. Someday. It’s the same solution CIE Systems came up with over two years ago. And it’s a solution we’ve been perfecting ever since. The new CIES 680/100 and CIES 680/200 are not in the future. Not something you need now, but can’t get. They’re here. Today. They’re here with multi-user expandability of from one to 40 users, doing different jobs simultaneously. They’re here with up to 2 Mega¬ bytes of memory. They’re here with up to 300-plus Megabytes of hard disk, along with a floppy disk drive and a streamer tape drive for backup. They’re here with all the power. All the memory. All the customer support. All the ready-to-run applications a business needs, including a complete general accounting pro¬ gram, word processing, electronic spreadsheet, even a complete medical practice program for physicians. Not someday. Today. From CIE Sys¬ tems, the ever-growing giant in super¬ micros backed by C. Itoh & Company Ltd., the fifth largest corporation in the world with over $60 billion in annual sales. For more information on the system you need today, not someday, just call or write. CIE Systems, Inc., 2515 McCabe Way, Irvine, CA 92713-6579. (714) 660-1800. Call toll free 1-800-854-5959. In Califor¬ nia, phone 1-800-432-3687. See us at Comdex Booth # 1740 GWCC East Hall CIES SYSTEMS SALES OFFICES Southwest Northeast 2515 McCabe Way Executive Mews, M64, Irvine, CA 92713 1930 East Marlton Pike (714) 660-1800 Cherry Hill, NJ 08003 (609) 424-6925 North Central 1 Cross Roads of Commerce Suite 305 Rolling Meadows, IL 60008 (312) 392-1331 CIES 680 is a Trademark of CIE Systems, Inc. UNIX is a Trademark of Bell Laboratories ® IBM is a Registered Trademark of International Business Machines Corn. © 1984 CIE Systems, Inc. C.ITOH Computers South Central 17311 Dallas Parkway Suite 230 Dallas, TX 75248 (214) 248-8355 Southeast 4501 Circle 75 Parkway Suite 1190 A Atlanta, GA 30339 (404) 953-1876 Circle No. 267 on Inquiry Card New England Northwest 400 Amherst St. 2700 Augustine Dr. Space #41 Suite 238 Nashua, N H 03063 Santa Clara. CA 92504 (603) 881-7031 (408) 748-0452 England Beacon House 26/28 Worple Road Wimbledon, SW19.4EE 01-946-4960 THE MONTHLY REPORT AT&T pushes desktop UNIX by Roger Strukhoff Remember Lily Tomlin’s clas¬ sic character, Ernestine the tele¬ phone operator? Remember when she ran amok in the control room, knocking out service to Peoria while gloating, “We don’t care ...we don’t have to...we’re the phone company.’’? Well, AT&T certainly doesn’t have that luxury today. Since its 1984 divestiture, the company has been as subject to the cruelties of the marketplace as any other company. But a cer¬ tain arrogance apparently per¬ sists at Ma Bell, as was demon¬ strated by the company’s March announcement of the UNIX PC Model 7300. Jack Scanlon, AT&T vice presi¬ dent for computer and work sta¬ tion systems, touted Bell-devel¬ oped UNIX and belittled the commercial prospects of MS-DOS technology. Reminding one of Jer¬ ry Ford’s refusal to acknowledge that Poland had come under Sovi¬ et domination, Scanlon main¬ tained that MS-DOS is not the an¬ swer to business applications and will eventually die. “It’s obvious that UNIX provides the total office solution,” he said. “Harnessing UNIX on a desk (will) usher in a new era for PCs.” Scanlon went on to praise the multitasking ca¬ pabilities of UNIX, saying a com¬ puter running it can “match the way people actually think, work and act at the office.’’ AT&T’s efforts to “civilize” UNIX (using AT&T’s term) result¬ ed in the 7300’s Apple Macin¬ tosh-like interface. A mouse, icons, and superior bitmapped graphics may in fact be key to the 7300 becoming a real thorough¬ bred for the business user, but the initial lack of applications soft¬ ware could keep this horse in the gate for awhile. AT&T announced a total of 28 programs in its start¬ up library. Of the 28, there are two word processors (Microsoft Word and the AT&T UNIX PC Word Pro¬ cessor), two spreadsheets (Multi¬ plan and Supercomp 20), one da¬ tabase (dBase III), three graphics programs, and AT&T’s electronic mail. Fully half of the programs are programming and develop¬ ment tools. Another problematic area in¬ volves the decision to equip the standard 7300 with only a 10 MB hard disk. A 20/MB option is also offered, but even that is small for a UNIX box. A 40-MB disk made by an outfit called Bell Technol¬ ogies (no relation to Ma Bell) offers a more reasonable alternative, but the disk adds more than $2500 to the cost of the machine. The 7300 gained notoriety un¬ der the “Safari” code name while under design at Convergent Tech¬ nologies of Santa Clara, CA. It runs unbundled UNIX System V, as does AT&T’s 3B2 supermicro, and is fired by a Motorola 68010 microprocessor running at a very brisk 10 MHz. The base system, priced at $5590, includes half a megabyte of RAM and a 10 MB hard disk. A more reasonable sys¬ tem, offering a full megabyte of RAM and a 20 MB hard disk, costs $6590. Half-megabyte RAM expansion cards cost $1195. All systems have three expansion slots. The 7300 will concurrently support three users. Operating system software comes in three flavors: the core system with a telephone manager, UUCP, word processing, and other basic func¬ tions; a development tools pack¬ age, with sort, merge, and ISAM; and a utilities package, including a C language compiler, 68010 As¬ sembler, and SCCS. The new machine’s 12-inch green CRT monitor swivels and tilts, and has bitmapped, 720 x 348-pixel resolution. The bitmap- 8 UNIX REVIEW MAY 1985 cA (othing works together ,” they cried out. "It will now” said Alis. With Alis™ everything works together. Text, spreadsheets, drawings, business graphics and database information work together in a single, always editable document. Alis combines the advantages of integrated PC applications with the information-sharing benefits of communications-based OA systems. It offers the most advanced total office solution ever. Alis makes it easy for people to work together. It provides integrated electronic mail, calendar and meeting scheduling, and revolutionary Automatic Office Assistants™ to aid management information monitoring and decision making. Written in "C” Alis is initially available on UNIX* to large OEMs. It’s destined to bring sanity to the mad tea party world of office automation. ‘UNIX is a trademark of Bell Laboratories. Applix, Alis, and Automatic Office Assistants are trademarks of Applix, Inc. The next-generation office software system from APPLiX Finally, some answers in Wonderland. APPLIX, INC., 112 TURNPIKE ROAD, WESTBORO, MASSACHUSETTS 01581 (617) 870-0300 Circle No. 298 on Inquiry Card If THE MONTHLY REPORT ping program, from Graphic Soft¬ ware Systems of Wilsonville, OR, illustrates AT&T’s belief that business wants Macintosh-like machines that offer good graphics and an icon-driven interface. Communications naturally play an important role in the AT&T UNIX micro. A built-in mo¬ dem operates at 300 or 1200 bits per second. The telephone man¬ ager, part of the core UNIX soft¬ ware package, has features such as repeat dialing, directory dial¬ ing, last number redialing, and data call setup to remote comput¬ ers. The 7300 is capable of simul¬ taneous voice and data communi¬ cations, with alternation allowed. A call management service re¬ cords call length and lets the user take notes for later review. AT&T also announced three products other than the 7300: the Starlan departmental local area network, an enhanced 6300, and a terminal for use with the 7300. The terminal, dubbed the Per¬ sonal Terminal (PT), costs $ 1795; it’s $1895 if you’d also like a key¬ board. Really. Paraphrasing an old line from Apple Computer Corp., Jack Scanlon termed the PT “the workstation for the rest of us.” It has a unique, soft touch¬ screen user interface, with tactile response. There are no infrared light grids. Scanlon said the ter¬ minal is aimed at a “boss-secre¬ tary” environment, in which voice and verbal messaging capa¬ bilities are predominant. It runs on Starlan and in a 7300 mul¬ tiuser environment. Enhancements to the 6300, meanwhile, give AT&T a machine that’s squarely in competition with the IBM PC/AT. Among the improvements are an expansion card providing voice/data and other communications features; the availability of Microsoft Corp.’s XENIX 3.0; the addition of an Intel 8087-2 match co-proces¬ sor: a new mouse; and a 20 MB hard disk option that includes a half megabyte of RAM. An en¬ hanced 6300 with an 8087-2 co¬ processor is priced in the $6000 range. In keeping with some of the big¬ gest and smallest names in the in¬ dustry, AT&T used a pre-an¬ nouncement to trumpet the AT&T's efforts to civilize UNIX resulted in the 7300's Apple Macintosh-like interface. arrival of Starlan. Some might be so unkind as to call this a “vapor¬ ware” tactic. Starlan won’t be available until the fourth quarter of this year. It will support both UNIX and MS-DOS machines; AT&T is not completely writing off IBM just yet. Company strategy calls for pushing the enhanced 6300 as a server for MS-DOS ma¬ chines, and either the 7300 or 3B2 supermicro as the UNIX server. The LAN runs on twisted-pair using CSMA/CD access, running at 1 megabit per second (mbps). As many as 10 nodes can be dai¬ sy-chained; the theoretical limit for connections is 1200. At its heart is an Intel 82588 controller chip. Connection costs are in the $700 to $800 per node range. This is in the general area, if not at the high end, of connection costs for Ethernets and for the IBM PC Network. AT&T worked with the IEEE in developing this local area network, and is propos¬ ing the Starlan specifications as an 802.3 standard for 1-megabit LANs. AT&T voice and data products, including the four announced at the March conference, are distrib¬ uted through three basic chan¬ nels: direct sales, value added re¬ sellers (VARs), and computer specialty retailers. AT&T has a di¬ rect sales force of about 7000 peo¬ ple who sell from about 200 sales offices throughout the country. The company expects about half its sales to be generated by direct sales. The second channel, VARs, includes about 60 companies working on about 50 regional and specialized market segments. There are also about 1000 retail outlets. AT&T expects that num¬ ber to grow to about 1600 by the end of 1985. CORVUS WAXES AND WANES Proving itself to be a multi¬ tasking company, Corvus Sys¬ tems took over Onyx -f IMI, Inc. within weeks of cutting back its own staff. The Corvus-Onyx + IMI merger combines the unique capabilities of these two San Jose-based companies; “it’s a good business fit,” claims Corvus chairman and CEO Michael D’Ad- dio. Onyx was the first company to make a UNIX-based microcom¬ puter, while Corvus is best known for its storage devices and Om- ninet twisted-pair wire local area network. Holders of Onyx + IMI stock will receive shares of Corvus com¬ mon stock at an exchange ratio of between 1.25 and 1.3 to 1. Corvus and Onyx each have about 10.4 million shares of common stock outstanding; the companies’ stocks were within 10 percent of each other in worth on a recent business day, with total worth in the neighborhood of $60 million. Once the merger is final, Corvus’ new board will comprise seven people; the four from Corvus’ pre¬ sent board, and three of four from Onyx’s board. One member cur¬ rently sits on both. Onyx’s former 10 UNIX REVIEW MAY 1985 The First Name In Integrated Office Automation Software • Mail System • Telephone Directory • Menu Processor • Word Processor • Forms Manager • Spreadsheet Certified and Deliverable Since 1981 INTEGRATED OFFICE SOFTWARE Box 3938 • Chatsworth, CA 91313 U.S.A. • (818) 884-2000 FAX (818) 884-3870 • TWX 910-494-1716 • Inti. Telex 292 662 XED UR Circle No. 276 on Inquiry Card lillliilll ITHE MONTHLY REPORT president, Fred Bialek, left the company a few weeks before the merger announcement. Onyx has been under financial pressure, apparently due to its in¬ ability to introduce new products. The company’s stock price had declined close to 90 percent in re¬ cent years, before rising again after the merger was announced. Onyx’s early successful product was the 8000, the first UNIX- based microcomputer when it was introduced about five years ago. But the company could not follow up. An MC68000-based UNIX machine, aimed at compet¬ ing with the DECs of the world. Onyx had been planning a major reorganization prior to its merger with Corvus. was scrapped at the last minute because management felt it was aimed at the wrong market; an¬ other, lower-priced 68000-based system is pending. Onyx had been planning a ma¬ jor reorganization prior to the merger with Corvus. Many em¬ ployees were (and are) being transferred to Medford, OR, while others will move to the Corvus complex. Corvus’ decision to diversify was announced within weeks of a round of staff cutting. About 50 jobs were eliminated, or 12 per¬ cent of the company’s total work force. The company said it was consolidating different job func¬ tions in all areas of the company in this cutback. ■ SYSTEM V TRAINING For 15 years, we’ve taught our own people to use the UNIX ™ System. Now we can teach yours. WHY AT&T FOR UNIX SYSTEM TRAINING? AT&T offers the most current and comprehen¬ sive training on UNIX Systems. AT&T provides the best learning environment; one terminal per student; evening access to facil¬ ities; and expert instructors. AT&T has the breadth of courses your staff needs to unlock the full power of UNIX System V. AT&T courses signal your commitment to improving productivity with high-quality training for your employees. AT&T COURSES OFFER: The same training and methods we use to ©1984 AT&T Technologies, Inc. teach the UNIX System to our own people. Rigorous classes designed to teach specific skills for job-specific applications; 1 . Five areas of instruction ranging from intro- ductoiy to advanced levels for Managers/Supervi¬ sors, Users, Systems Administrators, Applications Developers, and Systems Programmers. Frequent class offerings so ; you won’t have to wait for the courses you want. ' Conveniently located training centers in Princeton, NJ; Columbus, OH; Lisle, — IL; and Sunnyvale, CA. Or we’ll bring our courses to your company and hold the training at your convenience. For more information, a catalogue, or to register for classes, call 1-800-221-1647, Ext. 87. AT&T 12 UNIX REVIEW MAY 1985 HU/MStJll, Mm IR WEKff M E PASCAL Originally designed by Niklaus Wirth, is now available for a wide range of UNIX™ processors. HCR/PASCAL conforms closely to industry standards, passes all conformance tests in the PASCAL Validation Suite. Supports multiple module programs, a dynamic string package, and direct random file access. C is the standard language of UNIX, HCR/PASCAL is written in C and translates PASCAL into C producing efficient optimized code. This approach allows direct interaction with the UNIX environment and offers a high degree of portability lllllllf ' s a Powerful yet flexible operating system environ- 1111JK ment. HCR/PASCAL is available today on a diverse VI ■Ml range of UNIX hardware: AT&T 3B™ series, the NCR Tower,™ DEC PDP-11/VAX,™ and others. HCR has a growing line of UNIX software including business applications. We back up all our software with full support. To find out how we can put HCR/PASCAL C, and UNIX together for you, call or write: Human Computing Resources Corporation tfCR 10 St. Mary Street, Toronto, Ontario, Canada M4Y 1P9 (416) 922-1937 UNIX is a trademark of Bell Laboratories PDP-11, VAX. and DEC are trademarks of Digital Equipment Corporation. AT&T 3B is a trademark of American Telegraph & Telephone. NCR Tower is a trademark of NCR Corporation Circle No. 297 on Inquiry Card THE HUMAN FACTOR Fast prototyping and UNIX by Richard Morin We have had a house cleaning in the computing industry. The structured methods advocates have been here, cleaning, polish¬ ing, and ordering. The smell of disinfectant is still overpowering. Swarms of gotos have been ban¬ ished to a few dark corners. We have been reminded of the need for order, and have been taught the virtues of top-down design and stepwise refinement. Even in maverick UNlXland, the effects are noticeable. The lint command has evolved into a fierce guardian of type checking. Even C shows signs of tampering. The sees and make commands have emerged to help us manage our ungainly projects. Still, a certain element of bot- tom-up programming has sur¬ vived. It wears a suit and tie, to be sure, but it exists nonetheless. Cloaked in respectability, it now refers to itself as fast prototyping. Fast prototypers make all the necessary bows to the structured establishment. They write modu¬ lar code, using all manner of block structuring. They almost never use gotos. Their chief resistance to the structured establishment is re¬ flected in the way in which they approach projects: they skip the formal process of specification, with its structured walkthroughs, stepwise refinement, and so forth. Instead, they break off a piece of the problem and try to solve it. If that works, they try an¬ other piece. Pretty soon, the whole problem has been solved. A certain degree of planning and analysis must be performed, to be sure. For one thing, the pro¬ totyper has to be careful to build up the solution in a modular fash¬ ion. For another, the order in which things are tried is critical. It is very tempting to solve the easy parts of a problem first. Hav¬ ing all that code written is very comforting, but somewhat mis¬ leading. It does no good to solve the easy 90 percent of the prob¬ lem if the remaining 10 percent is insolvable. MANAGEMENT RESISTANCE One might worry, with some justification, about management attitudes toward fast prototyping. We have spent the last decade teaching managers to expect structured methods. Now we have to convince them to permit this new approach. Fortunately, several powerful arguments are available. First, prototyping allows one to find out very quickly whether a problem is, in fact, understood. Next, pro¬ totyping allows one to find out whether a problem is solvable. By attacking hard parts first, one finds land mines quickly. Rein¬ forcements can then be brought in to save the day. Occasionally, a strategic retreat is advisable. The analysis and design phases are critical. If either of them is go¬ ing to fail, the manager needs to know about it quickly. Polishing, whether for appearance or effi¬ ciency, can wait. Finally, if a prototyping ap¬ proach is forbidden, then the product will by definition become the first prototype—a curious phenomenon not unknown in software engineering. LANGUAGE CHOICE C, the lingua franca of the UNIX community, is not a particu¬ larly good fast prototyping lan¬ guage. For one thing, it has to be compiled and linked, which tends to discourage spontaneity. For an¬ other, it is rather picky about de¬ tails such as variable initializa¬ tion and so forth. Use of C is often simply a neces- 14 UNIX REVIEW MAY 1985 ONLY PERFORMANCE COUNTS. ON THE FIELD AND IN BUSINESS. THAT'S WHY IBC IS NEED WHEN YOU THE ONE COMPUTER YOU NEED MORE THAN ONE. One thing counts on the field. Winning. Outperforming everyone in your class to become a champion. Execution. Maximum individual effort. Integration into a single team movement. Performance. Success. It’s the same in busi¬ ness. Just win. Your business needs a computer to help you team perform. One that lets more than one player get fast, efficient solutions to business prob¬ lems. Solutions that one PC or even net¬ worked PCs can’t give you. Either eco¬ nomically or func¬ tionally. Solutions that IBC multiuser computers will. And for less money. Choose from four basic IBC multiuser computer families. They support UNIX and OASIS operating systems. Some support up to 32 users. Each is upgradable. They cost less than multiple PCs. About $1,500 less per user. Need more users? Add them for less than $600 with a dumb terminal. IBC systems have more memory: 256K to 8 Mbytes RAM, 12 Mbytes to 1.3 gigabytes hard disk storage. They share data. They share peripherals and soft¬ ware. They do more. They do it right. And they run faster. Benchmarks will prove it. We have dealers who specialize in your business. Not department store retailers. Dealers who have the software you need. Specialists who’ve installed over 10,000 IBC multiuser business systems since 1979. Service? It’s covered nationwide by IBC’s authorized service centers. Looking for your first computer system? Outgrown your pres¬ ent one? Are you a reseller addressing vertical markets? IBC has what you need. Call now for the specialist dealer nearest you. Call 1-800-4-MULTIS. Because IBC is the one computer you need when you need more than one. And you do. INTEGRATED BUSINESS COMPUTERS 21621 Nordhoff Street Chatsworth, CA 91311 818/882-9007 Telex: 215349 Circle No. 277 on Inquiry Card UTHE HUMAN FACTOR sary evil, however. Systems pro¬ gramming in UNIX is done almost exclusively in C. The occasional assembly language routine is not a very heartening exception. Applications programmers are under no such constraints; they are free to use any language their system supports. The occasional system call will cause problems, of course. But Fortran and Pascal are used quite commonly for ap¬ plications coding anyway. The really radical approach, however, is to avoid compiled lan¬ guages entirely. No compiling, no linking . . . just immediate execu¬ tion. Talk about instant gratifica¬ tion! Fast prototyping in the UNIX environment is thus a matter of writing interpreted scripts. These are then handled by awk, sed. a shell, or some other language pro¬ cessor. The scripts usually use a combination of languages and utilities. Being interpreted, scripts are free to play fast and loose with programming techniques. They can rewrite their own subrou¬ tines, invent variables dynami¬ cally, and so forth. Using com¬ mands as operators, and files as data objects, they can be very powerful and very terse. PROGRAMMER RESISTANCE It is often hard for traditional programmers to accept this sort of coding. Pascal programmers wor¬ ry about the lack of structured methods. C and assembly lan¬ guage hackers worry about effi¬ ciency. Even questions of machismo enter the picture. “Real program¬ mers code in compiled languages" and all that. In the seminars that 1 give on fast prototyping, I find my¬ self explaining that I’ve done For¬ tran (about 25K lines), assembly language (about 15K lines), and C (about 5K lines). I then explain that 1 still use compiled lan- C, the lingua franca of the UNIX community, is not a particularly good fast prototyping language. guages. Some things require the expressive power and/or efficien¬ cy of a compiled language such as C. I even write an occasional as¬ sembly language routine. Before I do. however, 1 try to use higher level tools. They allow me to increase my effectiveness, at the (possible) expense of my com¬ puter’s efficiency. Often, the ex¬ isting tools are as fast as the code I would have written myself— sometimes, they’re actually fas¬ ter. This seems like a reasonable tradeoff. If more efficiency is re¬ quired, a bit of profiling will show where it can be achieved. Recod¬ ing can thus be kept to a minimum. A LOOK AT SHELLS The UNIX notions of shells and shell programming are certainly not unique. Every operating sys¬ tem has some sort of command language. UNIX shells are better developed than most of these, however. Command languages perform a number of tasks. They allow the invocation of user programs and system services, and specifica¬ tion of files and/or devices. Most support both batch and interac¬ tive use. Most command languages also support some forms of control flow. In VMS, this is limited to IFs and gotos. In IBM JCL, even gotos are missing. UNIX shells have a broad range of control flow primi¬ tives. UNIX shells also support mod¬ ular programming. Shell scripts can invoke other scripts, or even invoke themselves. What’s more, they can invoke scripts that they have written or modified. By judicious use of quotes, a shell script can pass data into em¬ bedded awk and sed scripts. Oth¬ er, more devious means allow re¬ trieval of results. The Bourne shell (sh) and the C shell (esh) are the current stan¬ dards. The Bourne shell is better for most programming tasks, while the C shell is better for in¬ teractive use. There are also some interesting alternatives on the horizon, in¬ cluding the experimental Func¬ tional Programming (FP) shell, and the practical Korn shell (ksh). In addition, there are a number of interpretive languages with shell¬ like capabilities. FUNCTIONAL PROGRAMMING The Functional Programming shell is described in a paper writ¬ ten by Manton Matthews and Yo- geesh Kamath (Usenix Proceed¬ ings, Summer, 1984). The shell implements John Backus’s Func¬ tional Programming language, us¬ ing files as objects and programs as functions. The motivation of the authors is explained in their paper as: Our primary objectives in de¬ veloping the FP-Shell were: [1] to provide a framework which is easy to understand and modify for the study of functional systems, [2] to extend the ability of the UNIX shells to combine pro¬ grams by including other functional forms, [3] to investigate applica¬ tions in which the extra 16 UNIX REVIEW MAY 1985 COHERENT” IS SUPERIOR TO UNIX* AND IT’S AVAILABLE TODAY ON THE IBM PC. Mark Williams Company hasn’t just taken a mini-computer operating system, like UNIX, and ported it to the PC. We wrote COHERENT ourselves. We were able to bring UNIX capability to the PC with the PC in mind, making it the most efficient personal computer work station available at an unbelievable price. For the first time you get a multi-user, multitasking operating system on your IBM PC. Because COHERENT is UNIX- compatible, UNIX software will run on the PC under COHERENT. The software system includes a C-compiler and over 100 utili¬ ties, all for $500. Similar environments cost thousands more. COHERENT on the IBM PC requires a hard disk and 256K memory. It’s available on the IBM XT, and Tecmar, Davong and Corvus hard disks. Available now. For additional information, call or write, Mark Williams Company 1430 West Wrightwood, Chicago, Illinois 60614 312/472-6659 Mark Williams Company COHERENT is a trademark of Mark Williams Company. *UNIX is as trademark of Bell Laboratories. Circle No. 296 on Inquiry Card flfllllill ^ THE HUMAN FACTOR combining capability is uti¬ lized and gather usage statistics. UNIX’s use of pipes and filters is very close to the idea of compo¬ sition of functions. The UNIX sh or csh command: tbl paper | eqn | troff would be rewritten in FP shell as: vtroff o eqn o tbl: paper An algebraic notation, by way of comparison, might render it as: vtroff ( eqn ( tbl ( paper ) ) ) The interesting thing about the FP shell, however, is that a num¬ ber of operations other than com¬ position are supported. These in¬ clude construction, apply to all , conditional, insert, while, con¬ stant, and binary to unary. The FP shell thus allows com¬ mands that could not be written under, say, sh. The construction operator, for instance, allows the FP shell command: C o [B2,B1] o A : input This feeds the "input” into A, si¬ multaneously piping the result through B1 and B2 before piping the result into C. This kind of language design experimentation would be much more difficult in almost any other operating system. Thus, the flexi¬ bility of UNIX allows the UNIX community to be a sort of distrib¬ uted computer science laboratory. THE KORN SHELL For an immediately practical alternative to the current shells, many people are looking at the Korn shell, ksh, described in D.G. Korn’s paper “Introduction to KSH" (Usenix Proceedings, Sum¬ mer, 1983). Korn shell advocates claim that it is better than sh for programming, better than csh for interactive use, and faster than both. Some significant ksh program¬ ming features are aliases, arrays, built-in arithmetic, functions, en¬ hanced I/O, variable attributes, and full sh compatibility. In addition, a number of inter¬ active features have been added. The Korn shell supports job con¬ trol and command re-entry 4 la csh, and in-line editing surpass¬ ing it. A ksh user has the choice of using modified forms of either vi or emacs on the command line. OTHER LANGUAGES A number of interpretive lan¬ guages can be used as UNIX shells. In point of fact, any inter¬ pretive language can be used as a shell. It is simply necessary that certain features, such as com¬ mand invocation, I/O redirection, and so forth, be supported. A later column will examine a number of these languages, com¬ paring their features both as gen¬ eral programming languages and as shells. Mail/or Mr. Morin can be sent to the Canta Forda Computer Lab, P.O. Box 1488, Pacifica, CA 94044. Richard Morin is an independent computer consultant specializing in the design, development, and docu¬ mentation of software for engineer¬ ing, scientific, and operating sys¬ tems applications. He operates the Canta Forda Computer Lab in Pacif¬ ica, CA. ® YOU JUST FOUND IT. UNIX promises to let all sorts of people do all kinds of things quickly, flexibly, and efficiently. For three years BASIS has been delivering what Unix promises to individuals, small businesses, large corpora¬ tions, government agencies, universities, and resellers all over the nation. We sell: • complete Unix computer • expert consulting systems • a full range of timesharing • carefully selected software services Our reputation for providing outstanding customer support is unparal¬ leled. Call or write for more information. SPECIALISTS IN UNIX COMPUTING 1700 Shattuck Avenue Berkeley, California 94709 415 841 1800 UNIX is a trademark of AT&T Bell Laboratories Circle No. 282 on Inquiry Card 18 UNIX REVIEW MAY 1985 The bundle we're referring to consists of your existing FORTRAN programs and files. Costly items you'll have to discard when you move up to C, unless you save them with FORTRIX™! Here at last is a program that automatically and rapidly converts FORTRAN code to C code, allowing you to salvage your FORTRAN material at approximately 600 lines per minute. This incredible speed allows a single programmer to con¬ vert, debug and put into operation a typical 50,000 line package in only one to two weeks. Plus, the resulting "C" program will run 15% to 30% faster than the original FORTRAN program, while occupying 35% less disk space! And the system even helps you learn coding in C language as you compare your own familiar FORTRAN programs with the , corresponding C language programs generated by FORTRIX! M gram; FORTRIX™-C + , with the added ability to handle COMMON and EQUIVALENCE statements, character handling and direct I/O; FORTRIX™-C', the complete FORTRIX rM -C+ packagecon- figured for non-UNIX* systems including VAX/VMS; and FORTRIX™-C/micro, stand¬ ard FORTRIX configured for use on the IBM PC and compatibles. FORTRIX™ has already been installed on 26 different brands of hardware, so RTRIX™ version meets your needs, you can be sure it will exceed your expectations in terms of speed and cost savings realized. Why not act now to save your bundle? Get full technical details, plus references from among over 100- f satisfied licensees, from Jim Flynn at (212) 687-6255, Extension 44, or write to him at Rapitech Systems Inc., Dept. A2, 565 Fifth Avenue, New York, NY 10017. FOUTIHX xj tium ypM THE WHYS AND WHEREFORES OF I n some sense, all net¬ works exist so that some resource might be shared. Even the earliest telecommunications networks, such as the Sabre airline reservation system that connected large numbers of geographically dispersed terminals to a central computing facility, were developed with the shared use of a computing resource in mind. Since then, though, the term “network" has come to identify an interconnection of peer computers where the aggregate computational capability of the system is equal to the sum of the power of all of its parts. Among the resources of the individual machines that the network can draw upon are computing power, information, and periph¬ eral devices. To achieve such a system, mere physical in¬ terconnection is not sufficient; the trick is to create a sys¬ tem that makes resources available in a convenient and efficient way to the entire network. The extent to which this is done depends not only on the skill of the system’s implemented, but also on their objectives and the envi¬ ronment in which the system is expected to run. We can perhaps see this best by examining two ex¬ tremes in the resource sharing spectrum: the VAXcluster from Digital Equipment Corp. and the ARPAnet. The VAX¬ cluster is a loosely coupled multiprocessor system consist¬ ing of several VAXen connected by a 70 mbps computer interconnect bus (the Cl bus). Intended to cover only a small area, it is strictly a machine room network. The VAX cluster’s software design creates the illusion of a single machine packing the combined power of the CPU, storage, and I/O capabilities of all of the cluster’s machines. The ARPAnet, on the other hand, is a nationwide net¬ work of totally autonomous, heterogeneous hosts inter¬ connected by 56 kbps links. Despite the fact that the ma- DISTRIBUTED RESOURCE SHARING An overview of the burgeoning network concept by Paul J. Leach 21 WHYS AND WHEREFORES chines have several different architectures and are separately owned and administered, ARPA- net’s network software is a suc¬ cess because it allows architectur¬ al chasms to be bridged in such a way that resources can actually be shared. Thus, ARPAnet users can exchange mail with other users, copy files from other hosts, and login to other systems on the net¬ work (the last two capabilities, though, require accounts on the other hosts). ADVANTAGES OF DISTRIBUTED SYSTEMS One would expect a distributed system for resource sharing to be more complex than a central¬ ized system. The VAXcluster and ARPAnet networks are two exam¬ ples that bear this out. One ques¬ tion this raises, of course, is: why go to all the extra trouble? Let’s study the question briefly by look¬ ing at some of the advantages of¬ fered by a distributed system. Po¬ tential gains include incremental expandability, increased reliabil¬ ity, autonomy, and higher perfor¬ mance. (Since a system must be organized properly to actually achieve these advantages, careful scrutiny to determine the extent to which they have been attained may reveal strengths and weak¬ nesses in a system’s design.) Incremental expansion refers to the system’s ability to increase its capacity gracefully in small incre¬ ments—which is to say, the gran¬ ularity with which the network can be expanded. Also to be con¬ sidered is the degradation in avail¬ able computing power that addi¬ tional loads bring. At one end of the spectrum, the granule is the whole system. When the continual addition of us¬ ers or applications overloads such a centralized system, the only op¬ tions are to replace the system with an upgraded model (if one ex¬ ists) or to try to split the users up into groups that need little or no communication with each oth¬ er—which is to say, groups that can get along with isolated sys¬ tems of their own. Even short of system overload, it should be not¬ ed that with systems of large gran¬ ularity, each additional user repre¬ sents a reduction in the average amount of computing power avail¬ able to every other person in the user community. At the other end of the spec¬ trum, within, say, a network of personal workstations, the gran¬ ule is the single user. When a new user is added to such a system, a workstation is added as well. The computing power available to each person thus remains constant. All networks exist so that some resource might be shared. Somewhere between these ex¬ tremes in granularity, most net¬ works of small, timesharing com¬ puters might add a new machine for every five to 15 new users. Gains in the reliability of a dis¬ tributed system can come in two forms: graceful behavior in the presence of failures, and high tol¬ erance for faults. Because a sys¬ tem is a network of machines that can fail independently, the failure of a single node clearly deprives the system of that machine’s re¬ sources, but the rest of the system should be able to continue oper¬ ation. (This assumes, however, that the system is designed such that the resources that are lost are not critical to the rest of the net¬ work.) Again, a look at examples at po¬ lar extremes should be illustra¬ tive. The two opposite ends of the failure behavior spectrum con¬ sists of a centralized system and a network of personal workstations. When the centralized system fails, all of its users are denied service whereas, when a personal work¬ station fails, only its owner is out of luck. (As a hedge against this, keeping a “hot standby’’ can be used as a fairly inexpensive way of getting back on the air quickly.) More advanced distributed sys¬ tems allow important resources to be replicated—duplicate copies of files, multiple printers, and the like, so that if one instance hap¬ pens to be down, another can be substituted. The third potential advantage of distributed systems, autonomy, represents the right of compo¬ nents of a system to operate inde¬ pendently of the whole. Autonomy is one of the requirements for achieving good reliability: if ma¬ chines can’t operate independent¬ ly enough, then one machine’s failure will adversely affect many other users. Independent operations are al¬ so valuable in helping to maximize individual and group productivity. In most organizations, each group has responsibilities to others, but the advantage of allowing each group to determine independently how best to meet those responsi¬ bilities has been borne out time and again. It’s virtually axiomatic t hat the freedom to create innova¬ tive solutions leads to better per¬ formance. Centralized computer systems simply do not provide the best environment for such free¬ dom. In such systems, any major new use affects all current users. Those users (or those who repre¬ sent them) may thus need to be consulted or taken into consider¬ ation before work proceeds. In a distributed system, it is possible to distribute the author¬ ity as well as the computing power necessary to manage this kind of issue. The users of each machine 22 UNIX REVIEW MAY 1985 ...puts your IBM Series/1 ahead of the pack! SERIX is the high performance CMI version of AT&T’s UNIX™ System V operating system with Berkeley 4.1 enhancements ported to the IBM Series/1 minicomputer. SERIX transforms your Series/1 into an even more powerful, flexible, and convenient processor for general data processing, office automation, communications, and process control. Its advantages are outstanding: Reduced software costs Long term growth path • Software is highly portable • Provides access to a large, growing software base More power from the Series/1 • Optimizing C compiler uses native code features • All code reentrant • Dynamic memory allocation without fixed partitions Increased programmer productivity • Large set of utilities • Hierarchical file structure • Pipes, forks, semaphores, and shared data segments Other CMI Series/1 software • RM/COBOL™ • UNIFY™ database management system • ViewComp™ spreadsheet • vi visual editor • EDX™- to -SERIX™ conversion kit CMI Corporation is a Master Value-added Remarketer of IBM Series/1 equipment. Leasing and other financial arrangements are available. Contact us for further information. Photographer - Michael Zaaaris • UNIX is a trademark of Bell Laboratories • SERIX is a trademark of CMI Corporation • SERIX was developed exclusively for CMI by COSI. • IBM, Series/1, and EDX are trademarks of International Business Machines Corporation • UNIFY is a trademark of North American Technology, Inc. • RM/COBOL is a trademark of Ryan-McFarland Corporation • ViewComp is a trademark of Unicorp Software, Inc. Q o. CMI© Torchmark Company CMI Corporation SERIX Marketing Bloomfield Hills, Ml 48303-2026 (313)456-0000 TWX: 810-232-1667 Telex: 499-4100 ANS: CMI CORP. BDHS Member CDLA Member ASCD Circle No. 293 on Inquiry Card WHYS AND WHEREFORES can decide how best to make their machine serve their purposes— usually without seriously impact¬ ing users on other machines. Within the limits of a personal workstation, of course, the user desiring a change need consult no one before making it. The performance advantages mentioned above stem from ex¬ ploiting the parallelism available in a network of many machines. The simplest technique to in¬ crease a network's performance is just to include more users— each running in parallel with the others. A more complicated meth¬ od calls for splitting a single appli¬ cation up into many pieces, each of which can run on a separate machine. Given the current state of the art, there is no automatic way of accomplishing this task; the creator of an application must explicitly program it to be execut¬ able in parallel. Once the decom¬ position is accomplished, though, the system can help solve the problem of allocating machines to run the computation. THE ADVENT OF PERSONAL WORKSTATIONS Although we have concentrat¬ ed thus far on the general topic of distributed resource sharing sys¬ tems, there is one particular form of distributed systems that de¬ serves special attention: the per¬ sonal workstation network. They are the outgrowth of work done by researchers at Xerox PARC, MIT, and CMU who envisioned in the mid-to-late 1970s that computing would be done differently in the 1980s and 90s. True to the re¬ searchers' projections, more and more people have turned from timesharing machines to the high-speed local area networks that link workstations together. From Xerox PARC have come the Alto and Dorado worksta¬ tions, as well as the Ethernet net¬ work; from MIT have come the Lisp Machine and ChaosNet; and from CMU has come a proposal for the SPICE (Scientific Personal In¬ tegrated Computing Environ¬ ment) project. It’s interesting to note that the SPICE project pro¬ posal includes the telling phrase, “the era of time-sharing is end¬ ing.’’ There are many outside of CMU who would agree. A typical personal worksta¬ tion, or node, in such a system The only thing predictable about many timesharing systems is that they will slow to a crawl. has three major features: a pro¬ cessor with high computing pow¬ er and a large virtual address space: a high resolution graphics display subsystem; and a high speed local area network connection. BOOSTING INDIVIDUAL PRODUCTIVITY A fast CPU will provide predict¬ able, fast response—even at 3 pm, when the only thing predict¬ able about many timesharing sys¬ tems is that they will slow to a crawl. When this response time is consistently less than one second, productivity can increase signifi¬ cantly. Much of the enthusiasm for workstations turns on this very point. A graphics subsystem on the backplane with the CPU can pro¬ vide the user with communica¬ tions capabilities that are orders of magnitude better than those that a 9600 baud line can provide. A powerful CPU, a large address space, and robust graphics com¬ bine to enable the workstation to run large, sophisticated, highly interactive applications tailored to the task at hand. In addition, multiwindow user environments make it possible to execute sever¬ al such tasks concurrently in a non-preemptive way. (See [3] for a survey of edit ing with and without windows. Section 1.8 describes integrated window environ¬ ments.) A good user interface toolkit, moreover, can help with the oth¬ erwise daunting task of creating applications that have high-qual¬ ity graphic interfaces. Such appli¬ cations can be quite demanding, using nearly all the workstation’s resources; hence, a pagable oper¬ ating system kernel is desirable, so that infrequently used OS functions can be paged out, free¬ ing memory for use by the appli¬ cations. In this fashion, the CPU, OS, and graphics hardware soft¬ ware combine to optimize the pro¬ ductivity of the individual. RESOURCE SHARING FOR GROUP PRODUCTIVITY The network is the pathway to optimal group productivity, since it is the means by which worksta¬ tion users can cooperate effective¬ ly. When correctly implemented, networks provide the unified, comprehensive computing envi¬ ronment users need in order to share (and safeguard) informa¬ tion, programs, and peripherals with the same sort of ease, effi¬ ciency, and reliability generally characteristic of timesharing sys¬ tems. (See [1,2,4] for examples of integrated network systems such as this.) Convenient information shar¬ ing requires that the system sup¬ port location-transparent file ac¬ cess protocols rather than ARPA- style file transfer protocols. This is because location-transparent file access allows users to get at 24 UNIX REVIEW MAY 1985 Only Sperry can make the following four statements. Our PC runs the XENIX™ system, as well as MS-DOS™. Our 4 new microcomputers run the UNIX system. Our new minicomputer runs the UNIX system. Our Series 1100 mainframes run the UNIX system. All of which means there is a great deal we can do for you. For instance, our family of computers based on UNIX systems has incredible trans¬ portability for all your software. And being able to accom¬ modate from two to hundreds of users, it’s impossible to out¬ grow our hardware. Of course, this linking of all your computer systems can add measurably to your productivity And a fast way to find out more is to get a copy of our Sperry Informationkit. For yours, or to arrange a demon¬ stration at one of our Productivity Centers, call 1 - 800 - 547 - 8362 . ‘UNIX is a trademark of AT&T Beil Laboratories XENIX and MS-DOS are trademarks of Microsoft Corporation ©Sperry Corporation 1985. Introducing an idea that makes obsolescence obsolete. The IJNKoperating system from PC to maiimame. Circle No. 292 on Inquiry Card WHYS AND WHEREFORES remote files as easily as they can access local files. Accessing a re¬ mote file under the ARPA-style file transfer protocol, by way of contrast, requires that the file first be copied to the local node, modified, and then replaced. Con¬ venient sharing also requires a uniform namespace in which file¬ names must always refer to the same file, meaning that every file in the network must be unique. Without a uniform namespace, it would be cumbersome to ex¬ change programs or shell scripts containing filenames because of the possible need to translate them before use. Efficient sharing demands a network of approximately the same speed as a hard disk, as well as protocols efficient enough to ef¬ fectively utilize such speed. (See [5] for a survey of local area net¬ works.) Reliable sharing requires concurrency control to arbitrate simultaneous access to files. In this way, users can be assured of predictable results. (The DFS dis¬ tributed file system for Xerox PARC (6) provides a good example of special facilities for reliable sharing.) Although personal information is commonly stored in files, group information is often stored in da¬ tabases. Thus, a good distributed DBMS is needed if networks are to be as conveniently usable as cen¬ tralized systems. Like a good file system, a DBMS should provide location and concurrency tran¬ sparency (although the concur¬ rency control should probably al¬ low a higher level of concurrency than would typically be expected of a file system.) In addition, a DBMS should offer replication and failure transparency. Repli¬ cation transparency allows multi¬ ple copies of the database to be manipulated as if they were all combined into a single copy. Fail¬ ure transparency means that operations on the database are re¬ liable even if some or all of the nodes involved in the operation (or the network) fail. (Citation [7] discusses these concepts in more detail.) Information is not the only re¬ source in the network to be shared. Others include printers, magtape drives, and communica¬ tions gateways (such as X.25). UNIX alone is not sufficient for the support of integrated networks of personal workstations. The standard means of making these available to all the nodes on the network is to construct a serv¬ er, a process that runs on the node to which the resource is physical¬ ly attached. This server can then service requests from other nodes to access the resource in question. Requests, which can come from any node in the network, are sent to the server via the network’s in¬ terprocess communication (IPC) facility. Other resources that can be shared include idle workstations lying about in the network. If the good news is that workstations don’t slow down at 3 pm, the bad news is that they don’t speed up at 3 am, either—unless a server keeps track of workstations that are idle and allocates them to computations that can use the ex¬ tra CPUs. This can be very useful in the instance of jobs specifically programmed to execute on multi¬ ple machines in parallel, or per¬ haps batch subsystems set to queue non-parallel jobs for later execution on idle machines. Note that this all raises a potential autonomy conflict: if the system becomes over-zealous in efforts to utilize spare capacity, it might try to re-allocate a node—shortly after its user turns away to an¬ swer a phone call. Under such cir¬ cumstances, the predictability of response time would disappear. Another aspect of group pro¬ ductivity to consider involves net¬ work administration. A network user registry enables users to identify themselves quickly to all machines in the network without having to go through the pain of maintaining a separate database of users on each machine. Net¬ work troubleshooting and main¬ tenance tools are also necessary since the network is the most vital part of the overall system. UNIVERSAL INTERCONNECTION Just as personal workstations are more useful when connected with other personal workstations, they are even more valuable when integrated with the other types of computers. Not everyone needs the power of a personal worksta¬ tion. Some can make do with a PC, while others need facilities per¬ sonal workstations simply can’t provide (like those afforded by a Cray 1, for example). What’s more important is that all the various units are connected. A network’s utility takes a quantum jump when everyone working on a problem is included. The level at which these users are intercon¬ nected is also important: the net¬ work must be more integrated than the ARPAnet if it is to be most effective. Thus, a network should interconnect all the PCs, workstations, and mainframes of the organization it serves, even if all the machines are running dif¬ ferent system software. The late 1980s will see net¬ works with 10,000 nodes that in¬ corporate all the computing re¬ sources of entire organizations. 26 UNIX REVIEW MAY 1985 What’s more, as long haul com¬ munications speeds go up and costs drop, efforts to extend the intimacy of today’s local network environment to geographically dispersed computing environ¬ ments will surface. SYSTEM DESIGN CENTER AND HERITAGE Before running out to select a resource sharing network, con¬ sider the design center and heri¬ tage behind it—as well as the fea¬ tures within it. To make an analogy, almost any two makes of automobiles have the same fea¬ tures: four wheels, an engine, a steering wheel, brakes, and so forth. Nevertheless, the differ¬ ences between a Mercedes and a Chevette are obvious to nearly ev¬ eryone. The respective design centers behind the two cars ex¬ plain the differences best: the Mercedes was designed to be a high-quality, powerful, luxury sports sedan, while the Chevette was intended for cheap transpor¬ tation. Going one step further, it’s important to note that a manufac¬ turer that has only made luxury cars will face a steep learning curve if it wishes to become a suc¬ cessful manufacturer of low-cost cars (just as the converse is true). The best way to illustrate this in the networking case is to look at some examples, taken from the point of view of a personal work¬ station network. A system de¬ signed originally to operate a ma¬ chine room network intended to contain a maximum of a dozen or so machines might make use of algorithms that do not scale well to a network of hundreds of per¬ sonal computers. Other examples can be found of single-process PC operating systems that have had considerable difficulty being stretched to support a multipro¬ cess multiwindow user environ¬ ment. A former timesharing sys¬ tem, with its emphasis on the efficient support of many users at dumb terminals, would similarly have a long way to go if it was to provide a highly interactive graphics user environment. A litany of other examples could be trotted out. For all of that, though, a system’s design center and heritage never present an in¬ surmountable obstacle. All sys¬ tems migrate over time, after all, but vestiges of them often linger. Thus, looking at a system’s histo¬ ry can often tell you where its weak (and strong) points lie. THE UNIX ROLE Where does UNIX fit into all of this? In the 1980s, support for the UNIX program environment is es¬ sential for applications portabil¬ ity—just as Fortran was essential in the 1970s. The UNIX environ¬ ment is much richer than that of Fortran, though, and it is thus ca¬ pable of supporting far more com¬ plex applications without sacri¬ ficing portability. UNIX, there¬ fore, is likely to replace Fortran as the standard vehicle for support¬ ing applications if it can itself ever become truly standardized. Despite these credentials, UNIX alone is not sufficient for the support of integrated net¬ works of personal workstations. Its heritage does not include ei¬ ther graphics or networking; hence, even today, neither Sys¬ tem V nor 4.2BSD support inte¬ grated graphics or windowed user environments. As a matter of fact, System V doesn’t support net- Continued on Page 90 Free Catalog! Your 80-page guide to computer supplies and accessories- including complete new product descriptions . ■ Packed with over 1600 products for microcomputers, minicomputers, and word processors - many available nowhere else. ■ Big special section devoted to new supplies and accessories. ■ Comprehensive product descriptions - including more than 475 full-color photos - clearly explain features and benefits. ■ Easy-to-use cross reference guides to magnetic media, ribbons, and more-along with the industry^ most complete cable guide. ■ Helpful suggestions and tips, ranging from flexible disk care to proper ribbon selection to useful application ideas. Phone toll-free1-800-547-5444 In California, call 1-800-547-5447 ^ mmOG Phone toll-free 1-800-547-5444' or send coupon today ^ I I Inmac Catalog Dept. 2465 Augustine Drive Santa Clara, CA 95054 Please rush my free copy of the Inmac Catalog. I under¬ stand there is no obligation whatsoever. COMPANY ADDRESS *ln California, call 1-800-547-5447 731102 I I I Circle No. 236 on Inquiry Card UNIX REVIEW MAY 198S 27 DISTRIBUTED FILE SYSTEM STRATEGIES The options and their implications by G. R. Sager and R. B. Lyon A major drawback of using more than one computer to work on a problem requiring the coop¬ eration of two or more individuals is that few systems support trans¬ parent sharing across machine boundaries. Rather than applying the tools and procedures they find useful when operating on the same machine, cooperating users on different machines must often resort to extraordinary means to accomplish tasks. Furthermore, users typically cannot move easily from one system to another and still have access to their own envi¬ ronment and files, so the mere availability of accounts on all the machines working on the prob¬ lem provides no solution. One step that moves toward a solution is the extension of the concept of a file system onto a net¬ work to allow transparent shared read/write file access by ma¬ chines on the net. In this article, we discuss some of the important issues in the design and imple¬ mentation of such a file system. There is not enough space to con¬ sider all of the issues and alterna¬ tives, so our approach is to pre¬ sent several of the major issues, look at them from a UNIX point of view, and offer specific examples taken from Sun’s Network File System (NFS). As an aid to the presentation, let’s first look at some terms and concepts that will be used: a serv¬ er is a machine that provides file system resources to a network; a client is a machine that accesses file system resources over a net¬ work; a user is a person “logged in” at a client; an application is a program or set of programs that execute on a client (usually on be¬ half of a user); and a workstation is a client machine that typically supports one user at a time. DEFINING THE INTERFACE An obvious way to define the file system interface on the net¬ work is to extend the operating system semantics onto the net¬ work. The primary advantage of such a distributed approach is transparency: the entire seman- 28 Illustration by J. Kell Davies ♦ tics of the file system are pre¬ served intact. A stumbling block, though, is that most extant oper¬ ating systems (including UNIX) were not designed to be distribut¬ ed, giving rise to a number of problems we will discuss later. The services approach offers an alternative: simple, well-de¬ fined services are provided to the net by server machines, and are accessed from client machines by users and applications. This ap¬ proach emphasizes the interfaces presented to the net, rather than the implementations at the end¬ points, resulting in an open sys¬ tem that can be used by a variety of operating systems and ma¬ chines. The NFS, for example, defines a generic file system protocol us¬ ing the Remote Procedure Call (RPC) and the external Data Rep¬ resentation (XDR) [1,5] package to present the protocol to the net in an operating system and ma¬ chine-independent way. Thus, it is possible for a variety of operat¬ ing systems or machines to share files across the net as clients or servers. Since one advantage of the services approach is its ability The primary advantage of a distributed approach is transparency: the entire semantics of the file system are preserved intact. to connect unlike systems, it is important to keep the semantics of the file system service general. Simplicity makes it easier to im¬ plement client and server inter¬ faces; low entry cost encourages future development of a rich vari¬ ety of client and server systems. The disadvantage of the ser¬ vices approach is that transpar¬ ency may be more difficult since users or applications may become aware that service from the net differs from similar service avail¬ able locally. In the case of the NFS and a UNIX client, the client oper¬ ating system provides the layer between the net and the user or application so that transparency is maintained. ACCESSING THE INTERFACE Introducing remote file system access into an extant operating system is made more difficult when the operating system de¬ fines and controls its own file sys¬ tem. UNIX presents a classic ex¬ ample of this problem. In Sun’s UNIX implementation of the NFS, the problem is solved by cleanly separating file system operations from the semantics of their imple¬ mentation (Figure 1). This clean separation is known as the vnode interface. Above the vnode inter¬ face, the operating system deals in vnodes, while below the inter¬ face, the file system may or may not implement inodes. From a vnode, the operating system uses the vnode interface to connect to a virtual file system (VFS). A VFS is in many ways analogous to a device driver: there is a well-de¬ fined interface to the rest of the operating system, and within that DISTRIBUTED FILE SYSTEMS interface, a great variety of de¬ vices can be supported. A local VFS connects to file sys¬ tem data on a local device. The remote VFS defines and imple¬ ments the NFS interface. The re¬ mote VFS uses the RPC mecha¬ nism to access the NFS server. RPC allows communication with remote services in a manner simi¬ lar to procedure calling mecha¬ nisms available in many pro¬ gramming languages. NFS and RPC “high-level protocols” are described using the XDR pack¬ age. XDR permits machine-inde¬ pendent representation and def¬ inition of high-level protocols on the network. The arrows of Figure 1 show the flow of a request from a client (upper left) to local file systems 30 UNIX REVIEW MAY 1985 (lower left) and to a file system on a server (lower right). In the case of access through a local VFS, re¬ quests are directed to file system data on devices connected to the client machine. In the case of ac¬ cess through a remote VFS, the request is passed through the RPC and XDR layers onto the net. On the server side, requests are passed through the RPC and XDR layers to an NFS server, which in turn uses the vnode interface to access a local VFS and service the request. This path is retraced to return results. PERFORMANCE A remote file system with poor performance will not gain wide use or acceptance, despite what other advantages it might offer. Therefore, performance must be considered from the beginning; some useful design guidelines are: • move work from the server to the client whenever possible. • allow client caching of data blocks, especially for read-ahead. • allow short-term caching of file status information on the client. • avoid excessive locking and syn¬ chronization requirements. • minimize reliability and recov¬ ery overhead, especially for the servers. FILENAME SYNTAX AND SEMANTICS Remote filenames should look like names provided by the client operating system; thus, a UNIX client should use the UNIX path¬ name syntax and semantics, and access to remote files should come through a mounted file system. A less obvious design decision comes in the division of responsi¬ bility for pathname interpreta¬ tion—that is, when a client en¬ counters a mount point that goes onto the net, does it pass the re¬ mainder of the pathname to the server for interpretation or does it continue to interpret the path¬ name itself, element by element? Important advantages are gained by having the client do pathname interpretation. They include: • the server may be running a dif¬ ferent operating system and use different syntax for pathnames. • a client can mount a private di¬ rectory on a remote directory. This has transparency implica¬ tions, since applications requir¬ ing private spool areas would oth¬ erwise have to be rewritten to run on a “distributed” version of the operating system. • a client can mount a remote file system in a remote directory. This SUN NFS ARCHITECTURE AND IMPLEMENTATION, EXAMPLE CONFIGURATION Client Server Figure 1 — An illustration of one way to separate file system operations from the semantics of their implementation. means that the client, rather than the server, takes responsibility for maintaining information re¬ lated to the file tree it sees on the net. • complex service arrangements involving more than one server and client are prevented, simpli¬ fying performance, recovery, au¬ thentication, and deadlock prop¬ erties of the network. INPUT/OUTPUT REQUESTS There is a choice between three basic options that a file I/O re¬ quest can exercise: it can ask for an entire file, blocks, or bytes. Asking for an entire file means the file is transferred to the client when it is opened, and trans¬ ferred back when it is closed. This implies that the client has enough local storage to hold the file, which can be a problem for a small diskless workstation that’s dealing with large files. Block-level requests mean that the block size is defined to be part of the interface presented to the network, and that blocks are transferred as a part of read and write operations. Most UNIX sys¬ tems can be configured to use a new block size and some deal si¬ multaneously with file systems using different block sizes. Other operating systems may have a preconceived notion of block size and find it difficult to deal with the size presented by the server. The third choice, which the NFS uses, is to employ byte-level requests. This means that the server is willing to accept re¬ quests starting at any byte in a file and running to a length of any- ‘i rf in' II III 111 .11 jJUEl vvll , i » V lv 11 Id A mum number of bytes (defined by each system). Byte-level naming presents the greatest flexibility to the client since it can simulate ei¬ ther of the previous methods. Of course, requests of certain sizes • 11 _ rr* . i j t i « server and the packet sizes on the network. The choice of request size also has implications for synchroniza¬ tion. For example, byte-level lock¬ ing is problematic if the interface The services approach emphasizes the interfaces presented to the net, resulting in an open system. requires file or block-level trans¬ fer. This is because the unit to be locked is smaller than the basic unit the interface deals with. RELIABILITY AND RECOVERY Most popular operating sys¬ tems are written to run on a single computer, and they tend to as¬ sume that they know and control everything within their domain. As a result, use of the distributed approach to extend an operating system or any substantial part of its functionality onto a network requires a great deal of consisten¬ cy and synchronization (state) among participating machines. With care in design and imple¬ mentation, such a system can perform well in normal circum¬ stances. However, it is unlikely that it can perform well in the face of failures. As the number of ma¬ chines increases, it becomes more likely that at least one will experi¬ ence difficulties. Furthermore, the effort required to maintain and recreate state across a failure and recovery of a client or server increases with the number of ma¬ chines. Thus, in a large net, sub¬ stantial amounts of computing re¬ sources will be spent in recovery activities. With a distributed approach, there is an implicit trust between systems that state will be properly maintained. In the case of a work¬ station environment, this is not a safe assumption, as the machines FORTRAN 77 COMPILER INCLUDES FULL SUPPORT FOR MOTOROLA’S MC68020/68881 Full ANSI 77 implementation Full Screen Source Level Symbolic Debugger Unix and C Interface (Unix is a trademark of AT&T) Generates 68000 and 68010 Code Support for NS32081 and SKY FFP Math Hardware ALSO AVAILABLE (M/Ml MACHO ASSEMBLES 100% Motorola Compatible - Includes C Interface 2X to 20X Faster Than Most Assemblers ab^rifT SCIENTIFIC/ENGINEERING SOFTWARE 4268 N. Woodward Royal Oak, Michigan 48072 Use Tango to: Buy Tango for: • Connect IBM and • • Execution of DOS compatible PC's running programs on the PC DOS to UNIX systems. under UNIX control. • Offload processing to PCs. • Control data and applications on remote PC's • Distribute processing between UNIX and PCs. • Simple elegant tile transfer under error correcting protocol. • DEC. IBM. and Tektronix (graphics) terminal emulation Tango utilizes a standard RS-232 serial port on the PC and connects to the UNIX computer via a modem or direct connection (ONI CH N First St. Ann Arbor. Michigan 48103 CH) 065-8778 Ielex 466508 T:inro ,t fi;nkin rk ol < < 'M l \|\ ;j If ,«.lv •tUif'k >1 B« li 1 i i t <1 I .0' often are not under the control of a disciplined operations staff. Also, the interface is made more complex by the need to maintain and recreate state. Hence, the im- plementation of a client or server becomes more difficult. These two facts may ultimately eliminate PCs as clients. The NFS approach defines the interface such that file servers are stateless. This means that serv¬ ers do not remember from one transaction to the next anything about their clients, the transac¬ tions they completed, or the files they operated on. For example, there is no NFS open operation, as this would imply that servers remember what files are open. Of course, the UNIX client interface uses an open operation, but the information gained in the oper¬ ation is remembered only by the client for use in later NFS opera¬ tions. The major advantage of a state¬ less server is the robustness it displays in the face of client, serv¬ er, or network failures. Should a client fail, it is not necessary for a server (or human administrator) to take any action to continue nor¬ mal operation. Should a server or the network fail, clients can retry NFS operations until the server or network is fixed. Once the server or network becomes operational, clients may resume operation as though no failure occurred. A stateless interface should also support idempotent opera¬ tions. This means that applying an operation more than one time has the same result as applying it only once. Thus, retrying “failed” operations is safe. For certain operations, such as read or write, idempotence is easy. Others, such as remove or rename are diffi¬ cult, but engineering approxima¬ tions can be obtained by having the server keep a cache of recent operations to recognize retries and by having the client ignore certain error returns on retried operations. On the negative side, it is diffi¬ cult or impossible to provide stateless versions of features like locking or special files. This com- plexity is required by very few ap- With a distributed approach, there is an implicit trust between systems that state will be properly maintained. plications, and it is often the case that complex features are “not quite right” for any given applica¬ tion. The NFS approach is to pro¬ vide these types of services as companion “cafeteria-style” of¬ ferings so that only those custom¬ ers who require them will pay the extra cost in performance and complexity. Furthermore, these services can be built using a “toolkit” philosophy so that cus¬ tomers can easily tailor features to fit their own requirements. ADMINISTRATION AND MAINTENANCE If one takes the view that the distributed file system is being used to join extant systems, then it is natural to propose that each system provide a mapping from other systems to its own view. For example, the /etc/passwd file on each system can be made to map a remote uid and gid to a local uid and gid. This quickly becomes a night¬ mare to administer; when a new user is added to the collection of systems, an /etc/passwd entry must be made on every system. And having different numeric uid’s and gid’s for the same user causes difficulties when that user moves from system to system. The NFS approach is to “flat- ten” administrative data, so that the cost of obtaining sharing can be paid just once at the beginning. Since many multicomputer in¬ stallations already attempt to maintain common administrative data for their systems, the effort required may be small. In order to ease the task of ad¬ ministration, a companion ser¬ vice called the Yellow Pages (YP) is provided with the NFS. From the point of view of the servers and clients, the YP is a centralized read-only database. For a client, this means that an application’s access to the data served by the YP is independent of the relative locations of the client and server. The YP is a collection of cooper¬ ating server processes that use a simple discipline to distribute data among themselves. Thus, the servers share the load of pro¬ viding access to data, and the fail¬ ure of a server need not disable the network. The YP does not im¬ plement a true distributed data¬ base since, for every relation in the database, one YP server is designated to control the update of data for the entire collection of YP servers. Thus, the administration of an entire network of servers and cli¬ ents is done from a single point of contact. Should the control server fail, an alternate server can be designated as the control. The policy for distributing changes through the network yields a weak form of consistency: the da- tabases across the network will be consistent after a “reason¬ able” time has elapsed. A system administrator can have changes distributed periodically according to a schedule, or can have them Continued to Page 94 UNIX REVIEW MAY 1985 33 THE UNTAPPED POTENTIAL OF REMOTE PROCEDURE CALLS A Courier of good tidings by Steven F. Holmgren Though the use of remote pro¬ cedure calls is not yet widespread, these mechanisms for the remote execution of software offer a rich form of system interaction. Those who have RPC capabilities can execute remote software on a sub¬ routine-by-subroutine basis. This allows the user to obtain finite data or data descriptions by call¬ ing remote subroutines with a fi¬ nite series of parameter data in a specified execution environment. Among the tasks accomplished by the calling procedure are the packaging of the parameter data, the establishment of a remote ex¬ ecution environment, the trans¬ mission of the packaged request, the receipt of the completed ex¬ ecution, the unpackaging of the results, and the delivery of those results to the initiator of the call. Unfortunately, hype from net¬ work vendors about the generic capabilities of their products has tended to cloud common percep¬ tions about remote procedure call mechanisms, and networking in general. Broadly speaking, net¬ working today offers the ability to exchange text-based files and emulate remote terminals. From a user’s viewpoint, this is hardly an easy environment to work within. It forces users to understand the topology of their local network; the location, format, and sizing of any interesting data within that network; and the command syn¬ tax and sequencing of whatever operating system might be neces¬ sary to manipulate the data. Moreover, the user of today’s typi¬ cal network product must have some form of access authoriza¬ tion to get at data in the first place. This may require users to have a number of different login identifiers, with passwords that could change monthly. This sort of arrangement sim¬ ply isn’t the “tie all your ma¬ chines together” panacea that many users might have thought they had purchased. The user is not usually chomping at the bit to jump into the middle of the file transfer process or to provide re¬ mote password information; rath¬ er, what the user wants is to acquire whatever applications, data, or software is necessary to get the job done. The remote procedure call mod¬ el offers vastly increased flexibil¬ ity in processing system interac¬ tion. It has been long held as an ideal for communications devel¬ opers to work toward. With an operational remote procedure call capability, users can actually se¬ lect from a variety of remote machine services (such as sort) instead of chafing under the con¬ strictions of the limited set of file- by-file or remote terminal inter¬ actions that are commonly found in “modern” networking prod¬ ucts. Subroutine call and return pro¬ cessing typically takes a few milli- Illustration by Amy Lanset UNIX REVIEW MAY 1985 35 REMOTE PROCEDURE CALLS seconds in a modern processor. In the remote procedure call envi¬ ronment, parameter encode/de¬ code processing and transmission overhead can take as long as 500 milliseconds. This performance differential has historically made it impractical to use remote proce¬ dure calls for system interaction. The recent advent of 10 mbps Ethernet communications and high speed 32-bit microproces¬ sors have created a set of process¬ ing economics that allow users to communicate data reliably be¬ tween applications at over one million bits per second. This pro¬ cessing and transmission perfor¬ mance has led to a renewed inter¬ est in remote procedure call models of system interaction. Because Xerox became one of the earliest progenitors of readily available high-speed, local com¬ munications when it first offered a 2.94 mbps version of the Ether¬ net, it is not surprising that some of the best known work in the area of remote procedure process¬ ing stems from the Xerox Network System (XNS) family of protocols. The remainder of this article will develop a reference model for remote procedure call protocols, discuss the XNS Courier model, and finally suggest two evolution¬ ary paths that the technology might follow. REMOTE PROCEDURE CALL REFERENCE MODEL The overhead required to pro¬ cess a remote procedure call is significant, and the performance of that overhead processing has a lot to do with the success or fail¬ ure of a remote call implementa¬ tion. A brief look at the compo¬ nent steps of a remote call should lay out the scope of the problem and serve as a framework for fu¬ ture discussions. 1) establish an execution en¬ vironment. 2) request procedure and pa¬ rameter encoding. 3) request transmission. 4) request procedure and pa¬ rameter decoding. 5) execute task. 6) encode reply. 7) transmit reply. 8) decode reply. 9) tear down execution envi¬ ronment. EXECUTION ENVIRONMENT The establishment and subse¬ quent destruction of an execution environment is required for the management of a reliable, consis¬ tent communications path be¬ tween the initiating procedure The remote procedure call model offers vastly increased flexibility in processing system interaction. call environment and its compan¬ ion execution environment. At minimum, this requires the con¬ struction of a reliable communi¬ cations circuit from the initiating network node to the executing network node. Data for this pur¬ pose includes: a network name, address, and route to set param¬ eters for a network connection re¬ quest. Once remote service avail¬ ability has been established, authentication information is re¬ quired (a username and pass¬ word, for example). Finally, user profile information, such as path¬ name search rules or name alias information, needs to be ex¬ changed if the execution environ¬ ment is to be properly conditioned for the procedure calls them¬ selves. Each implementation and some protocol specifications re¬ quire a policy decision about when to establish and tear down an environment. The choices in¬ clude: 1) a high overhead policy in setup and teardown after each re¬ quest, 2) the establishment of a global remote environment when¬ ever any execution is taking place, and 3) the destruction of environments on a least-recently- used time basis—in effect cach¬ ing other environments under the assumption that they might be needed. PARAMETER ENCODING AND DECODING When communicating with a different breed of systems, it is important to express binary and character information in a con¬ sistent, standard fashion. Typi¬ cally, this involves the creation of a data structure that describes the parameter type [binary char¬ acter , binary integer , or com¬ plex , for example) followed by the actual parameter value. Com¬ plex information concerning the length of a parameter (such as the size of a character string or the number of array elements) is also encoded in a prepended field fol¬ lowed by the parameter itself (or, in some cases, by a series of pa¬ rameters). Various forms of en¬ coding and decoding software exist to transform arbitrary infor¬ mation into an encoded string or to take an encoded string and pro¬ duce localized versions of the de¬ coded parameter information. In a technology where end-user performance is strongly associat¬ ed with end-user acceptance, it is important to realize that the en¬ coding and decoding process is ex¬ tremely time consuming. Further, since the process is performed four times for each remote proce¬ dure call, it should be noted that its overhead is magnified and that particular attention needs to be 36 UNIX REVIEW MAY 1985 paid to optimizing the software that implements it. REQUEST AND REPLY TRANSMISSION Transmission bandwidth is al¬ so critical to the overall perfor¬ mance of a remote procedure call system. Procedure call perfor¬ mance must fall within some rea¬ sonable time boundary or users will find other ways to accomplish their work. It is suggested that 10 mbps communication channels be the minimum performance communication path in any com¬ monly used environment. Fur¬ ther, signaling bandwidth must be coupled with a high-speed net¬ work processing engine in order to ensure reliable data communi¬ cations on a packet-by-packet ba¬ sis between network nodes. As a rule of thumb, application level performance must approach a one million bit per second data rate in order for general response communications to take place. COURIER: THE REMOTE PROCEDURE CALL PROTOCOL The Courier defines remote programs that are uniquely num¬ bered. Each program contains a scries of procedures that may be invoked as a service to network users. Within each remote pro¬ gram, remote procedures are uniquely numbered and the ap¬ propriate return and error values are defined. Environment management is handled by the creation of a reli¬ able data stream at the beginning of a “session”. The data stream is kept open until the session ends. Reliable data stream communica¬ tions are supported by the Xerox Sequenced Packet Protocol. A formal grammar specifying Boolean, cardinal, integer, long integer, string, and untyped data types handles the parameter en¬ coding and decoding. In general. Boolean data types are single-bit entities in a 16-bit field, cardinal types are 16 and 32-bit unsigned binary entities, integer types are 16 and 32-bit binary entities, and strings are delineated by a 16-bit field followed immediately by 8- bit characters. Given these basic data types, a number of “con¬ structed” types can be defined to allow for arrays, enumerations, sequences, records, and choices. These synthetic types are combi¬ nations of the basic data types with a different organization. Us¬ ing this scheme, all parameters, procedure identifications, and re¬ turn values are virtualized. Even though attention has been paid to the need for minimizing the en¬ coding and decoding process, there is still significant overhead in support of what Courier names the object layer. In addition to the object layer, Courier defines a message stream layer to add context to the data. The message stream contains 'DeveiofitHent CosifunatioK 9952 Pebbleknoll Dr. • Cincinnati, Ohio 45247 • (513) 741-8968 At long last, ITDC—a leading supplier of UNIX™ and C software con¬ sulting, development and education services—is making its highly successful education courses available to the public. Taught in a class¬ room environment that offers over 50% hands-on training, our courses are taught by professionals for professionals. 1985 Summer, Fall and Winter Course Schedule UNIX for Application Developers June 17-28, September 9-20, November 11-22 UNIX for End Users July 15-19, August 5-9, October 14-18, December 2-6 C Programming Language July 22-August 2, September 30-October 11 C-Shell Programming August 26-30, November 4-8 BOURNE Shell Programming August 19-23, October 28-November 1 UNIX Systems Administration September 23-27 INFORMIX ,M Relational Data Base July 8-12, August 12-16, October 21-25 ITDC’s courses are taught in Cincinnati, Ohio. Enrollment in any of the classes listed in the course schedule may be accomplished by con¬ tacting ITDC by phone or letter. ITDC requests that you register well in advance of the course date, as ITDC classes are well attended and enrollment is limited. If a purchase order or payment has not been received at least two weeks before the class starts, your reservation will not be guaranteed. Tuition is $500 per student for one week courses and $1000 per stu¬ dent for two week courses. Payment may be made by confirmed com¬ pany purchase order, check or money order. UNIX is a trademark of AT&T Bell Laboratories. INFORMIX is a trademark of Relational Database Systems. Circle No. 241 on Inquiry Card UNIX REVIEW MAY 1985 37 It’s a big word these days. And no one has a bigger commitment to it than Apollo. In fact, we’ve raised the UNIX™ standard to new heights. We’re the first major computer company to implement both AT&TSystemV and Berkeley 4.2 on a professional worksta¬ tion. So you can run either standard or both simultaneously. More important, we’re the only company that gives you UNIX in a powerful, distributed processing environment. One that features 32-bit dedicated workstations, high resolution graphics, and a high-speed local area Circle No. 239 on Inquiry Card ■J&U. network that lets you transparently share infor¬ mation and resources. Today, the right UNIX standard is a choice of standards. For a demonstration of a standard that’s anything but ordinary, call (617) 256-6600 x4419. Or write Apollo, 330 Billerica Rd., Chelmsford, MA 01824, MS32. 02402-154 4/85 REMOTE PROCEDURE CALLS four data types: call return , re¬ ject and abort. The call and re¬ turn types are used as part of the normal processing of a procedure request and reply. The reject re¬ quest indicates a system-level failure in the processing of a re¬ quest, and abort is used to indi¬ cate programmatic level errors. Operationally, Courier sets up a Sequenced Packet Connection, selects a unique number to repre¬ sent the remote program to be called, and selects a unique num¬ ber to represent the remote proce¬ dure to be called within the re¬ mote program. It then encodes the parameters and issues a call re¬ quest. A return reply will then be received with any associated data. The unique program number is assigned in much the same way that unique Ethernet addresses are assigned. The unique proce¬ dure number that is assigned within a remote program is a 16- bit value selected by the imple¬ mentor. If there is one particularly common criticism of the Courier, it relates to this manual assign¬ ment of a unique number to all programs. The practice is still conceivably workable, but given that most of the software in the world has been generated during the last 30 years, one wonders how many “billions and billions” of remote programs will be sold and thus need to be numbered over the next 30 years. Courier is fairly basic in that it uses a single procedure call-per- interaction and accomplishes re¬ mote processing by grouping re¬ mote procedure calls. Procedure selection and parameter typing are made as efficient as possible on a call-by-call basis so that any real improvements in the practi¬ cal implementation of the proto¬ col must come from superior com¬ munications line performance, encoding performance, or execu¬ tion performance. There are, however, global opti¬ mizations that could be made by extending the protocol to add glo¬ bal intelligence to each procedure request. In this way, the number of request and reply transactions can be reduced without dampen¬ ing the level of remote processing. PROCEDURE CONTROL PROTOCOL One of the first ways in which the protocol can be extended is by adding remote evaluation of pro¬ cedure return data. This should occur before the data is encoded for return, so that the initiator might have an opportunity to modify the parameters and re¬ issue the call at the execution site. Constructs to do this could be pat¬ terned after modern program command languages such as the standard UNIX shell. Simple ca¬ pabilities such as while , do, if- else , and the remaining set of in¬ dustry standard program control modifiers would thus become as applicable to the control of remote processing as they are today to the semi-automatic handling of com¬ mands in a generalized timeshar¬ ing environment. DISTRIBUTED PROCESSING PROTOCOL In the Courier protocol, remote procedures are selected from a fixed list of procedures. The list is organized manually by remote procedure numbers under each remote program. There are a number of ways to make this manual process more flexible. XENIX Communications Available NOW! Put your computers on speaking terms. $ 295 00 TERM. Communications Software Everyone from the beginning computer user to the expert finds TERM easy to learn and powerful to use Just plug it in and go 1 In a few keystrokes you can access a remote database or send a group of files to another system TERM allows your computer to perform efficient, error-free exchange of binary or text files, over phone lines or hard wired circuits at speeds of up to 9600 baud Available options allow you to include or exclude a group of files for transfer in a single command TERM s data capture feature allows saving transcripts of sessions with remote mainframe and minicompu¬ ters to disk for later editing or printout if desired Modem7 protocol for remote bulletin boards Auto-dial/Answer and Hangup supported on Hayes Smartmodem 300/1200 and compatibles Programmable batch file capability » Unattended file transfer/auto logon > Translation tables lor input and output • Pre-installed and ready to run • Automatic error checking and re-transmission • Wildcard (* •) file send/receive, capability • Xon/Xoff. Etx/Ack Ascii protocols for com¬ munications with non-TERM systems • Full/half duplex emulation mode for remote systems TERM is available now on the Altos 586 and Tandy Model 16 along with more than 35CP/M-80 MSD0S. and Cp/m— 86systems: IBM PC^/XT Kaypro. Osborne Televideo. Victor Apple* II—CP/M Heath Vector Sanyo. Eagle. Molecular. Altos, and many others CALL OR WRITE FOR FREE PRODUCT CATALOG CENTURY software We make it easy tor you. 9558 South Pinedale Circle Sandy. Utah 84092 (801) 943-8386 CP/M is a registered TM ot Digital Research Circle No. 235 on Inquiry Card 40 UNIX REVIEW MAY 1985 National’s Series 32000": First In Design, First To Production, First To Market Now You Can Be The First To Build On It. You’re a software innovator with extensive UNIX™ experience. You want to work with emerging tech¬ nologies. And the only opportu¬ nity you’re interested in is the opportunity to make a difference. You belong at National Semicon¬ ductor’s advanced product devel¬ opment center in Portland, Oregon. We’re developing a UNIX operating system perfor¬ mance-tuned to Series 32000-based board-level comput¬ ers. Then we’ll expand it to include graphics and network support within the AT&T System 5 framework. It’s one of software’s most excit¬ ing challenges. To meet it, we need software development pro¬ fessionals who possess a BS/MS in CS or EE, or equivalent, plus at least three years of experience in one of these areas: UNIX Internals You will specify hardware design and implement UNIX on new hardware. LAN Implementation Experience designing and devel¬ oping Ethernet systems, plus implementation knowledge of TCP/IP, ISO protocols important. Graphics Kernel Development You will define and implement hardware to support GKS or ANSI CORE graphics kernels and applications. Utilities You will port UNIX utilities to new hardware and software. Diagnostic Programming Work with design and test engi¬ neering to write user-friendly hardware diagnostic programs. CAD Support Put your Pascal programming experience to work producing programs to make CAD equip¬ ment easier to use. Software Support General OS experience plus knowledge of UNIX operating system needed to develop oper¬ ating system, networking and graphics packages. The Pleasures of a Start-Up Without the Pains of Growing Up. What can we offer you? High energy. Top rewards. Unsur¬ passed technical resources. In fact, all you expect from an invig¬ orating start-up environment. Plus the added benefit of solid support from National Semicon¬ ductor — a technological leader for nearly twenty years. To apply, send your resume to NATIONAL SEMICONDUC¬ TOR, Portland Development Center, Professional Employ¬ ment, Dept. UR, 15201 S.W. Greenbrier Pkwy., Beaverton, OR 97006. *UNIX ,M is a trademark of Bell Laboratories. a National Semiconductor Circle No. 266 on Inquiry Card REMOTE PROCEDURE CALLS The use of globally distinguished program and procedure names in¬ stead of numbers is one such way. One can also add naming do¬ mains, regional administrations, and sub-hierarchies to the nam¬ ing process. For all this, though, the user is still essentially limited to selecting an existing remote procedure from a pre-defined list. There is a larger optimization possibility that extends the list of pre-defined procedures to include the execution of whatever data is included as a parameter to the re¬ quest itself. In effect, this sends a procedure to a remote system as part of a call request and lets the remote system support its execu¬ tion with the appropriate param¬ eters, data, and resources. Some form of programming language would need to be included in each remote procedure call request to make this approach work. The flexibility derived from such an organization and the possibility of simultaneously processing opera¬ tions would substantially en¬ hance the coupling of processing resources. The range of possible applica¬ tions involving a series of distrib¬ uted machines and a distributed procedure protocol exhausts the imagination. For example, an ap¬ plication might allow a user to for¬ mulate a database request that searches through the database for selected data, isolates the selected data, and returns a reply when complete. A user could also send requests off to a series of ma¬ chines, each processing in paral¬ lel. As the replies were returned, the user could then integrate the associated data into its final form. An alternative application might involve the transmission of a text editor to the data so that data modifications might be performed “on site”. One final application could in¬ clude the use of a program capa¬ ble of transmitting itself to a se¬ ries of different sites for the purpose of gathering opinion data from users. While moving from one site to another, it could issue intermediate results and status reports about its progress. When such a program had polled all of its users, it could return to its ini¬ tiating site to report final results. CONCLUSION Today, resource sharing is most widely supported by text-based file exchange and remote termi¬ nal interaction. The remote pro¬ cedure call concept offers a much Continued to Page 92 CEEGEN-GKS GRAPHICS SOFTWARE in C for Unix □ Full Implementation of Level 2B GKS □ Outputs, Inputs, Segments, Metafile □ Full Simulation for Linetypes, Linewidths, Fill Areas, Hatching □ Circles and Arcs, Ellipses and Elliptic Arcs, Bezier Curves □ Ports for Version 7, System III, System V □ Terminal, Plotter, Graphics Printer, Digitizer Drivers Available □ End-User, OEM, Distributor Discounts Available Sales Reps and Distributor Inquires Invited. Ceegen Corporation 20 S. Santa Cruz Ave., Suite 102 Los Gatos, CA 95030 (408) 354-8841 TWX: 9103506750 CEEGEN LG CEEGEN is a trademark of Ceegen Corporation Unix is a trademark of AT&T Bell Laboratories Circle No. 243 on Inquiry Card Version 3d0 Available Now! The Reliable High Performance APL for UNIX* Systems Dyalog APL is fast! Version 3.0 is up to 10 times faster than previous versions! Dyalog APL is functional! Nested Arrays Full Screen Editor Full Screen Data Manager Event Trapping Interface to all UNIX* Facilities Optional Graphics Dylalog APL is reliable! Dyalog APL has been in commercial use for over two years and is available NOW for most UNIX* Systems so call or write today. MIPS Software Development, INC 31555 W. 14 Mile Rd. #104 Farmington Hills, MI 48018 , | m p fo * cm cnu IK « function oT lyiirm and UU|« (313) 855-3552 ‘UNIX i> • tr.dcm.tk of ATAT Bell Lihot.ii if to Circle No. 242 on Inquiry Card 42 UNIX REVIEW MAY 1985 c ADVISOR Remote procedure calls by Bill Tuthill Last month’s column was a discussion of how 4.2BSD sockets permit communication between processes on the same machine, and how they can link processes on different machines. As demon¬ strated by the examples, sockets are not easy to use, though they may be efficient to implement. The remote procedure call (RPC) mechanism is an alternate means of inter-process communication. Since RPC is easier to use than are sockets, and since it has been implemented with sockets, one could say that RPC is higher-level. Because RPC is new to most system developers, it s hard to predict what kind of popularity it will achieve. An important early RPC implementation was Courier, used in Xerox Network Systems. This article discusses a recent implementation by Sun Microsystems, heavily influenced by Courier but based on UNIX. In the RPC model, programs call a procedure that sends data packets to a server, where a dispatch process services incoming requests. When a request is completed, the server process sends back a reply, and the procedure call returns to the client program. Figure 1 shows what sockets look like; Figure 2 shows what RPC looks like. At the simplest level, programs can make RPC calls as if they were normal procedure calls on the local machine. In order for this to work, the system has to be furnished with library routines such as rnusers(), which returns the number of users on a given host. Figure 3 shows how to obtain the number of users on any machine connected to the network. If a system hasn’t been furnished with the proper rou¬ tines, things are a bit more difficult. First, it’s neces¬ sary to set up a daemon on the server machine, and register the required routines. Re¬ mote procedures are registered with a 96-bit quantity that en¬ codes program, version, and pro¬ cedure number. This way, when it receives a remote procedure call, the daemon knows what routine it should call to service the re¬ quest. For example, suppose there is a remote database, structured like / etc/passwd , containing infor¬ mation about all users on the net¬ work. Figure 4 shows how the daemon registers the service. The registerrpc() call establishes a correspondence between a given C routine and a particular RPC procedure number. In this example, we used the assigned program number PWPROG, version number PWVERS, and procedure number PWPROCNUM. These numbers are not cast in con¬ crete, but server and client must agree on their val¬ ues. The final two parameters are input and output routines for packaging network data going to the netpw() routine. The svc—run() call is a library rou¬ tine that goes into a wait state in order to receive RPC requests coming over the network. It should never return, because this program runs as a daemon. The netpw() routine is quite simple, calling the library routine getpw() to retrieve an entry from the password file, given a user ID. Because xdr—string() needs the address of a string pointer, rather than merely the address of the string’s first element, we return the address oi pwline. which points to the buf array. After setting up a server machine, programs on the client machine can call the network service as demonstrated in Figure 5. The callrpcf) routine takes eight parameters: the remote machine, the program number, the version number, the proce- UNIX REVIEW MAY 1985 43 C ADVISOR INTER-PROCESS COMMUNICATION USING SOCKETS process / sockeA J socketV process Vy Machine A Machine B INTER-PROCESS COMMUNICATION WITH REMOTE PROCEDURE CALLS client program service daemon callrpcf) Machine B function execute request call service return answer return request completed reply \ service executes Figure 1 — A diagram of a socket. Figure 2 — An RPC diagram. ^include mainCargc, argv) int argc; char *argv[]; unsigned num; if (argc < 2) -C fprintf (stderr, "usage: %s hostname\n", argvLUJ); exitd); > if ((num = rnusers(argvC1 ])) < 0) -C fprintf(stderr, "error calling rnusers\n"); exit(-l); printf("%d user%s on %s\n", num, (num > 1) ? "s" : argvll]); exit(0); Figure 3 — A program for obtaining the number of users on any machine connected into the network. 44 UNIX REVIEW MAY 1985 //include //define PWPROG 0x20000000 //define PWVERS 1 //define PWPROCNUM 1 char **netpw(); int xdr_int(), xdr_string; mainO /* register remote prodecure */ { registerrpc(PWPROG, PWVERS, PWPROCNUM, netpw, xdr_int, xdr_string); svc__run(); /* never returns */ fprintf(stderr, "error: svc__run() returned!\n M ); exit(1); > char ** netpw(uid)/* given uid, return Line from password file */ int *uid; { static char bufCBUFSIZ], *pwline = buf; if (getpw(*uid, buf) != 0) strcpyCbuf, "bad password entry"); return(&pwline); > Figure 4 — The way in which a daemon establishes a correspondence between a C routine and an RPC procedure number. #include #define PWPROG0x20000000 ^define PWVERS 1 //define PWPROCNUM 1 int xdr_int(), xdr_string(); mainCargc, argv) int argc; char *argv[]; char *pwline; int uid; if (argc != 3) -C fprintf(stderr, "usage: %s hostname uid\n", argvCO]); exit(1); > uid = atoi(argvC2]); if (callrpc(argvC1], PWPROG, PWVERS, PWPROCNUM, xdr_int, &uid, xdr_string, Spwline) != 0) { fprintf(stderr, "error calling callrpc\n"); exit(2); > printf("%s\n", pwline); exit(0); > Figure 5 — An example of how programs on a client machine can call for a network service after a server machine has been set up. UNIX REVIEW MAY 1985 45 U C ADVISOR dure number, the input argument type, the address of the input argument, the output argument type, and the address of the output argument. Input and output argument types are in fact routines that package network data. One problem in network data transmission is that different machines on the network have different architectures. For example, even though the VAX and the M68010 have the same word size, the 68010 is forward byte-ordered, while the VAX is backward byte-ordered. Consider the writer program, shown in Figure 6, and the reader program, shown in Fig¬ ure 7. Piping the output of writer to reader gives identical results on a 68010 or a VAX. sun% writer | reader 0 1 2 3 4 5 6 7 sun% vax% writer | reader 0 1 2 3 4 5 6 7 vax% But if writer is run on a 68010, and reader is run from a remote shell on a VAX, the results are bogus: sun% writer | rsh vax reader 0 16777216 33554432 50331648 67108864 83886080 100663296 117440512 sun% Identical results are obtained when executing writer on the VAX and reader from a remote shell on the Sun. These results occur because the byte order¬ ing of long integers differs between the VAX and the Sun, even though word size is the same. Note that 16,777,216 is 2 24 —when four bytes are reversed, the 1 winds up in the 24th bit. It is evident that RPC won’t work across different architectures unless data is encapsulated in a ma¬ chine-independent way. The xdr—int() and xdr— string() routines in the registerrpc() and callrpc() examples above are part of Sun’s external data rep¬ resentation (XDR) package, a vehicle for transmit- tfinclude mainO /* writer.c */ long i; for (i = 0; i < 8; i++) { if (fwrite((char *)&i, sizeof(i), 1, stdout) != 1) { fprintf(stderr, "failed!\n"); exit(l); > > Figure 6 — The writer program. ^include mainO { /* reader.c */ long i, j; for (j = 0; j < 8; j++) { if (fread((char *)&i, sizeof(i), 1, stdin) != 1) { fprintf(stderr, "failed!\n"); exit(1); > printf("%ld ", i); > printf("\n"); Figure 7 — The reader program. 46 UNIX REVIEW MAY 1985 YOU CHOOSE: Terminal Emulation Mode MLINK CU/UUCP Menu-driven Interface Yes Expert/brief Command Mode Yes Yes Extensive Help Facility Yes Directory-based Autodialing Yes Automatic Logon Yes Yes Programmable Function Keys Yes Multiple Modem Support Yes Yes File Transfer Mode Error Checking Protocol Yes Yes Wildcard File Transfers Yes Yes File Transfer Lists Yes Yes XMODEM Protocol Support Yes Compatible with Non-Unix Systems Yes Command Language Conditional Instructions Yes User Variables Yes Labels Yes Fast Interpreted Object Code Yes Program Run Yes Subroutines Yes Arithmetic and String Instructions Yes Debugger Yes Miscellaneous Electronic Mail Yes Yes Unattended Scheduling Yes Yes Expandable Interface Yes CP/M, MS/DOS Versions Available Yes MLINK The choice is easy. Our MLINK Data Communications System is the most powerful and flexible telecommunications software you can buy for your Unix™ system. And it’s easy to use. MLINK comes complete with all of the features listed above, a clear and com¬ prehensive 275-page manual, and 21 applications scripts which show you how our unique script language satisfies the most demanding requirements. Choose the best. Choose MLINK. Corporate Microsystems, Inc. P.O. Box 277 Etna, NH 03750 (603) 448-5193 Please send me the following version(s) of MLINK: . Altos 486/586/986 Xenix ($250) . AT&T 3B2 Unix System V ($500) .DEC PDP-11 SCO Xenix ($500) . IBM PC/XT/AT or compatible ($250) . Send me more information MLINK is available for many systems. Please call for current version information. Introductory offer - we pay shipping! Outside North America add $15.00 (U.S.) _Check enclosed _MasterCard _Visa _COD (Registered checks or money orders only) Card #_Exp. Signature______ Ship to: Name __ Address __ City/State/Zip _ MLINK is a trade Microsoft Corp. mark of Corporate Microsystems, Inc. Unix is a trademark of AT&T Bell Laboratories. IBM is a registered trademark of CP/M is a registered trademark of Digital Research. IBM Corp. MS-DOS is a trademark of Circle No. 263 on Inquiry Card W C ADVISOR ting RPC data in a machine-independent way. Con¬ version from one machine representation to XDR format is called serializing , while the reverse pro¬ cess is called deserializing. XDR routines are bi¬ directional, in the sense that the same routine can serialize or deserialize data. Here is a list of some built-in routines: xdrjnt 0 xdr_long() xdr_shortO xdrjjj'ntO xdr_u_l°ngO xdr u short() xdr_f loatO xdr_double() xdr_enum() xdr_bool() xdrjstringO xdr_bytes() The routines in the left column are used for inte¬ gers, long integers, and short integers (signed and unsigned). The routines in the right column are for floating point and double precision numbers, enu¬ merated types, Booleans, null-terminated strings. and byte-counted strings. Structures and arrays can be serialized and deserialized by combining the pri¬ mitives above. The advantage of RPC is that it allows useful fa¬ cilities, such as distributed databases and network file systems, to be implemented without undue diffi¬ culty. The disadvantage is that it adds a level of complexity to the system, and provides features that make sockets redundant. Without pre-packaged li¬ brary routines, RPC is harder to use than are local procedure calls. Furthermore, administrative effort is required to ensure that remote procedure num¬ bers do not conflict with each other. Bill Tuthill was a leading UNIX and C consultant at UC Berkeley for four years prior to becoming a member of the technical staff at Sun Microsystems. He enjoys a solid reputation in the UNIX community earned as part of the Berkeley team that enhanced Version 7 (4.0, 4.1, and 4.2BSD). ■ June/July 1983— August/September 1983—Sritek and Venix . October/November 1983—UNIX Typesetting December/January 1984—Vi and Emacs . . . February/March 1984—UNIX Databases . . . April/May 1984—Menu-based User Interfaces June 1984—Big Blue UNIX . July 1984—The AT&T Family . August 1984—Documentation. September 1984—System Administration . . . October 1984—UNIX on Big Iron . November 1984—User Friendly UNIX . December 1984—Low Cost UNIX . January 1985—Evolution of UNIX. February 1985—UNIX Portability. COMPLETE YOUR NIX REVI LIBRARY! Back issues are $4.95 each including postage, ment in advance is required. Send this order form with check (US funds payable at US bank only) or credit card information to: REVIEW Publications, 901 S. 3rd St., Renton, WA 98055. Additional $ 1.00/issue for foreign mail. Name - Company --- Address - City March 1985—Performance . . . April 1985—UNIX Networkinn 48 UNIX REVIEW MAY 1985 Circle No. 227 on Inquiry Card Environmentalists. Whatever your environment. Lachman Associates, Inc. provides programming serv¬ ices with expertise in your software environment. LAI consultants bring together several hundred man-years of experience to meet your software development needs. Varied systems and proven experience. We provide complete devel¬ opment services for hire. Our expertise spans all of the major microprocessor, minicomputer and System/ 370 operating systems. LAI has been instrumental in a number of UNIX ports, as well as major projects involving: • high-reliability operating systems develop¬ ment • a distributed transaction processing sys¬ tem • development of a new UNIX-like operating system • local area net¬ works using Ethernet and TCP/IP • inter-netting SNA and non-IBM hosts • distributed file system research • a terminal front- end processor • device drivers • relational database systems • compilers • advanced debuggers • comprehen¬ sive support for UTS • enhanced features for MVS and JES • a multi¬ processor architecture eval¬ uation • system perform¬ ance measure¬ ments • develop¬ ment of a heter¬ ogenous network¬ ing system • advanced graphics software. Our related services include market studies, product analysis, customized technical training, documentation and software research and development. Your place or ours. LAI depth and experience, gained from these varied projects, works for you in many ways. Our know¬ ledgeable consultants work to supplement your staff under your management, with focused experience that delivers from day one. We can also provide com¬ plete project design and development, from initial analysis through coding to complete documentation, using our own technical supervision. Put the LAI team’s experience to work for you . . . whatever your environment. MAKING THE IBM CONNECTION Proposals for orchestrating UNIX networks and mainframe databases by David L. Buck The recent popularity of the UNIX operating system in the commercial marketplace is at least partially due to the ease of developing and porting applica¬ tions to the computers that run it. That popularity may be lost when it comes to large companies or data systems, however, if users cannot find ways to integrate the use of their UNIX systems with the use of non-UNIX mainframes and their various computing envi¬ ronments. Fortunately, manufac¬ turers of UNIX-based computers are gradually taking steps to make cross communications con¬ venient. Departments with! n large com¬ panies may find they can use UNIX computer systems to do their own work—with the bless¬ ing of their MIS groups since the load on corporate mainframes can thus be reduced. However, these departments will be limited in the scope of their work so long as they cannot share data with other systems. Users need access to mainframe data and computing resources, while the MIS depart¬ ment must ensure that access is controlled. UNIX systems provide for the controlled sharing of data and computing resources with the UUCP suite of utilities. But UUCP has the disadvantage of not being compatible with most other non- UNIX computer systems, and of having only an asynchronous protocol. Most UNIX system suppliers have recently started to recognize the need for their systems to com¬ Iflustration by Hyon Kim municate with non-UNIX main¬ frames, and so have implemented the protocols that are most com¬ monly used by those systems, in¬ cluding IBM’s Binary Synchro¬ nous Communications protocol (Bisync) and Systems Network Ar¬ chitecture (SNA). Interestingly enough, IBM is not included in the set of manu¬ facturers bridging UNIX to IBM protocols. Though it recently an¬ nounced the availability of UNIX System V on that old IBM work¬ horse, the Series/1 minicom¬ puter, it did not announce the availability of any synchronous communications software for the UNIX port, specifying UUCP in¬ stead as the primary means of transferring data to and from UNIX as it runs under VM/370. Meanwhile, IBM did announce SNA networking extensions for the IBM PC that allow users of the small machine to get into SNA via a Series/1 computer running the standard IBM Series/1 operating system. Even after Bisync and SNA are implemented on a UNIX machine, much remains to be done in achieving effective communi¬ cations with non-UNIX main¬ frames. Most of the software uti¬ lizing these protocols on a UNIX system emulate terminals of one type or another, and so the ability to have a UNIX application inter¬ act with a database on a main¬ frame (host) system is limited by the capabilities of the emulated terminal. Broadly speaking, these terminals can be classified as ei¬ ther interactive or batch. UNIX REVIEW MAY 1985 51 #p fo • nun, n. (pi. FORUMS) 1. A public meeting place for open discussion. 2. A medium (as a newspaper) of open discussion or expression of ideas. 3. A pub¬ lic meeting or lecture involving audience discussion. 4. A program involving discussion of a problem by several authorities. ♦eForum designed by Marcus Watts, Copyright 1984, Network Technologies International, Inc. (NET!). Electronic meetings continue the automation of knowledge transfer which started with electronic mail. Electronic meetings are an extension of the communications revolution which started with electronic mail. It takes seconds to send a letter using electronic mail instead of days via regular mail. Certainly e-mail is a giant step in automating correspondence between two people. eForum goes yet further to provide immediate communications automation. But for groups. It creates electronic meetings which allow attendees to participate in discussions using the dynamic ebb and flow of points, counterpoints, comments and conclusions just like in-person meetings. From an economics point-of-view, eForum is the most cost effective method for bringing together the best minds in your company to meet on key issues—without the price of a single plane trip, the aggravation of schedule conflict or time-consuming delay. eForum is a communications breakthrough product. eForum lets you create electronic meetings with attendee lists as large as the company staff or as small as a three-person design team. Not only can eForum handle hundreds of meetings for your company, but, at the same time, limits each participant to only attending meetings to which he belongs. eForum, n. 1. Low cost electronic meeting system (as in needing no scheduling or travel to attend), v. 1. Automatically organizes, indexes, files and leaves a complete written record of entire meeting. 2. Allows adding more attendees than normal at no extra cost. 3. Gives plenty of time to think before responding, adj. 1. Keeps everyone up-to-date. 2. Doesn’t let geographic or time zones determine who can attend the meeting. The Electronic Meeting Manager If you have ever attended a meeting, you know how to use eForum. Simply attend eForum meetings any time convenient for you. Review new discussion materials. eForum keeps track of what you’ve seen. Enter your comments or new discussion points. Instantaneously, your ideas are available to every member of your eForum group regardless of geographic location. That’s productivity. eForum has the flexibility to fit your communications needs. • eForum 4000 - a national communications network available with a local phone call from most locations. • eForum 2000 - UNIX™ based central host software for supermicro and minicomputers. • eForum WS - software for the IBM PC and compatibles to interact with eForum central host software. Call 1-800-638-4832 or in Michigan call (313) 994-4030 collect for information on: • Automating your company’s meetings by using General Electric Information Service, the world’s largest communications network, to tie together your microcomputers and terminals. • Creating your own meeting network for your department or company. Software, hardware and leasing available. • Establishing OEM and VAR agreements to enhance the value of your software or hardware, with the communications power Of eForum. Circle No. 281 on Inquiry Card Network Technologies International, Inc. The Arbor Atrium Building 315 West Huron Ann Arbor, Michigan 48103 '“UNIX is a trademark of AT&T Bell Laboratories '“eForum is a trademark of Network Technologies International, Inc. (NETI) IBM LINKS INTERACTIVE COMMUNICATION FACILITIES An interactive terminal is one that allows a user to work directly with host application programs. IBM’s 3270 family of terminals is popular among IBM customers for interactive use since it offers syn¬ chronous communications and full buffering, "typical 3270 appli¬ cations send a screen buffer to the terminal, which provides the user with protected fields (such as ‘’Name" and "Address”) and un¬ protected fields that the user may use to enter data. After updating the unprotected fields on the screen, the user may then press any of several keys in order to transmit only those fields that have been modified back to the host application. The amount of data actually sent is thus mini¬ mized and the communications line to the host is kept free, except when the user signals that the screen is ready to be transmitted. One common means of con¬ necting a UNIX system to an IBM system is by way of a 3270 termi¬ nal emulator running as a UNIX application (in much the same way that the cu utility allows use of a local terminal on a UNIX sys¬ tem to emulate an asynchronous terminal connected to another system). Such emulators use a Bi¬ sync or SNA driver on the UNIX system to connect to the IBM host. The 3270 terminal emulator al¬ lows users to switch from running UNIX applications to running host applications. Data sharing in this mode is generally limited to what the user can do through the keyboard—al¬ though it can also sometimes cap¬ ture the current screen display into a file, or capture data sent from the host application to an emulated printer attached to the 3270’s emulated controller. The cu utility provides a means of data sharing that is similar in terms of its ability to capture re¬ ceived data in a file, and send data out as ASCII files. More sophisticated users also demand that there be a program¬ matic interface to the terminal emulator so that an application program might be able to emulate a user typing at the emulated ter¬ minal. With this approach, an ap¬ plication that’s assisted by the host application can query a data¬ base or do limited data entry or modification. The programmatic interface scheme requires that the UNIX Most UNIX system suppliers have recently started to recognize the need for their systems to communicate with non-UNIX mainframes. application know all of the user interactions required to log onto the host application as well as all those needed to request or modify the data records—a tall order that could require knowledge of the format of several screens of data. Moreover, minor changes in the host application will require corresponding modifications to the UNIX application, typically, these changes can be either easily described to the user in a written newsletter or explained in a mes¬ sage displayed on the screen. The PC marketplace has popu¬ larized a variation on this theme: specialized software on the host and the PC are often used to per¬ form data transfer and transla¬ tion. For applications such as transferring small spreadsheet data files from one system to an¬ other, some PC products have a built-in interface to a 3270 termi¬ nal emulator that attaches to a corresponding spreadsheet data editor, file transfer program, or database query application run¬ ning on the host. Since the same supplier provides both applica¬ tions, there is no requirement for the user to modify the local appli¬ cation when the host application changes. The overhead involved in re¬ ceiving screen buffers and re¬ sponding to them as a user makes for a slow interface to the host da¬ tabase—one that shouldn’t be used to query or update large vol¬ umes of data, and thus little more than a kludgey way to connect ap¬ plication to application. BATCH COMMUNICATION FACILITIES A batch terminal typically con¬ sists of a card reader, a printer, and sometimes a card punch. IBM 2780 and 3780 batch terminals have been the industry standard since the late 1960s to early 1970s, and so have been emulat¬ ed by such major equipment man¬ ufacturers as Honeywell, Data General, DEC, and Control Data Corp. Since most mainframes support this older Binary Syn¬ chronous batch terminal proto¬ col, minicomputers and micro¬ computers alike have rushed to add its remote job entry (RJE) ca¬ pability. The protocol used by 2780 and 3780 terminals is unique in the IBM communica¬ tions realm in that it supports peer-to-peer communication: this allows one to build programs easi¬ ly to transmit any file from one computer to another using a com¬ mon synchronous protocol. IBM’s more recently developed Systems Network Architecture batch ter¬ minals do not have this peer-to- peer capability, however. The batch terminal imple¬ ments a simple form of file trans- 54 UNIX REVIEW MAY 1985 NAME THE MOST winy USED INTEGRATED OTEKE AUTOMATION SOFTWARE FOR UNIX SYSTEMS. "IMPlIXir YOU'VE GOT IT! User satisfaction is the primary reason no other product can make this claim. Already in its second generation, UNIPLEXII offers features designed to meet the require¬ ments of the most demanding user. The beauty of UNIPLEX II is its simplicity. One personality and one command structure throughout the program provide an ease of use never before experienced with UNIX application software. UNIPLEX II integrates sophisticated word processing, spreadsheet, and relational database applications into a powerful one-product solution. UNIPLEX II uses termcap, so it can run on virtually any computer terminal. “Softkeys” allow the user to define function keys which are displayed on the 25th line of most terminals to provide versatility and ease of use. All this at a price you’d normally pay for a single application software package. UNIPLEX II is available immediately from UniPress Software, the company that’s been at the forefront of quality UNIX software products longer than anyone else. OEM terms available. Mastercard and Visa accepted. Call Today! Once you’ve got it, you’ll see why UNIPLEX II is the most widely used integrated office automation software for UNIX-based systems. Write to: UniPress Software, 2025 Lincoln Hwy., Edison, NJ 08817 or call: 1-800-222-0550 (outside NJ) or 201-985-8000 (in NJ); Telex: 709418. Japanese Distributor: Softec, Telephone: 0480 (85) 6565. Swiss Distributor: Modulator SA, Telephone: (031) 59 22 22. nipress Software tour Leading Source for UNIX "Software l.MX u a trademark of AT*T Ml Labordono In,plea II Is a trademark of Unipin Intqtntion Systems Circle No. 289 on Inquiry Card IBM LINKS fer in that it regards a collection of card images in a reader as a single file, and then sends them as a sin¬ gle stream of data, broken into blocks of convenient size. Printer output, as well, consists of a col¬ lection of print line images simi¬ larly segmented. Since the batch terminal typically can only deal with card images and print line images that have a well-under- stood and simple format, it is nec¬ essary first to reformat a data file from fixed or variable-length rec¬ ords into fixed-length records of 80 characters, and then switch it back again to its original form. This relatively trivial task, though, provides a simple gener¬ al-purpose file transfer mecha¬ nism for connecting machines of differing architectures and soft¬ ware. Since the Binary Synchro¬ nous protocol is synchronous and employs block error checking, it provides users with the sort of speed, convenience, and reliabil¬ ity that can’t be found in the asyn¬ chronous environment. This is because a bisynchron¬ ous transmission consists of eight data bits per byte, multiple bytes per block (on the order of 512 characters per block), with two bytes of synchronization over¬ head at the beginning of a block. Asynchronous transmissions re¬ synchronize on each byte trans¬ mitted, with an overhead of two bits per byte. Under identical cir¬ cumstances and using a 2400-bit- per-second modem, a bisynch¬ ronous protocol can transmit approximately 300 characters per second, while an asynchronous protocol tops out at 240 charac¬ ters per second. Although bisync protocols and devices are far from the latest in IBM technology, the bisynchron¬ ous batch terminal emulation re¬ mains the most widely employed file transfer method between mainframes, minicomputers, and many microcomputers because of Interestingly enough, IBM is not included in the set of manufacturers bridging UNIX to IBM protocols. its ability to handle peer-to-peer transmissions. IBM’s System Net¬ work Architecture (SNA), on the other hand, is a centralized net¬ work that does not allow direct pcer-to-peer transfers without approval from its centralized con¬ trol node. However, for file trans¬ fers between a mini or microcom¬ puter and an SNA node, quite a few features employed by SNA and its batch terminals make it a more attractive alternative than binary synchronous communica¬ tions. For one, the 3780 bisync batch terminal reduces transmission times by employing the compres¬ sion and expansion of sequences of blanks within a record. The 3770 SNA batch terminal, the one most closely related to the older 3780, can employ compression and expansion of sequences of any character. Additionally, the 3770 can further reduce trans¬ mission times when it’s given a compaction table and compacted data. ’’Compaction” is defined here as the substitution of one charac¬ ter for two adjacent “master” characters. Up to 16 master char¬ acters may be defined in a com¬ paction table, with an inverse re¬ lationship existing between the number of master and non-mas¬ ter characters in the data stream. For example, if a file consists pri¬ marily of numeric data and punc¬ tuation characters, they could be defined as the master characters, resulting in a two-to-one compac¬ tion for most of the file. The data link protocol em¬ ployed by the 3770 (and most oth¬ er SNA devices not collocated with the host computing facility) is IBM’s Synchronous Data Link Control (SDLC). SDLC allows up to seven blocks to be transmitted with one acknowledgement cov¬ ering one or more of the data blocks; what’s more, other data can also be “piggy-backed” with the acknowledgement. This fea¬ ture allows greater data through¬ put without the disadvantage of large block sizes. Thus, if a trans¬ mission error is detected, instead of having to retransmit an entire large block of data, only the small block with the error and those blocks that follow must be sent again. The Bisync protocol allows transfer in only one direction at a time, meaning that a 2780 or 3780 terminal can either send a file from its card reader, or receive a file at its printer or card punch—but it can’t do both si¬ multaneously. The 3776 termi¬ nal, by way of comparison, can have up to six separate conversa¬ tions going on a single communi¬ cations link, with some conversa¬ tions consisting of transmissions to the host, others involving the receipt of messages from the host. For transaction processing that 56 UNIX REVIEW MAY 1985 A AAA A ' AAA A A A X//AA/AAa ////////////' s s S/SSSSSSS / s s '///// " " " " / / / / / / / / / , 'A/A/////AAs AAAAA AA//// A TEXTEDITING aaaaaWAAAAAAaaaA/AAA/' yr Another in a series of AHpamiyfiynons' 0 /////////////////////// '"IIX'“ software ////// ' ^^7AAAAAAAA/ AAA/A //f / ///A A A A /A A A./ . from UniPress. / / / / / / / A A / A A A A A / f / / y / / / A / A A / ' A A y y . ^//////////Z/y a / / , / A/AyyyAy/A/AAA AAAAAA//// // , ////y// 7//SSSSSSSSJ X s /////////, A A A A a A A A A / A n- / V / / / / ... igeprgvh bility to the editor. //, , , , , yA a// AAAAAAa y/AA/A/ AAAA S'/j / / \ extensi- ///A / / rdi>i,di dnu pnuor.izivinijC A, 7. Z jC rimnthfid* ////// / / / / / / / / // / / 7 / f 7 / 7 7 /// 7 A vers/oi 1/1/0, - / A/'AAs Features: / ////M Multi-window, full editor for a wide rang’ VMS’* and MS ~~~ yy/Sys/i) y AAA nu / a"aA Trademarks ol UnPress MACS & MUSP UmPress Alii 36 Senes. All! Beil LaOoratones VAX/VMS 4 Equipment Cotp. MS DOS. Microsoft Corp. WordSla lottware, Inc UNIX & Ramtm 100 .» Digital MicroPro Circle No. 222 on y/y/yy '/////y7 y , , //A////// A//// AAZZa/aZ // / XXXXXXA7/77 /// A / / / / / / Inquiry Card ins Wcss Software four Leading Source for UNIX Software. IBM LINKS requires some response time from the host, the 3776 terminal has the advantage of being able to continue sending transactions even while the host is processing or responding to earlier transac¬ tions. Data directed to the 2780 or 3780 terminal is destined to end up either at a card punch or print¬ er, depending on the device selec¬ tion code specified at the begin¬ ning of the file. The 3770 terminal family also offers the option of configuring diskettes and mag¬ netic tapes, so these devices may be selected as well. Unlike the fixed width of a card image, or the limited maximum width (132) of a 2780/3780 print image, the 3770 printer width can be defined with¬ in the data. The 3770 tape and diskette devices, meanwhile, can have fixed record lengths of be¬ tween one and 128 characters, as specified when the device is se¬ lected. The ability to select many different types of devices, and to specify certain ones for specific tasks simplifies applications that use a programmatic interface to a 3770 terminal emulator; data in¬ tended for a specific application, for example, could be directed to a particular medium and device ad¬ dress, allowing for easy co-exis¬ tence of multiple applications. APPLICATIOIM-TO- APPLICATION INTERFACES Via Interactive Facilities. The only reasonable way to achieve an interface between UNIX applica¬ tions and IBM applications via in¬ teractive facilities is to have a pro¬ grammatic interface to a terminal emulator on the UNIX side that is matched either by standard, stat¬ ic software on the IBM host, or user-developed software with a simple, general-purpose screen layout. The important consider¬ ation is that the overall interface remain constant. The advantage of this approach is the access it provides to a large number of IBM applications. This owes to the overall popularity of the 3270 terminal, and the fact that either a Bisync or SNA inter¬ face may be used with most of those applications. Its disadvan¬ tage lies in the clumsiness of its interface for an applications pro¬ gram. This is due to the fact that it was designed for humans. Like¬ wise, the interactive facilities ap¬ proach lacks speed since the in¬ terface is screen-oriented rather than record-oriented. Via Batch Facilities. Using batch file transfer capabilities, a trivial interface can be estab¬ lished between an IBM system and a UNIX application, without either of the applications needing to know a great deal about the presentation of data (as is the case under the interactive approach). The intention of the batch inter¬ face is to facilitate the submission of “jobs” to an IBM host, and to facilitate the receipt of the output from those jobs, so it is ideal as a UNIX application/IBM bridge. A UNIX application needs only pre¬ pare a “job”, usually by sand¬ wiching data between two fixed sets of “job control language” (JCL), before handing the results off to a batch terminal emulator. Its only remaining task then is to pick up the results at the batch terminal emulator when the out¬ put is returned. For other—perhaps shorter— transactions, a transaction re- SOFTWARE DEVELOPERS! YOU’VE JUST BEEN GIVEN THE BEST REASON YET TO GET OUR 68000/UNIX® DEVELOPMENT SYSTEM THE VAR/68K® SERIES VK-5XW20 (List price SHWeCT) $5,000. Includes: Terminal, 20 Mb hard disk, floppy drive, 512K RAM, 8 ports and REGULUS® VK-5XW20T20 (List price $12^900:) $6,500. Includes: all of above, plus 20 Mb tape streamer RESELLERS! Euen more attractive specials are available to qualified resellers! Smoke Signal has been designing, developing and manufacturing micro¬ computers based on the Motorola family of processors for the past six years. The VAR/68K is the most recent addition to our family of multi-user computers. VAR/68K is a registered trademark of Smoke Signal REGULUS is a registered trademark of Alcyon Corp. UNIX is a registered trademark of Bell Laboratories Due to the extremely low prices being offered, we can only accept cash or C.O.D. orders, and we must limit pur¬ chases to one per customer. Offer expires July 31st. TO OBTAIN YOUR VAR/68K AT THESE LOW PRICES, CONTACT: SMOKE SIGNAL 31336 VIA COLINAS WESTLAKE VILLAGE, CA 91362 (818) 889-9340 / Telex 910-494-4965 Circle No. 253 on Inquiry Card 58 UNIX REVIEW MAY 1985 quest can be made in one or more records, which can be sent as card images. One set of transac¬ tion requests quickly implement¬ ed at my company allows one UNIX system to request a wide range of tasks on a remote UNIX i system. We can, for instance, have the remotej system send a particular file back, receive a file, and give it a certain name, or ex¬ ecute a given UNIX command us¬ ing standard input supplied by the transaction and then send back the standard output and standard error data in a response file. Via IBM's SNA LU6.2. IBM has also given thought to providing an application-to-application in¬ terface between different nodes within an SNA network. The an¬ swer it’s come up with is affec¬ tionately known as LU 6.2. Each addressable component of an SNA network capable of com¬ munications, called a Logical Unit (LU), has a “session type”, or higher-level protocol, that it finds agreeable. A session type estab¬ lishes the basic subset of SNA commands used for communica¬ tions with other logical units; for instance, LU type 2 is used to sig¬ nify 3270 interactive communi¬ cations, while LU type 1 stands for 3770 batch communications. LU type 6.2 is a recent addition to the list of session types that are intended for application-to-appli- cation communications. But al¬ though often mentioned, it is still not widely implemented. Unlike the more traditional de- sign-your-own approaches to in¬ terfacing applications, the LU 6.2 session type has the ability to de¬ fine the beginning and end of a transaction. It has also defined er¬ ror recovery so that if an unrecov¬ erable error happens mid-trans- action, the steps taken from the point that’s marked as the begin¬ ning of the transaction to the point where the failure occurred can be backed out. There are also a number of defined commands that allow users to create or de¬ stroy files; add, change, query, or remove records; and execute com¬ mands remotely. This then seems to be the ideal Continued to Page 95 Another in a series of productivity notes on UNIX" software from UniPress. Subject: C Cross Compiler for the 8086 Family. ler The Lattice C Cross Compitt allows the user to write code on a VAX'* (UNIX or VMS”*) or MC68000”* machine for the 8086 family Lattice C is a timesaving tool that allows a more powerful computer to produce object code for the IBM-PC”*. The compiler is regarded as the finest C compiler for the 8086 family and produces the fastest and tightest code. // I’Mmun oi ime Lmi in.: /Anna VMS DtyM UNIX Alii Beil liboWonn IBM PC Inletiwiiotul Busrne MS DOS Mcroiott MC68000 MMoia 8086/8081 Intel Circle No. 252 on Inquiry Card t gwpmeni Com sMxtunn Features: ■ For your UNIX or VMS Computer. ■ Use your VAX or other UNIX machine to create standard Intel ob¬ ject code for the 8086 (IBM-PC). ■ Highly regarded compiler pro¬ duces fastest and tightest code for the 8086 family ■ Full C language and standard library compatible with UNIX. ■ Small, medium, compact and large address models available. ■ Includes compiler, linker, librarian and disassembler. ■ 8087”* floating point support. ■ MS-DOS”* 2.0 libraries ■ Send and Receive communication package optionally available. Price $500. ■ Optional SSI Intel Style Tools. Package includes linker, locator and assembler and creates executables for debugging on the Intel workstation or for standalone environments. Price $8,550. CROSS COMPILER FOR THE 8086'FAMILY Price: VAX (UNIX or VMS) MC68000 $5000 3000 / For more information on these and other UNIX software products, call or write: UniPress Software, Inc., 2025 Lincoln Hwy., Edison, NJ 08817. Telephone: (201) 985-8000. Order Desk: (800) 222-0550 (Outside NJ). Telex: 709418. Japanese Distributor: Softec 0480 (85) 6565. European Dis¬ tributor: Modulator SA (031) 592222. OEM terms available. Mastercard/Visa accepted. liPiess Software )bur Leading Source for UNIX Software. UNIX REVIEW MAY 1985 59 RULES OF THE GAME Your day in court by Glenn Groenewold When Susie Grep learns that her highly successful software. GrepStar, is being brazenly ap¬ propriated and marketed by Mast¬ odon as a part of its Sabretooth II system, she is more annoyed than alarmed. As Susie sees it, a call to her lawyer should be all that's needed to put a stop to the in¬ fringement. After all, hadn’t she been careful to comply with each requirement of the copyright law when distributing her program, and hadn't she rigorously guard¬ ed the confidentiality of the source code as her trade secret? Understandably. Susie is upset when she later learns from her at¬ torney that the problem promises to be a great deal more than an annoyance. Mastodon is no inad¬ vertent infringer. On the con¬ trary, it is taking the position that Susie's program could not legally be copyrighted and therefore is susceptible to use and sale by oth¬ er companies. “You’re going to have to go to court to stop them,” her lawyer tells her. At this point, assuming she is serious about stopping the ripoff. Susie is about to embark on what is likely to be a long and expensive education in just what it means to be a party to a business lawsuit. Right off, her lawyer will probably need a great deal of information in a hurry to prepare the documents initiating the suit properly. Hav¬ ing assembled this data, Susie might expect the next step to be a court hearing to consider the mer¬ its of her claim that Mastodon is making illegal use of her intellec¬ tual creation. Unfortunately, it’s not usually that simple. FIRST, LADIES AND GENTLEMEN . . . Way back when, the trial of a lawsuit bore a certain resem¬ blance to the Shootout at the OK Corral. Neither party had any way of finding out what evidence the other side might be able to pro¬ duce at trial, nor could the parties determine whether their opposi¬ tion was sitting on evidence it considered damaging to its case. Not surprisingly, in those days tri¬ als often were pretty suspenseful. Changes have occurred gradu¬ ally over the years—partly be¬ cause of feelings that this style of conducting lawsuits wasn’t ex¬ actly fair, and partly because dockets have become sufficiently crowded that courts no longer have time to allow litigants to con¬ duct fishing expeditions for evi¬ dence at trial. So today it is pos¬ sible to find out just about everything the other side plans to present in the way of evidence, and also to uncover anything the opposition might have in its pos¬ session that might be useful to prove your case. This is accom¬ plished through a process called pre-trial discovery. Since the kinds of discovery that are allowed vary according to what court system is involved— be it federal or one of the 50 states—the rules applying to a specific case may be different from those discussed here. But re¬ gardless of what court hears Su¬ sie’s suit, she is apt to learn that discovery proceedings can be a pain. Early on, she’s likely to be con¬ fronted with page after page of questions from Mastodon’s attor¬ neys. Often, many of these que¬ ries will call for business details and other pieces of information that seem to have little or nothing to do with the subject of the law¬ suit—and that Susie regards as nobody else’s business in any event. She may also find it bur¬ densome or even impossible to come up with many of the an¬ swers demanded. 60 UNIX REVIEW MAY 1985 Susie is facing a set of interro¬ gatories. Though it may be hard for her to believe, this procedure was originally intended to make it easier for contesting parties to ex¬ change facts with each other. But lawyers have found it necessary to make interrogatories more and more complex, both to guard against the possibility of evasive answers and to reduce the chance that something might be over¬ looked. There’s ^lso a suspicion that more than a few attorneys use lengthy interrogatories as a device to harass the other side. Ironically, given our (and Su¬ sie's) standpoint puter that has made it possible for lawyers to turn out many pages of such questions w it’s the com- ith little expen- Though it may be difficult to believe, interrogatories were originally intended to make it easier for contesting parties to exchange facts with each other. diture of effort. Once the com¬ puter has the names it needs to plug into the blanks, it can do the rest. These “boilerplate” interro¬ gatories are deplored by most judges, but it’s difficult to do much about them. A party to a lawsuit is entitled to learn more than merely the things that clear¬ ly can be used at the trial. Information sought need only be “reasonably calculated to lead to the discovery of admissible evi¬ dence.” And who can say wheth¬ er a particular scrap of informa¬ tion might not lead to something that will be valid courtroom evi¬ dence? Another discovery device is the request for production of docu¬ ments. These demands are some- Another in a series of productivity notes on UNIX n software from UniPress. Subject: Extraordinarily powerful spreadsheet with extensive math and logic facilities. Powerful spreadsheet specifically designed to take advantage of the UNIX operating system. Q-Calc uses termcap to support any terminal. Interactive prompts and help text make it very easy to use. Features: ■ Extensive math and logic facilities. ■ Large model size. ■ Allows sorting and searching. ■ Interfaces with the UNIX environ¬ ment and user programs via pipes, filters and subprocesses. Spreadsheet data can be processed interactively by UNIX programs, with output placed into the spreadsheet. ■ Q-Calc command scripts supported. ■ Uses termcap. ■ Optional graphics for bar and pie charts. Several device drivers are included to support graphics terminals. ■ Available for the VAX'*, Sun'*, Masscomp ™ f AT&T 3B Series'*, Cyb'*, Apple Lisa'*, Perkin Elmer'*, Plexus'*, Gould'*, Cadmus'*, Integrated Solutions'*, Pyramid'*, Silicon Graphics'*, Callan'*, and many more. Price: Binary VAX, Perkin Elmer, Pyramid, AT&T 3B/20 $2,500 (with graphics) 3,500 MC68000'* 750 (with graphics) 995 Source Code available. For more information on these and other UNIX software products, call or write: UniPress Software, Inc., 2025 Lincoln Hwy., Edison, NJ 08817. Telephone: (201) 985-8000. Order Desk: (800) 222-0550 (Outside NJ). Telex: 709418. Japanese Distributor: Softec 0480 (85) 6565. European Dis¬ tributor: Modulator SA (031) 59 22 22. OEM terms available. Mastercard/Visa accepted. SPREADSHEET Q-CALC haunmarks 01 urn AIM Ben laboratories VAX D’Qtti Equipment Coip Son Sun Microsystems Mj-m amp Masscomp Cyt> CytiSy. terns try App*' PXaui Computer Gnukl Giu«i Pyrame) Pyiarr a inieqtalea Solutions tnierjialert Solutions Silicon Grapiucs Silicon Graphics • aamus Caomus Computer Perkin Elmer Perkin Elmt Callan Callan Data iystems AW SB Senes AW MC68000 Motorola Circle No. 270 on Inquiry Card UniPress Software four Leading Source for UNIX Software UNIX REVIEW MAY 1985 61 U RULES OF THE GAME times incorporated in interroga¬ tories, but they can be made at many stages during legal proceed¬ ings. Often the items sought are regarded by their owner as confi¬ dential proprietary information that can't be disclosed without ir¬ reparable harm. If both sides are adamant, the judge must decide whether to or¬ der production of documents or information. A protective order can be requested as a condition of turning over items to the other party. If granted, this order re¬ quires that the party obtaining in¬ formation treat it as confidential, under penalty of contempt of court. These orders are frequently used when it’s contended that the information disclosed constitutes a trade secret. However, the handling of confi¬ dential data turned over to law¬ yers in the course of litigation of¬ ten results in problems. For example, in a recent highly-publi¬ cized suit, IBM contended that its opponent’s attorneys harmed it by improperly disclosing such information. STAR CHAMBERS Lest you think that this ex¬ hausts the list of Susie's possible woes, the games have only just be¬ gun. At some point. Mastodon’s lawyers are almost certain to want to take a deposition from Susie, and probably from her key employees as well. These are pro¬ cedures by which the lawyers ask questions of potential witnesses under oath, though outside of a courtroom setting. While deposi¬ tions can take place just about anywhere else, often a good deal of gamesmanship is involved in selecting their location. Very Im¬ portant Persons frequently insist on having their depositions taken in their own offices. This is sup¬ posed to give them a psychological advantage. Most lawyers, having sat through hundreds of deposi¬ tions, really don’t care where they’re held so long as the chairs are comfortable. The offices of one of the participating attorneys often are used, although some¬ times a “neutral” site, such as a court reporter’s office, is selected. Depositions can be dreary. There’s no judge present to rule Who can say whether a particular scrap of information might not lead to something which will be valid courtroom evidence? on objections or hurry the pro¬ ceedings along, so hours can be consumed as lawyers wrangle over the propriety of questions. Depositions may drag on for days, or in complicated cases—which claims of software infringement certainly are—for weeks. Though Susie has a proprietary stake in the outcome of these maneuvers, her employees do not. They can hardly be blamed if they weary of these tiresome games, and decide to accept offers of employment elsewhere. It shouldn’t be thought that these shenanigans are all one¬ sided. Susie’s lawyer has prob¬ ably been firing off interrogatories and demanding the production of documents on her behalf. It s likely, too, that her attorney has taken a whack at Mastodon’s offi¬ cers and employees by requiring their depositions. But all this can become terribly expensive. Computer-assisted or not. Susie’s lawyer will be devot¬ ing time to the preparation of in¬ terrogatories to Mastodon. Addi¬ tional time will be spent assisting her in framing her replies to theirs. Moreover, Susie wouldn’t want her deposition or the deposi¬ tion of one of her employees to take place without her lawyer be¬ ing present. Naturally, the attor¬ ney will expect to be paid for all this expenditure of time. Susie shouldn't be surprised if she finds she’s incurred thousands of dol¬ lars in legal expenses without get¬ ting anywhere near a courtroom. SNEAK PREVIEWS Actually, Susie may not have all that long to wait before she has a big day in court. That’s because the harm done to her will be irre¬ parable if Mastodon is allowed to continue marketing its identical program during the period re¬ quired for Susie’s lawsuit to come to trial. To prevent this, her law¬ yer will most likely attempt to ob¬ tain a temporary injunction halt¬ ing Mastodon’s practices. This is an important stage of the legal proceeding, since its outcome of¬ ten anticipates the ultimate de¬ termination of the case. Preliminary proceedings such as this may not be as lengthy as the actual trial, but they obvi¬ ously require careful preparation on the part of the attorneys. Time may be short, and there will be much that needs to be done. Law¬ yers expect to be well-paid for such heroics. ON THE MERITS When the great day of the actu¬ al trial arrives—certain to be sev¬ eral months and possibly some years after Susie’s lawsuit was first filed—it may seem almost anticlimactic. But no matter how many preliminary skirmishes are won or lost, it’s the war itself that counts. The trial, therefore, is no time to let up. Trials involving such matters 62 UNIX REVIEW MAY 1985 as copyright or trade secret in¬ fringement are notoriously long and costly. Since neither juries nor judges can be expected to have any knowledge of what goes on inside a computer, it’s neces¬ sary that all this be patiently ex¬ plained by expert witnesses. In ef¬ fect, the litigants will have to foot the bill for presenting a crash course in computer science to people who really may not care a fig about such things. And, of course, Susie and her long-suffering tiut faithful em¬ ployees will have to take the wit¬ ness stand and go through the same testimony they have pre¬ viously given in depositions. Hu¬ man memory being what it is, chances are great that there’ll be some sort of inconsistency in the testimony given on these two oc¬ casions—don’t forget, a couple of years may have elapsed. No mat¬ ter how inconsequential the dis¬ crepancy, the lawyer for Mast¬ odon will be sure to pounce on it as evidence beyond any question that Susie or her employee is an utterly untrustworthy witness. Court rules prohibit violent retali¬ ation for this sort of character as¬ sassination. Susie and her crew will have to bear up under it as best they can. When the trial has finally end¬ ed, the decision will be issued. Let’s be optimistic and assume that Susie is triumphant, and that, however unlikely, Mastodon chooses not to appeal. Otherwise, Susie will have lost more than simply the control of her software. Whether or not she has to pay damages to Mastodon, generally she will have to pay its court costs. These usually don’t include attorneys’ fees, but they do cus¬ tomarily encompass such items as the expense of depositions and the expense of obtaining the at¬ tendance of witnesses at the trial. Need we add, Susie’s lawyer will still expect to be paid. Glenn Groenewold is a California attorney who devotes his time to computer law. He has served as an administrative law judge , has been active in trial and appellate work and has argued cases before the state Supreme Court. ■ Another in a series of productivity notes on UNIX ™ software from UniPress. Subject: Full-multi-user UNIX for the MAC XL. MAC XL UNIX, the UniPlus m + Bell Labs UNIX System V, as ported by UniSoft Systems, transforms your MAC XL into a low-cost, high performance multi-user desktop workstation. MULTI-USER OPERATING SYSTEM Programming Languages Available: ■ The full multi-user system includes SVS Fortran powerful UNIX utilities, C compiler SVS Pascal and development tools, text processing SVS Basic + tools, along with vi, csh and termcap. SMC Basic 4 New lower price for full system-$1,350. PM Cobol ■ Supports Apple 5 and 10-Mbyte Irvine ADA drives. Increased disk space is avail¬ able with hard drives which range from 16 to 92 Mbytes. MAG XL Z /V // z Optional UNIX Applications Available: Unify ® Multi-user relational database. Lex’“ Word Processing. Q-Calc Spreadsheet. UniPress EMACS'“ multi-window text MAC XL is a trademark ol Apple Computer: UNIX is a Laboratories. UmPtus + is a trademark ot UmSott . trademark ol UniPress Software. Inc . Unty is a In a trademark of ACE Microsystems Circle No. 269 on Inquiry Card editor system. rX For more information on these and other UNIX software products, call or write: UniPress Software, Inc., 2025 Lincoln Hwy., Edison, NJ 08817. Telephone: (201) 985-8000. Order Desk: (800) 222-0550 (Outside NJ). Telex: 709418. Japanese Distributor: SofTec 0480 (85) 6565. European Dis¬ tributor: Modulator SA (031) 59 22 22. Dealer terms and demonstration systems are available. Mastercard/Visa accepted. ZZ zz Zz ////// v/Y/v/ //vv// zzzzz z X. z trademark ol AT&T M : UmPmss EMACS is a of Unity Corp; lex is Iniftess Software tour Leading Source for UNirSoftware UNIX REVIEW MAY 1985 63 INDUSTRY INSIDER- Fresh concepts in output control by Mark G. Sobell As the number of computers and users has multiplied, so has the importance of the standards that tie them together. Until re¬ cently, though, there was no stan¬ dard way to describe a typeset or laser-printed page. From its inception, the UNIX troff formatter has produced only output specifically designed to drive a CAT phototypesetter. By various twists and turns, several other output devices have also been supported over time. But this still did not provide a way to move easily from one device to an¬ other. Device Independent troff was thus designed to use intermediate files and a post processor to gen¬ erate different types of output files capable of driving a variety of phototypesetters. This is fine in theory, but once you create an out¬ put file with one of these pro¬ grams, you cannot change your mind about which device to print it out on. Nor can you be confident that your existing program will be able to drive any new output de¬ vice you later purchase. That’s because once a decision is made to use a particular output device. De¬ vice Independent troff is indepen¬ dent in name only. To address this long-standing problem, Adobe Systems has de¬ signed PostScript, a page descrip¬ tion language that you or an appli¬ cation program can use to write a program describing a page of out¬ put. When you send this program to a device equipped with a Post¬ Script interpreter, you get output that matches your design. The technique is quite straightfor¬ ward. but the ramifications are far-reaching. To date, the PostScript inter¬ preter has been brought up on the Apple LaserWriter, the QMS La- sergrafix, and on several of the Al¬ lied Linotype (formerly Mergen- thaler) typesetters. With such a combination of output devices, you can use a Macintosh to create images that you can first proof on an office laser printer and then send off to a typesetting house for final production. Adobe promises that it will add new output devices to its list in the near future. Adobe had to address several important issues to make its pro¬ posed standard functional. A sin¬ gle PostScript program must be capable of driving devices of var¬ ious resolutions—anything from a 300 dot-per-inch (or as they say now, spots-per-inch) laser printer to a 1000+ dot-per-inch photo¬ typesetter. And, because you may want to use the laser printer as a proofing device for the phototype¬ setter, line breaks and page breaks on the two must corre¬ spond. To maintain this corre¬ spondence, the Adobe software has been developed in such a way as to ensure that each character has exactly the same width, each line has the same number of char¬ acters, and each page has the same number of words—regard¬ less of the device on which they're printed. Another important issue is that of integration of text and fig¬ ures—either line art or half-tone representations of photographs or other continuous tone art. Ado¬ be has addressed both the resolu¬ tion and integration issues by cre¬ ating what it terms “a complete graphic imaging solution." Post¬ Script handles text as graphics, so the issue of integration has actu¬ ally become moot—the whole page is a graphic image. Because 64 UNIX REVIEW MAY 1985 FROM NOW ON, CONSIDER IT SUPPORTED When it comes to Unix® systems, “standard” isn’t always good enough. Experts agree that the most powerful and most tech¬ nically advanced Unix system is the Berkeley version. That’s why 4.2BSD from Berkeley is the operating system of choice for software development, networking, engi¬ neering, CAD/CAM and demanding scientific applica¬ tions. Other Unix systems don’t have the features advanced users require. But 4BSD was developed at a university, so it has never had real-world support. User assistance, bug fixes, updates and enhancements have not been provided. Now that’s changed. MT XlNU, the4BSD specialist, supplies: ■ Fully supported 4.2BSD-based binary licenses (MORE/bsd) for VAX® computers. ■ 4.2BSD source support and source updates for current 4.2BSD source licensees. ■ Enhanced 4.2BSD-based source software for new sites, with or without redistribution rights. ■ Full support for a wide variety of DEC® and non-DEC peripherals. ■ Assistance for OEM’s and hardware manufacturers developing 4.2BSD-based products. MT XlNU personnel have been involved with 4BSD development from the beginning. Now we are producing 4BSD performance enhancements, advanced network¬ ing, other Unix system extensions, and support for new peripherals and architectures. As a service, we distribub 4BSD bug reports and proposed bug fixes to the com¬ munity. Our years of experience can speed and improve your 4BSD implementations. 4.2BSD. It’s always been better than just “standard.” Now, with MT XlNU, consider it supported. “We know UNIX® Backwards and Forwards” UNIX” SUPPORT FROM BERKELEY --- Circle No. 295 on Inquiry Card 739 Allston Way, Berkeley, CA 94710 ■ 415/644-0146 ■ ucbvaxlmtxinulmtxinu MORE/bsd and MT XlNU are trademarks of Mt Xinu Inc., DEC and VAX are trademarks of Dioital EauiDment Coro.. UNIX is a trarinmark nf Rail i nhnratnriae II INDUSTRY INSIDER text is considered to be just an¬ other graphic, you can rotate type to any angle you desire (how about a banner running at 45 degrees across the page?), and you can slant and distort type in many dif¬ ferent ways. Carrying the graphics concept to its functional conclusion, Ado¬ be has chosen to store its fonts as outlines. Because PostScript has the ability to fill defined areas, it can create any of the characters it has outlines for. Most important, PostScript can use these images to create an image that takes maximum advantage of the reso¬ lution of the output device (or, the marking engine, as the latest ter¬ minology has it). Thus, the same PostScript program can drive a la¬ ser printer, a phototypesetter, or both, without modification. Consider the implications. You can generate one output file (a PostScript program) and print it locally on your laser printer. You can then send the same output file to a colleague who has a differ¬ ent brand of printer or even a printer with a different resolu¬ tion—and the program will pro¬ duce the same page. Because a PostScript program is composed entirely of printable ASCII char¬ acters, you can transmit it over any system you can use for trans¬ mitting text. How is Adobe propagating its proposed standard? For $30, Ado¬ be will sell you a manual that tells how to write a PostScript pro¬ gram. Although you may want to go through this process a few times to gain a better understand¬ ing of the program, it’s likely that in the general case, you'd be bet¬ ter off using or creating an appli¬ cation that writes the program for you, based on some higher-level input. An example of this type of ap¬ plication program is Microsoft’s Word package, which can gener¬ ate output in the form of a Post¬ Script program. Word runs on both the IBM PC and the Macin¬ tosh and can use equivalent Post¬ Script program files from either machine to drive an Apple or QMS laser printer, or a Linotype type¬ setter. Postscript opens the way to set¬ ting up a publications system that is not tied into one manufactur¬ er’s line of hardware and soft¬ ware. As a standard, it also means you can upgrade any component (computer, software, or output de¬ vice) without needing to tamper with the entire system. Finally, the new standard offers a trans¬ parent solution to the end user that allows any application de¬ signed to work with PostScript to drive any output device rigged with a PostScript interpreter. THE UNIX CONNECTION For UNIX users, Adobe pro¬ vides a set of programs that works with both troff and ditroff (De¬ vice Independent troff) to gener¬ ate PostScript files. The result is that you can attach a laser printer (or a phototypesetter for that mat¬ ter) to your UNIX system and drive it with troff or ditroff. This set of translation programs is called Transcript and is currently avail¬ able for 4.2BSD systems. Adobe expects to release a System V ver¬ sion in the third quarter. Again, the portability of output files developed under PostScript is of key importance. Using Tran¬ script, you can generate an out- WHEN SERIOUS PROGRAMMING IS YOUR BUSINESS... The Concurrent Euclid language for systems programming provides the best in efficiency, portability, reliability, and maintainability Compilers running on UNIX/VAX, UNIX/11, VMS/VAX, with code generated for MC68000, MC6809, NS32000, 8086/8088 PDP-11, and soon running on IBM-PC CONCURRENT EUCLID Compiler: CSRI Distribution Mgr. Sandford Fleming Bldg 2002 10 King’s College Road Toronto, Canada M5S 1A4 Tel: (416) 978-6985 Book: CONCURRENT EUCLID, THE UNIX SYSTEM AND TUNIS Available from: Addison-Wesley Publishing Company, Reading, MA. 01867 Tel: (617) 944-3700 CONCURRENT EUCLID the unixsystem ’ AND TUNIS ’ CONCURRENT 66 UNIX REVIEW MAY 198S I EMERALD ONE I'M SOFTWARE FOR THE WORK GROUP EMERALD ONE goes far beyond stand-alone personal computer software by linking individuals and their work groups. With EMERALD ONE, users work as a commu¬ nicating group, not as isolated individuals. Whether it be a document, spreadsheet or personal diary entry, every¬ thing created with EMERALD ONE can be exchanged easily between individuals, work groups and beyond. EMERALD CITY, THE PEOPLE BEHIND EMERALD ONE EMERALD ONE is the result of an intensive, multi -year research commitment by Emerald City and its sister com¬ pany Trigon Systems Group, one of the most respected consulting companies in office integration. Attractively priced for distribution by hardware manu¬ facturers, system integrators and OEM’s, EMERALD ONE is fully supported by an extensive marketing pro¬ gram designed to assist distributors in penetrating the integrated office market. Emerald City offers the reality of a complete business solution, not just technology. Emerald City, the company with courage, brains and heart. EMERALD CITY Emerald City Inc. 20 Richmond Street East, Suite 700 Toronto, Canada M5C 2R9 863-9923 SOFTWARE WITH COURAGE, BRAINS AND HEART WHAT IS EMERALD ONE? The most complete integrated office system available today, EMERALD ONE combines the most essential office tasks through six folly compatible and seamless sets of tools. EMERALD ONE runs on a broad range of mainframe, mini, super-micro and personal computers which use the UNIX'” operating system-the emerging standard for the office. EMERALD ONE integrates your office tasks through: 1. COMMUNICATIONS, including Telephone Messaging and Electronic Mail systems, 2. INFORMATION HANDLING with EMERALD ONE’s powerful Relational Database system, 3. DECISION SUPPORT features such as Business Graphics and the Electronic Spreadsheet, 4. DOCUMENT PREPARATION with Word Processing and a Cabinet, Document and File Folder system 5. TIME MANAGEMENT tools such as the Personal Diary system and Meeting Scheduler and 6. SYSTEM ADMINISTRATION functions that allow a non-technical user to customize EMERALD ONE for the individual, work group and organization with ease. Circle No. 290 on Inquiry Card Bii UNIX is a trademark of Bel! Labs EMERALD ONE is a trademark of P.rrw*r«.ilrl Pitv UlllilH I INDUSTRY INSIDER put file on your UNIX machine, use a modem to ship it off to an Apple or PC, and drive a printer from that machine—whether it’s located across the room or across the country. CONCLUSION As with any innovation, Post¬ Script will not become a true stan¬ dard until it is generally accepted and widely used. Adobe has made a good start, though, by lining up an impressive array of manufac¬ turers committed to the use of Adobe products. Besides Apple, QMS, Allied Linotype, and Micro¬ soft, Adobe officials indicate that several other major players will soon make announcements. The next six months should show whether the “standard” has been blessed. Software and hardware manu¬ facturers will significantly deter¬ mine just how far the new tech- nology goes. Now, despite much improvement, programs such as Word cannot support extensive typesetting. (Word does not even offer hyphenation, a key ingredi¬ ent to typesetting.) In a hardware vein, Apple must wrestle with the fact that the same Macintosh screen that supports only 72 dots- per-inch can drive a typesetter with a resolution of over 1000 dots-per-inch. Giving the user complete con¬ trol over a typesetter is not, in it¬ self, that difficult. Providing in¬ creased user control while also maintaining ease of use is a stick¬ ier matter. This, then, is the chal¬ lenge to which manufacturers must turn their attention. If you have an item appropri¬ atefor this column , you can con¬ tact Mr. Sobell at 333 Cobalt Way, Suite 106, Sunnyvale, CA 94086. Mark G. Sobell is the author of “A Practical Guide to the UNIX Sys¬ tem” (Benjamin/Cummings, 1984) and “A Practical Guide to UNIX System V” (Benjamin/Cummings, available May , 1985). He has been working with UNIX for over five years and specializes in documenta¬ tion consulting and troff typeset¬ ting. Mr. Sobell also writes , lectures , and offers classes in Advanced Shell Programming and troff macro de¬ velopment. ■ supermicro V • ' ■ ' /. A breakthrough in Price, Performance and Packaging The new L5 proves that good things come in small packages! Measur¬ ing a compact 3.75"H x 17.5"W x 21 "D, the L5 is small enough to fit on a desk-top or a laboratory workbench. Yet it’s large enough to handle up to 32 users and, in some applications, outperform a VAX system. The L5 is small in price, too. A mid-range system can cost less than $1,000 per user! Find out how the new L5 offers the unique solution to price, perfor¬ mance & placement challenges. Call General Communications today! L5 Features • KDJll Processor, floating point, 8K cache • ,5Mb to 32Mb memory • 4 to 32 users • 20Mb to 2.5Gb external storage • UNIX System V Fast Kernel or Real Time Kernel • Runs RT11, RSX, and TSX • Includes several utilities packages, necessary cabling, complete documentation and tutorials Aggressive Dealer/OEM discounts available , General Communications Corporation ’"Where lucid communications, technical excellence and common sense meet." 'UNIX is a trademark ol AT & f-Bell Laboratories VAX, RTll, & RSX are trademarks of Digital Equipment Corporation TSX is a trademark of S&H Computer 1 Main Street, Suite 502, Eatontown, NJ 07724 (201) 542-6560 Circle No. 254 on Inquiry Card 68 UNIX REVIEW MAY 1985 Software Engineers TOMORROW’S TECHNOLOGY TODAY “There is some very exciting wortt underway here.” , , Director of Systems Development The Foxboro Company At Foxboro we’re pushing the state-of-the-art in a number of areas, devel¬ oping some of the most ad¬ vanced software systems anywhere in the world. Our Systems Development group is breaking new ground de¬ veloping highly sophisti¬ cated software for fourth generation, state-of-the-art, microprocessor-based net¬ works and operating work¬ stations for process management and control systems. To get this project underway, we have assembled the brightest, most innovative team of software profession¬ als in an area long noted for technical genius. But we need more people who want to get in at the beginning and carry this program the rest of the way. To attract the best, we’re offering the best, from com¬ pensation to a total envi¬ ronment designed specifically with the engineer in mind. When Foxboro makes a commitment, we succeed. Make your commitment to a more exciting job today and you can share in that success. Opportunities exist for: • Engineers • Senior Engineers • Principal Engineers • Consulting Engineers to work in the area of: Fault Tolerant Software •Developing micro-based system diagnostics from definition to design on highly reliable fault tolerant systems. • Experience in: fault isolation;* error recovery; diagnotics; diagnostics for processor, memory, communications in¬ terface, disc memory or pro¬ cess 10 interfaces. •High-level language ex¬ perience (Pascal and “C”) required. For these positions, please respond to Greg Page (617) 549-4046. Opportunities also exist for experienced (5-plus years) software engineers to advance the state-of-the-art in: • Distributed Multiprocessing • Local Area Networks • Interactive Graphics • Data Base Software Specific experience may in¬ clude: real-time operating systems, High-level languages (“C”, Pascal), distributed data bases, 16/32 bit micropro¬ cessor machine architecture, IEEE 802 LANS, X.25 and UNIX 1 " 1 UNIX 1 " 1 is a registered trademark of AT&T Bell Laboratories. For these positions, please respond to Fred DelGizzo (617) 549-4106. Send your resume to¬ day to the appropriate recruiter at Dept.UR5,Bldg.6, 38 Neponset Avenue, Foxboro, MA 02035. Foxboro is an equal opportunity employer, M/F. We welcome resumes from minorities and protected classes. If you have a PC or Terminal with 300 baud dial¬ up capabilities, then explore our opportunities in depth by calling our Career Data Base at (617} 549-4444 and enter carriage return. Our com¬ puters are manning the phones 24 hours a day, 7 days a week. Our Career Data Base contains complete details on a wide variety of positions currently available at Foxboro. tOXBORO Circle No. 265 on Inquiry Card That should begin to tell you what we think of timesharing on minicomputers and main¬ frames. An approach that has significant appeal when only a few people use a computer system. But a concept whose flaws become painfully apparent as soon as you try to distribute finite compute power to all the people who need it. When you do, everyone has to sac¬ rifice their share of that power. The result is system degradation. And the frustrations that come with slower processing, lack of adequate memory, and the additional time it takes to get work done. There is, of course, an alternative. It’s called DOMAIN® processing. And it’s exactly what engineers, scientists, architects and other technical professionals have always clamored for. The computer industry’s only known example of 32-bit dedicated workstations, each with the compute power of a mainframe, that let users trans¬ parently share both information and resources across a high-speed local area network. Put another way, DOMAIN processing combines the best features of both timesharing and standalone computers, but none of their drawbacks. Sharing without sacrifice. Dedicated compute power without isolation from co-workers and their data. With DOMAIN processing, every user gets his or her own computer system con¬ nected to a network. Each workstation delivers large machine performance and functionality, substantial data storage, and effortless interaction with the system. And when you add additional workstations, you actually increase everyone’s power. Rather than diminish it. The DOMAIN family of compatible workstations offers a wide range of products. From high performance color workstations for demanding applications such as solids modeling and finite element analysis to low-cost monochro¬ matic workstations for software development and technical documentation. Of course the true worth of any com¬ puter system is its applicability. A measure by which Apollo excels. Today more than 300 of the finest application packages available run under DOMAIN. State-of-the-art programs that cover electronic design, mechanical design and engi¬ neering, computer integrated manufacturing and much more. So if you’re running out of power to distribute to your product developers, we suggest you contact Apollo. You’ll find the experience enlightening. Call (617) 256-6600 x4497. Or write Apollo, 330 Billerica Rd., Chelmsford, MA 01824 MS32. Circle No. 240 on Inquiry Card DEVIL'S ADVOCATE Stop the industry—I want to document! by Stan Kelly-Bootle Bertrand Russell was fond of paradoxes, especially his own. Who can forget the famous Rus¬ sell paradox (“If A is the set of all sets which are not members of themselves, then ‘A belongs to A’ implies ‘A does not belong to A ), which floored Frege and damn near killed Russell himself? It also ruined the dream of putting mathematics on a solid logical foundation. Russell admitted to us later that the 20 years he and White- head spent trying in vain to re¬ solve this paradox in Principia Mathematica left him scarred for life. Their theory of types sought to avoid the paradox by brushing it under the carpet. If certain sets of sets led to contradictions, then they had to be blackballed from the club. “ ‘Fraid we blew it, Alf,” Bertie announced suddenly. We were all sipping sherry, I vividly recall, in his Trinity College rooms. Whitey stormed out in a huff, leaving just Bertie, Witgie. C.R, A1 (Turing), and myself. “There’s a pretty paradox,” quipped A1 in his best mock Gilbert & Sullivan accent, putting a comforting arm around Bertie. Wittgie carried on poking at the empty fireplace as though nothing had happened. And yet we all sensed that Formal Sys¬ tems Theory would never be the same again. Poor Bertie did not live to see the UNIX resolution of the prob¬ lem. Clearly, if one has directory files containing the names of files, they may or may not contain their own names. If they do, put them on Disk 1; otherwise on Disk 2. Then make a superdirectory file A. of all the directories on Disk 2—that is, for all those that do not contain themselves. If we include A itself in this su¬ perdirectory, it would appear to belong on Disk 1 . . . and yet all members of A, including A itself, by definition, belong to Disk 2. But are we dumbstruck by this impasse? Do we rush off for 20 years to juggle with symbolic tau¬ tologies? No way in San Jose. This is hard-headed, feet-on-the- ground UNIX territory. File A is simply swapped to and from Disk 1 and Disk 2 as a background task—or perhaps it’s just quietly erased when no one is looking. Bertrand Russell was also fond of the Tristram Shandy Paradox. Tristram found that in trying to complete his autobiography, he was taking a year to cover each day’s activity. Given a tireless, immortal au¬ thor armed with WordStar™ ver¬ sion Aleph 0, on a Turing Machine (no tm yet), and an endless supply of floppy tape, the question posed by philosophers and other lay¬ abouts is whether any part of Tristram’s life would ever remain unrecorded. Or would the damned machine halt first? Sorry, I seem to be mixing my paradoxes. What’s undoubtedly true about the Tristram story is that, com¬ plete or not, the opus would be in¬ finitely boring. The bulk of it would resemble the average mod¬ ern novel, the plot of which re¬ volves around a modern novelist trying to write a modern novel . . . this recursive narcissism per¬ vades many fields of human endeavor. When 1 was a fulltime folk sing¬ er touring the UK with other full¬ time folk singers, we saw so little of the real world that we ended up writing and singing ballads about the tribulations of itinerant balla- deers: “It’s a Mighty Hard Road— 50 Miles to the Next Gig”, “My Agent Done Dropped Me”, "Fret- blood Blues”, and other similar ditties. The speculation on Tristram 72 UNIX REVIEW MAY 1985 AT&T just announced its UNIX PC. GSS software is on it. Just like on the IBM PC. The result is standard UNIX graphics, just like on PC-DOS. When AT&T and IBM needed graphics standards, they came to GSS. The emerging standards imple¬ mented by GSS for DOS and UNIX — the Virtual Device Interface (VDI) and Virtual Device Metafile (VDM),— form the foundation of the graphics strategy of IBM, AT&T, and others. “The GSS Virtual Device Interface endorsed by AT&T and IBM has established GSS as the primary source for graphics software tools in the small computer marketplace’.’ Dataquest The first revolution in microcomputers was the development of standardized operating systems. Programs right off the shelf could run on different computers. But with only a few peripherals. And with limited graphics. The second revolution is graphics and it belongs to GSS. Because we developed the graphics standards for AT&T and IBM, and because our GSS-DRIVERSr GSS-TOOLKIT,™ and GSS-SOLUTIONS™ provide you the edge you need to differentiate your products and stay competitive. And our products are available now, right off the shelf. “One of the most technically difficult areas to standardize is graphics. Having GSS sup¬ port the VDI in both DOS & UNIX, will provide software developers greater pro¬ gram portability and shorter development cvclp*” Aaron Goldberg, 1DC If you make software, computers, chips, or periph¬ erals, you can also be a part of the standard. The revolution continues. IBM and PC-DOS are trademarks of International Business Machines, Inc UNIX is a trademark of AT&T. GSS logo, GSS-DR1VERS, GSS-TOOLKIT, and GSS-SOLUTIONS are trademarks of Graphic Software Systems, Inc. Circle No. 264 on Inquiry Card U DEVIL'S ADVOCATE Shandy arises from my recently completed Waite/Sams Primer on the Motorola M68000 family. The emetic pace of the com¬ puter industry, especially in the last decade, presents a target not unlike Tristram’s life, threaten¬ ing to out-accelerate the tradi¬ tional rate for producing timely and useful documentation. The M68000 chips themselves are Rocks Of All Ages, but some of their implementations and imple¬ mentors fly forgotten as dreams. Before the ink is dry on the typical product document, hardware ob¬ solescence (not excluding the de¬ mise of paper and ink), litigation, negative cash flow, rewrites, un¬ writes, mergers, sudden death, and the thousand natural glitches our trade is heir to, can intervene to vitiate the writer’s efforts. With this in mind, 1 sent out a carefully worded letter last Sep¬ tember to all computer innovators (with an “Information Only’’ copy to IBM), urging a six-month mora¬ torium so that my fellow authors and I could “catch up”. The re¬ sponse was mixed, to say the least. The BASIC standards commit¬ tee, bless it, cabled immediately from a restaurant in Geneva, promising to remain “poised for action, awaiting your signal.” AT&T wrote to say that six months was hardly sufficient (“Call that a moratorium?”) be¬ cause its planning charts allowed only a two-year granularity, but nevertheless agreed to rush out some “Freeze UNIX” bumper stickers. My only other success was Lotus Development Corp., which reluctantly offered to hold back Jazz for a while. The indus¬ try as a whole pressed on with its usual selfish, me-too, up-yours madness. The only solution, it seems, is a break from traditional methods of information dissemination. In many user situations, online help files can speed up the instruc¬ tional flow, but can they offer the convenience of books and man¬ uals? Rapid browsability and in¬ formal, mid-job access are impor¬ tant but remarkably difficult to achieve. The helpee is not always sure where that tiny but cosmi- cally vital piece of help is lurking. More often than not, a simple question invokes a daunting over¬ dose of unhelpful diversions. The How do you spell UNIXrelief? U-C-I Unified Computer, Inc. • Realtime Operating System in “C M • Dual Processor UNIX Implementations • Generic System V Ports • UNIX I/O Processor Implementations • PC and UNIX Networking • Array Processor Interface • UNIX to Image Processor Interface • System Benchmark and Finetuning • UNIX Kernel, Utility and Device Driver Development & Tuning The UNIX Consulting & Contracting Experts "Alpha Micro needed UNIX expertise and found UCI to be professional, knowledgeable and very responsive. We look forward to our continuing and growing relationship." Mr. Larry Fleldman, Mgr ■ Software Analysis Alpha Micro “UCI has been a significant contributor concerning integration of our high- performance array processors to UNIX. Their knowledge with the UNIX internals proved most valuable.” Mr. Joe Germann, D rector of Software Engineering Sky Computers “KLA needed changes to be made to the UNIX operating system to in- crease the retrieval speed of certain files from the disk. We found UCI to be knowledgeable, efficient and easy to work with.” Mr. Paul Esrig, Manager ■ Special Projects KLA Instruments For more information contact Charles Valente, Marketing Manager, at 408-943-9072 or write: - Unix in .1 trademark of AT&T Bell Labnratnricv UNIFIED COMPUTER, INC. 968 HANSON CT. MILPITAS, CA 95035 (408) 943-9072 Circle No. 256 on Inquiry Card 74 UNIX REVIEW MAY 1985 car owner wants to get from here to there without studying the mo¬ lecular structure of hydrocarbons or the love life of Nicholas Carnot. All too often we are given the equivalent of “I wouldn’t start from here if I were you.” Is there yet an electronic analog of flipping rapidly through a well- thumbed text so as to spot your previous annotations and yellow highlights? On the broader educational front, many computer topics sud¬ denly become fashionable. As the relative cost of computer compo¬ nents fluctuates, last week’s hot debate on method A versus meth¬ od B can quickly become as mean¬ ingless as a medieval angel¬ counting contest. Small wonder that ACM’s SIG is planning a daily newsletter. Computer Science in 1985 still reminds one of Ancient Egyptian Mensuration, coping quite well on an ad hoc, day-to-day, problem¬ solving basis, yet waiting for Ge¬ ometry to arrive. We have our Thales’ and Pytheas’s go leor , even the odd Pythagoras (send a plain, stamped, addressed enve¬ lope for my listing), but where is Euclid or Euclidea hiding? He or she is not required to add to the sprawling corpus of pre, post and praeter-structural gos¬ pels, but simply to step outside the cockpit and codify, codify, codi¬ fy. We need to have machine-inde¬ pendent, language-independent, OS-independent, and logo-inde¬ pendent axioms. We need to have an acceptable deductive frame¬ work free from the influences of xenophobia, inventory levels, and sales commissions. The rewards will be great. Remember that Euclid’s Ele¬ ments has held top spot in the all- time textbook bestsellers list for over 2000 years. Indeed, it is sec¬ ond only to the Bible in the com¬ bined lists. A Principia Rationorum Digi- torum would bring similar stabil¬ ity to the computer trade. At least until a Lobachevski or Riemann pounces on the axioms. Stan Kelly-Bootle has diluted his computer career by writing con- Easier than 1 - 2 - 3 ... BUT DESIGNED FOR LARGER SYSTEMS P.0. BOX 2669 KIRKLAND, WA 98033-0712 9 EFFECTIVE SOFTWARE FOR BUSINESS temptuous folk songs for Judy Col¬ lins (“In My Life,”Elektra K42009), The Dubliners and others. He is cur¬ rently writing , with Bo Fowler , “The 68000 Primer” for the Waite Group , to be published by Howard W. Sams in the Spring of 1985. ■ It’s simple, C-CALC from DSD Corporation is more flexible, has more functions, and is easier to use than the best selling spreadsheet. We made it that way for a very simple reason, you’ll get more work done and make better decisions in less time. That’s what makes you successful whether you are planning for the future, fore¬ casting trends, or analyzing profits. The most popular spreadsheets require a great deal of time to get up and running. When we created C-CALC we kept in mind that time is your most important resource. Our On-Line Help facilities, prompts and menus allow even someone with minimal experience to see meaningful results in very little time. Our built- in training procedures let you pace your own learning with tutorial topics that range from basic to advanced. As you become more expe¬ rienced, C-CALC allows you to bypass prompts and menus to save even more time. So call DSD Corporation at (206) 822-2252. C-CALC is currently available for UNIX, VMS, RSTS, RSX, IAS, P/0S, AOS, AOS/VS (Data General), IBM CSOS. C-CALC is a registered trademark of DSD Corporation. UNIX is a registered trademark of Bell Labs. P/OS, RSTS and RSX are registered trademarks of Digital Equipment Corporation. AOS and AOS/VS are registered trademarks of Data General Corporation Circle No. 257 on Inquiry Card UNIX REVIEW MAY 1985 75 PROBLEM SOLVER, Network servers under UUCP by Bob Toxen Because most network solu¬ tions on the market today provide essentially the same sort of ser¬ vice, it’s sometimes difficult to ap¬ preciate just how many underly¬ ing communications mechanisms there are. Schemes that make use of directly-wired RS232 ports, public phone networks or Ether¬ net networks running XNS or IP/TCP are the most common. The organization that doesn’t have several such options available on its various systems is rare. But none of these underlying mecha¬ nisms are suitable for all circum¬ stances—making some higher-level facility neces¬ sary to tie them together. This high-level facility should be able to operate over diverse hardware types, have a checksumming and retry capability for reliable transmission, a spooling mechanism to keep requests from getting lost if a system is temporarily down, and a way to acknowledge the completion of requests. At the very least, it must be able to transfer files and do remote program execution. You may not realize it, but this high level facility is probably already at hand. UUCP meets all of the requirements quite well. Its chief cost comes in the few days of programmer time it takes to interface with XNS or IP/TCP in most implementations. This owes to the interfacing scheme of XNS and IP/TCP, which requires that access be made through custom library routines. For XNS, one can specify a device named xns in UUCP’s L-devices and L.sys files for connection with systems communicating over XNS. In doing this, though, one should not place an exclu¬ sive use lock on the xns device, nor should one apply RS232-type ioctls (such as for setting the baud rate). Once UUCP is configured, net¬ work servers can be developed. Since a single printer is generally shared among several systems, one often develops a printer serv¬ er first. This and other servers can be often be simple shell scripts. Assume the standard UNIX printer spooler, lpr, is used to ac¬ tually drive the printer and that the system connected directly to the printer is called bigiron. On those systems not connected di¬ rectly to the printer, one could re¬ move the standard lpr program and replace it with a shell script to do remote spool¬ ing. The following script is typical: cat $* | uux bigiron!lpr If a list of files is supplied as an argument when the script is invoked, $* will expand to this list of files and they will be concatenated. If no arguments are supplied, $* will expand to a null string and stan¬ dard input will be read. There are several features that could be added. One might be to tell lpr to print the name of the account invoking the script on the banner page (without such a script, the account name uucp would be printed on the banner page instead). There are also other ways to make use of remote printers via UUCP. The uux program, for instance, is UUCP’s own way of doing remote execution. Its first argument, a dash ( - ), tells uux to read its stan¬ dard input (piped from cat) to EOF and then supply it as standard input to the remotely executed program. The second argument ( bigironUpr ) indicates which system to use for the remote execution and what program to execute. Under uux syntax, the system 76 UNIX REVIEW MAY 1985 “It Finds The Subtle Bugs In My C Programs’ Claude B. Finn V. P. Software Development EnMasse Computer Corporation iiiUllUllUlUUUUiiiiiUU The SAFE C™ Family Can Literally Cut Software Development Time In Half. For UNIX™ and VAX/VMS.™ “Evasive bugs that use to eat up days — I'm finding them in minutes. Stray pointers, errant array indexes, parameter mismatches, misuse of string functions...I'm using Safe C automatic error detection to find them all." Claude Finn is one of the many C programmers who have discovered that the Safe C family of software de¬ velopment tools dramatically enhances programmer productivity and improves software reliability and port¬ ability. Most Safe C customers have recouped their in¬ vestment in these tools within the first month of active use. And with the security of Safe C their programmers are sleeping a lot easier! The Safe C Family includes the Runtime Analyzer, Dynamic Profiler, Standalone Interpreter, English to C Translator and C to English Translator. They may be purchased separately or as a group. CCA Uniworks, Inc. Productivity Tools for Programmers 20 William Street • Wellesley, MA 02181 Circle No. 279 on Inquiry Card For more information or to place an order call our customer representatives at 800 - 222-0214 In MA (617) 235-2600 or mail this request form today. Please send me information on: □ The Safe C Development □ CCA EMACS Unix/VMS Tool Family Editor Environment □ AI Development Tools □ Your complete line of state-of-the-art program- ming tools □ Please send license forms Name_ Title__ Company_ Address_ City, State, Zip_ Phone !_]_ CCA UNIWORKS, INC. 20 William Street • Wellesley, MA 02181 A Crowntek Company Unix is a trademark of Bell Laboratories, VAX and VMS is a trademark of Digital Equipment Corporation, MS/PC-DOS is a trademark of Microsoft, Safe C is a trademark of Catalytix Corporation, CCA EMACS is a trademark of CCA Uni¬ works, Inc. U PROBLEM SOLVER name ( bigiron ) should appear to the left of the excla¬ mation mark ( ! ) and the program to execute (lpr) should appear to the right. To maintain security, the remote system will only allow certain commands to be invoked by uux. This list of legal commands appears in different places in different implementations. In most, the list is con¬ tained in a file in the /usr/lib/uucp directory called L.cmds, L-cmds, or uuxqtcmds. In others, it is com¬ piled into /usr/lib/uucp/imxqt, which is a program that a binary licensee must patch in order to change. It should be noted that UUCP can communicate between computers from different manufacturers with different processors running different versions of UNIX. When a program is remotely executed (in¬ voked) the binary that’s used comes from the ma¬ chine doing the actual work. This allows, say, a M68010 system to remotely execute a program on a VAX. SERVERS FOR troff With the current proliferation of laser printers, troff is becoming commonly available. A server un¬ der UUCP can be used to invoke troff on a system connected to a remote printer, even when the text to be troffed resides locally. Thus, a troff server pat¬ terned after the lpr printer server is needed. It must have additional smarts built in, however, to deal with troff flags. This is handled by the script listed in Figure 1. Figure 1 — An example of a server that can be used to invoke troff on a remote system. MAIL SERVERS A network mail server is already built into UUCP and mail. To send mail to someone, the account name and the name of the system it is on must be None of the underlying communications mechanisms are suitable for all circumstances— making some higher-level facility necessary to tie them together. supplied. Thus, to send mail to an account calledjiU on the system called onyx, the following commands could be used. Under csh: mai l onyxW! ji U Under the Bourne shell: mail onyx!jill (See my column in the November, 1984, issue of UNIX REVIEW for a more detailed discussion of this facility.) This sort of approach is fine for a set of five or 10 accounts where all the pathways are known and easy to remember. If one must communicate with 100 accounts distributed over a dozen workstations and a few VAXen, it’s almost impossible to keep track of what system an account is on. (It is usually possible to track account names by using, say, a person’s first name. If several people have the same first name, then the first letter of their last names can be part of their account names.) What is needed is a mail server that knows where any given account is located. One could then send mail to jill and the server would know to send mail to onyxljill. There is already the capability to do this on any UNIX implementation that has Mail, sendmail. or delivermail. With straight 4.1 BSD, 2.9BSD, 4.2BSD, or a system with “Berkeley enhance¬ ments", one of these is probably available. To be sure, issue the command: % Is -l /bin/Mail* /usr/*/Mail \ /usr/lib/*sendmail /etc/delivermail* With sendmail or delivermail, aliases can be add- 78 UNIX REVIEW MAY 1985 ed to the file /usr/lib/aliases. These aliases are us¬ able by everyone on the system. The syntax calls the name given to Mail and a colon ( ; ), to be followed by a tab and the name to actually use. Thus, for our previous example, add the line: jiL L: onyx! j ill With this in place, mail can be sent to Jill by as simple a command as: % maiL jilt With Mail, aliases can be provided by similarly editing the file /usr/lib/Mail.rc (or the file .mailrc in your home directory if you wish to limit the effects to your own account). For example, adding the line: a Lias jilt onyx!ji11 will allow one to send mail to jill with the command: Mail jilt Note the capital M. Even on some systems that do not have Mail, this last example will work with a program called mail rather than Mail. To see if a system's mail program has this capability, issue the command: % mail -u oops If the error message “oops” is not a user of this system returns, then the system has the ability to alias mail destinations. It’s THE Place To Be... SUMMARY We’ve only scratched the surface. Many other UUCP servers can be developed as needed. One might create a “wall server", for instance, to invoke the wall program on a network of systems. This would allow the wall command to broadcast its standard input to all people logged into a network, meaning it could be used for making company-wide announcements. (Since wall is in the /etc directory, either list it as /etc/wall in UUCP’s L.cmds file or link it to /bin/wall.) For less urgent announce¬ ments, a server can be created for using the 4.2BSD msgs or System V news programs. How many other uses can UUCP servers be put to? The possibilities are limited only by imagination. Bob Toxen is a member of the technical staff at Sili¬ con Graphics, Inc. who has gained a reputation as a leading expert on UUCP communications, file system repair and UNIX utilities. He has also done ports of System III and System V to systems based on the Zilog 8000 and Motorola 68010 chips. ■ Meet people making it happen in OS-9. The movers and shakers who are helping OS-9 become the fastest growing operating system for the 6809 & 68000 in the world. Lively and informative round-table discussions will cover the design and use of Microware Software. We'll also discuss 0S-9's dynamic growth from where we are today to where we may be in the future. The exhibit area will feature booths from many of the leading suppliers of OS-9 compatible hardware and software. It's a great opportunity to increase your skill and knowledge in the latest microcomputer software technology. Plan to attend — Register Today! Seminar only $150 Hotel Package* $350 Location Marriott Hotel, Des Moines, IA Don’t Miss It — Pre-Register Now! uail 515-224-1929 or Write MICROWARE SYSTEMS CORPORATION 1866 N.W. 114th St. • Des Moines, IA 50322 # Hotel package includes 3 nights, single occupancy at the Marriott Hotel and registration fee. OS-9 and BASIC09 are trademarks of Microware and Motorola r A THE UNIX GLOSSARY Distributed processing and databases by Steve Rosenthal Note: only those aspects of these terms that pertain to dis¬ tributed resource sharing are included in this listing . access plan —the method by which a distributed system pro¬ vides a local node or site with re¬ mote data. Data may be retrieved upon request, or requests may be buffered until a specified number accumulates or a particular stage of processing is reached. atomic— an indivisible operation that must either be done to com¬ pletion or aborted. Transaction updating is a typical example. checkpoint —in a distributed network, refers to a point at which all outstanding transac¬ tions are recorded and new trans¬ action logs are begun. If there are any subsequent system failures, recovery can be made by resub¬ mitting transactions from that point. commit —to accept a transaction into a database. In a distributed system, transactions are usually treated as atomic, being either completely accepted, or discard¬ ed. Once a transaction has been committed, its information be¬ comes available to other stations in the system. complete —said of a distributed database or a distributed set of programs, arranged so that all elements designed to be included in the global system are, in fact, incorporated into some local node on the system. conceptual schema —the logical arrangement of items in a data¬ base or file. The physical record may be very different than the logical view. concurrency control —in a dis¬ tributed system, ensures that events that are input simulta¬ neously do not interfere with each other or lead to the processing of incomplete records and files. The usual method is for the system to finish processing one transaction before starting another, or to use a system of locks or semaphores to restrict simultaneous use of the same information. deadlock —in a multiuser or dis¬ tributed system that uses a sys¬ tem of locks to reserve access to files, records, or system re¬ sources, describes a situation where two or more processes have seized the use of some key ele¬ ment, leaving no process ready to proceed. disjoint —when speaking of a da¬ tabase or group of programs split up between nodes on a distributed system, refers to one that has no overlaps or duplications between nodes. distributed processing —an ar¬ rangement of computers and re¬ lated equipment that allows com¬ putation and decision-making to be done at more than one location. Most older UNIX systems connect terminals with no processing abil¬ ity to a central computer, but in¬ creasingly the trend is to include processing ability in each loca¬ tion. So far, standard UNIX makes no provision for distributed pro¬ cessing, but a number of commer¬ cial and experimental systems have been built. distribution transparency —the arrangement of a distributed sys¬ tem such that ordinary users are not aware of, nor need be con¬ cerned with, the physical frag- 80 UNIX REVIEW MAY 1985 MANY UNIX-BASED SYSTEMS ONE UNIX TRAINING COMPANY The Computer Technology Group provides the UNIX training solution. Training to fit the complexities of your UNIX-based system. Three factors make the Computer Technology Group the experts in UNIX and *C language training: • Experience, through training thousands of students worldwide in live seminars, with thousands more using our video training at their own locations. • Extensive Curricula Supporting All UNIX Versions, creating a client base of manufacturers, software developers and end users. • Quality of Instruction, with instructors and course developers who are experts in teaching UNIX and ‘C, as well as in designing and implementing a variety of UNIX-based systems. ONE UNIX TRAINING COMPANY MULTIPLE DELIVERY SYSTEMS Whether you’re training two, 200,2000.. .you can select the most efficient and economical training solution for your unique environment: • Public Seminars offered in major cities throughout the world. • On-Site Seminars for training customzied to your system and to specific groups within your organization. • Video-Based Training for consistent training that is always available at your location. • Interactive Videodisc Training, which dynamically tailors courses to the indi¬ vidual—from novice to expert programmer. ASK FOR OUR 48-PAGE COURSE CATALOG, WHICH PROVIDES: • Comprehensive course outlines • Course prerequisites • Curriculum recommendation for multiple audiences • Guidelines for cost-effective train¬ ing media selection • Current seminar schedule CALL (800) 323-UNIX or (312) 987-4082 in Illinois ™ UNIX is a trademark of Bell Laboratories. COMPUTER - TECHNOLOGY GROUP Telemedia, Inc. 310 S. Michigan Ave., Chicago, IL 60604 Circle No. 291 on Inquiry Card If GLOSSARY mentation of the system. durable —said of processing ar¬ rangements that are designed to ensure that data will be reflected in the system files once it's been accepted by the system. This al¬ lows remote systems or locations in a distributed network to erase their copies of transactions once the transmitted data has been ac¬ cepted by the location responsible for the record. exclusive —a one-user-at-a-time limit on the right to access a shared file in a network or distrib¬ uted system. Unlike private files, which can only be accessed by a single user, exclusive files can be used by others—at different times. fragment —to divide a database into parts, each of which can be stored on a different device or sys¬ tem. Vertical fragmentation di¬ vides each record (or each row in a table-oriented database), while horizontal fragmentation divides the database such that one group of complete records (rows in a ta¬ ble-oriented database) remains together while another group is broken off into a separate piece. fragmentation schema —the way databases or programs are bro¬ ken up in a distributed system. global optimization —in a dis¬ tributed system, refers to im¬ provements in the way data or programs are shared among var¬ ious nodes or sites. The most fre¬ quent tactic is to cut the number of remote accesses, either by in- •UNIX is a irademark ol AT&T Bell Laboratories creasing locality or by assembling remote requests into blocks. graceful degradation —a failure mode for a distributed system that allows users to access some local files and processing power—even when the coordination between sites breaks down. In this way, us¬ ers avoid losing pending transac¬ tions. granularity —the size of the data regions reserved by the software mechanisms preventing simulta¬ neous writes, updates, or dele¬ tions by two or more users in a distributed system. Larger granu¬ larity is often easier to implement, but it tends to slow access to data in busy systems. heterogenous —said of a distrib¬ uted system in which not all nodes or sites are the same. Most commonly, the network will com¬ bine a central mini or mainframe with individual workstations. homogenous —said of distribut¬ ed systems in which each node or site is identical. A homogenous system often is comprised of iden¬ tical workstations with no central server or main computer. horizontal fragmentation —the division of a database or any other collection of data such that groups of complete records are stored at various locations. isolation —the extent to which operations in process at one loca¬ tion leave all other locations unaf¬ fected. locality —the degree to which the data needed in a distributed appli¬ cation can be found at the site that started the task (the site of origin). Complete locality means that all the necessary data can be retrieved locally. local optimization —improving the way a node or site accesses or processes data in a distributed system. If the system is parti- mi ■ DUAL. The stalf at Dual Systems has compiled a Filesystem Reference Manual for the UNIX™ operating system, both Version 7 and System V. The manual contains three listings of the files distributed on computers using the UNIX operating system. The first is a complete alphabetical listing of all the files, providing pathname, description, origin, and file group. The second listing divides all the files into thirteen application groups such as mail, program devel¬ opment and text processing. The third listing divides the files into six groups based on the originator (e.g., Bell Laboratories, Berkeley enhancements, etc.). Every user of the UNIX operating system would profit by having one of these books. The drawing showing the hierarchical interrelation of the various files is a great aid in finding one's way around the UNIX operating system. Price is $35.00 in single quantity. Please contact our sales department to order. DUAL DUAL SYSTEMS CORPORATION 2530 San Pablo Ave. ■Berkeley, CA 94702 (415) 549-3854* Circle No. 260 on Inquiry Card 82 UNIX REVIEW MAY 1985 HatllS tioned clearly, local optimization can occur even without any changes in global operation. local reference —a request for data or programs located at the user’s node or site in a distributed processing system. location transparency —the ar¬ rangement of a distributed sys¬ tem such that ordinary users are not aware of, nor need be con¬ cerned with, where particular ele¬ ments are located in their system. log —a set of transaction records entered since the last checkpoint. One good practice is to log each transaction before making an up¬ date or performing an operation. Then, if a system failure occurs, the state can be reconstructed by resubmitting the log entries, us¬ ing the checkpoint files as a start¬ ing point. map —to implement the concep¬ tual schema for storing data in a physical database. Although the physical database should act logi¬ cally like the conceptual schema, it need not necessarily resemble it in form, order, or size. redundancy —as applied to dis¬ tributed systems, the extent to which data (or programs) are du¬ plicated across the system rather than being partitioned among the component nodes. remote execution —the execu¬ tion of a program or process other than the one where the user is located. remote reference —a request for data or programs located at some other node or site than the one where the user is working. replication transparency —the arrangement of a distributed sys¬ tem such that users do not have to be concerned about whether the system keeps a single copy of each file or duplicates it at one or more nodes. serialize —to process events that arrive simultaneously as if they had arrived one after the other. This is one of the principal meth¬ ods of concurrency control. shared —said of files and records that can be read by more than one process but are locked against writing or deleting. This mode is not yet a part of standard UNIX System V, but it is available on several other UNIX implementa¬ tions. site —a processing and user-in¬ terface node in a distributed pro¬ cessing system. The site of origin is where processes start, but pro¬ cesses can go on to invoke others at remote sites in the system. site autonomy —the degree to which each location in a distrib¬ uted processing system can work according to its own rules, sched¬ ules, and procedures. Greater site autonomy pleases users, but it carries the danger of database corruption or incompatibility. transaction —an update, addi¬ tion or deletion of a record in a distributed system. To prevent er¬ rors, some method of concurrency control must be used to coordi¬ nate processing of transactions so that records are not used while they are in the process of being updated. vertical fragmentation —the di¬ vision of databases or other col¬ lections of information such that some fields for the same records (or “attributes”, if the database happens to be table-oriented) are stored in various locations. Comments , questions , cor¬ rections? Please send them to Rosenthal's UNIX Glossary , Box 9291 , Berkeley , CA 94709. Steve Rosenthal is a lexicogra¬ pher and writer living in Berkeley. His columns regularly appear in six microcomputer magazines. ■ X.25 FOR UNIX* Communications System • Efficient, error-free data transmission to multiple hosts via international standard X.25, the only fully certified error-free public networking system used world-wide. • User utilities • Remote user login • Remote mail service • Remote file transfer • Compatible with widest number of host computers. • Hardware available for VME, Multibus and others. • Previously certified on TELENET, TYMNET and UNINET networks. • Lowest cost per node. Adax, Inc. 737 Dwight Way Berkeley, CA 94710 (415)548-7047 UNIX is a trademark of Bell Laboratories. Circle No. 259 on Inquiry Card UNIX REVIEW MAY 1985 83 RECENT RELEASES HAPPINESS THROUGH CROSS TOOLS Unidot has developed a family of cross development software tools for UNIX systems, including cross compilers and macro as¬ semblers. Targeted microproces¬ sors include chips from Intel (in¬ cluding 808X and 80X86), Zilog (Z80 and Z8000), and National Semiconductor (32000). The com¬ pany says it can supply source code in most cases. To facilitate development of complex software in assembly code, the Unidot assemblers sup¬ port a flexible macro facility and conditional assembly facility, as well as up to 255 separately relo¬ catable object sections, a full as¬ sembly listing, symbolic debug¬ ging. and a symbol cross refer¬ ence listing. The Unidot tools simplify pro¬ gramming microprocessors by us¬ ing mnemonics compatible with those of the op-code and by using assembly language syntax. The pseudo operation syntax is com¬ mon to all the assemblers. Pricing varies with the host computer. A site license for multi¬ ple CPUs at the same location is 2.5 times the binary license fee. A source license, including a site li¬ cense. is three times the binary license. Unidot. Inc., 602 Park Point Dr., Golden. CO 80401,303/526- 9263. Circle No. 246 on Inquiry Card Qume QVT-101 terminal SMART TERMINAL WITH SMART PRICE The QVT-101 terminal from Qume Corp. is described by its manufacturer as a “smart, full- function editing terminal”; its price is S395. The terminal pro¬ vides all the features of Qume’s gVT-102, and emulates the Ha- zeltine 1500, Lear Siegler ADM 3A/5, and TeleVideo 910. The gVT-101 features block mode data transmission, allowing entire screen loads to be dumped at one time. Multiple interface op¬ tions allow it to operate remotely from a microcomputer, mini, or mainframe. This terminal offers 16 host or user-programmable functions. A 14-inch non-glare screen, bi¬ directional printer port, RS232 interface, foreign character sets, and detached keyboard are all standard. Options include an am¬ ber screen, and current loop or RS422 interfaces. Qume Corp., 2350 Qume Dr., San Jose, CA 95131, 408/942- 4000. Circle No. 247 on Inquiry Card CAE FOR LATEST VAX SYTSEMS CAE Systems has developed CAE 2000, a design automation tool with versions for the DEC VAXstation I and VAX 8600. The program can operate in stand¬ alone mode or as a node in CAE’s WorkSystem network. CAE 2000 uses DEC’S latest VMS Release 4 and DECshell. Its features include schematic cap¬ ture, logic simulation, circuit sim¬ ulation. timing verification, and interfaces to other design tools. The VAXstation I brings the power of a VAX to the desktop workstation, and supports Ether¬ net local area networks. CAE 2000 for the VAXstation costs be¬ tween $22,000 and $50,000 de¬ pending on the application. The 8600 delivers 4.2 times the power of an 11/780. CAE for it starts at $124,000. CAE plans on July shipment for the programs. Similar imple¬ mentations for the 11/750 and 11 /780 are available now. CAE Systems, Inc., 1333 Bor¬ deaux Dr., Sunnyvale, CA 94089, 408/745-1440. Circle No. 248 on Inquiry Card 84 UNIX REVIEW MAY 1985 Software development isn't a mountainous task once you eliminate the high C errors. When you can find and fix bugs at the earliest possible moment, creating software stops being such an uphill grind. And the Smart/C Environment makes it possible. It’s a complete, fully-integrated development environment for C that saves you from the creativity-inhibiting cycle of edit, compile, re-edit, re-compile, link, load, test, re-edit, re-compile, etc., ad infinitum. Smart/C puts the fun back in programming, because you spend your time creating... not waiting. Here’s why. Syntax errors are elimi¬ nated automatically as code is entered. Smart/C’s highly integrated editor and interpreter allow you to interpret your pro¬ gram at any time in the creation process, so logic errors can be ferreted out as soon as the algorithm exists—long before any compile, link, or load. The complete integration of the edi¬ tor and interpreter means you can stop anywhere in the interpret cycle, edit, and then go right back into the interpreter exactly where you left off. Not only that, the screen-oriented user interface lets you see all operations, even interpretation, right on the listing of the code. And to make maintenance program¬ ming easier, Smart/C’s Migrator allows existing C code produced with any editor to be modified and run within the Smart/C Environment. All of which makes Smart/C an excel¬ lent tool. It’s flexible, non-restrictive, and lets you create elegant, readable, error- free programs that you can watch run with a great feeling of satisfaction. Smart/C" Demo Disk! To fully appreciate Smart/C, you have to see it in action. For your free IBM PC MS-DOS demo disk, call us. Or write us on your company letterhead. AGS Computers, Inc., Advanced Products Division, 1139 Spruce Drive, Mountainside, NJ 07092. 800-AGS-1313. In NJ, 201-654-4321. o 0 Smart/C Features The Smart/C Environment □ Fully integrated editor and interpreter D Only one load brings them both in □ One command set □ Move between one another at will Syntax Directed Editor □ vi-like command set □ Automatically provides formats for blocks, for, case and //statements Interpreter □ Current module can call external modules during interpretation □ Has Include capability □ Totally precompilation — no incremental compile □ Can interpret partially defined files allowing for rapid prototyping □ Variable speed of interpretation □ Multiple windows with user-defined sizes The Smart/C Migrator □ Allow s C code produced with any editor to be interpreted by Smart/C □ Reformats for readability Smart/C has been ported to UNIX™ System V Release 2, Berkeley 4.2, Xenix,™ and MS-DOS. Versions run on 8086- and 68000-based machines, as well as proprie¬ tary architectures. Smart/C runs on PCs, micros, supermicros, minis, and even mainframes. Trademarks—Smart/C: AGS Computers, Inc.; UNIX. AT&T Bell Labs; Xenix and MS-DOS: Microsoft Corp : IBM PC. IBM Corp. ■ditB COMPILE AGS Circle No. 237 on Inquiry Card ■■TEST RE-EDIT H RE-COMPILE RE-TEST RE-EDIT RE-COMPILE RE¬ ST RE-EPIT RE-COMPILE RE¬ TEST M-EDIT RE-COMPILE RE-TEST -EDIT RE-COMPILE RE-TEST RE-EDIT RE-COMPILE RE-TEST RE-EDIT RE-COMPILE RE-TEST RE-EDIT RE-COMPILE RE-TEST RE-EDIT E-CO MPtLI R E JEST RE-EDIT RE-COMPILE RE-TB T RE-COMPILE RE-T EST RE-EDIT RE-COMPILE R IE. ilB 9 S^l SP HP Hlb Si ip M a rat. ■ ■ wm ■■ ■ If RECENT RELEASES OCTAL SERIAL BOARD SUITED TO 68000 UNIX SYSTEMS SBE, Inc.'s M68COM octal ser¬ ial board is an addition to the com¬ pany’s ModulasTen line of Multi- bus-compatible products. The board provides eight independent full-duplex channels, and is con¬ figured with either a 16/32-bit MC68000 or 68010 microproces¬ sor. It runs at 10 MHz with no wait states for memory reads or writes. The board is especially suited for 68000 UNIX-based systems, says SBE. It can be ordered with the UNIX-like Regulus operating system, and comes with the Pro¬ bug debugger. Each channel on the board has three interrupt sources, as well as a "mailbox in¬ terrupt” that allows another Mul¬ tibus master to generate a local interrupt. SHE M68COM octal serial board Four multiprotocol serial com¬ munications controllers on the board allow each of the eight channels to be programmed inde¬ pendently to run in synchronous, byte synchronous, and bit syn¬ chronous modes. The board sup¬ ports X.25, SDLC, HDLC, and Bi¬ sync protocols. Each of the eight ports can be configured indepen¬ dently as RS232, RS422, RS423, fiber optic or direct-connect mo¬ dem channels. On-board RAM is either 128K or 512K. Four other sockets accommodate as much as 256K of EPROM. A 68230 parallel interface/tim¬ er (PI/T) chip provides an on¬ board timer, generating periodic system interrupts. The board sup¬ ports programmable data transfer rates between 5 and 38.4K bits per second (bps), and external rates between 0 and 880K bps. The board, configured with a 10-MHz 68000, 128K RAM. Pro¬ bug, and four-channel DMA con- Outstanding Learning Motivates And it saves you money. CALL NOW user T/rammc (408) 370-9710 CDRPDR3TIOn 591 W. Hamilton Ave. • Campbell, CA 95008 Circle No. 249 on Inquiry Card UPGRADE YOUR UNIX SYSTEMS TALK TO YOUR COMPUTER IN PLAIN ENGLISH The Bell Screen Editor" uses plain English commands, runs with all Unix’ text tools. Perfect for programming and Informix", too. NEW! 40 MEGABYTE AT&T UNIX PC 7300 Our B40 System” upgrades your Unix PC to 40 Megabyte internal hard disk capacity. Easy to install in minutes. UNIFY USERS REJOICE The DataView System” provides a spread¬ sheet like interface to any UNIFY application. Multiple records, sorted data, and more. Bell Technologies Over 10,000 415-792-3646 / PO Box 8323 installations. Fremont, California 94537 MS-DOS' too! Circle No. 258 on Inquiry Card 86 UNIX REVIEW MAY 1985 trailer is $1,595 for a quantity of 100 . SBE, Inc., 2400 Bisso Lane, Concord, CA 94520, 415/680- 7722. Circle No. 230 on Inquiry Card FSP MEANS FULL SCREEN PROCESSOR FSP is the name of a new full screen processor for UNIX and XENIX-based systems from Infor¬ mation Concepts. It allows pro¬ grammers to parse and display a Panel using a series of subrou¬ tines that can be called from any language. A Panel is developed by creating the screen image under any system editor, according to Information Concepts. Through the subroutines, functions such as Panel parsing, screen text dis¬ play, screen field display, field validation, and post input re¬ sponse can be performed. By calling FSPINP, an input processing routine, programmers can turn control over to the FSP screen manager to control the full screen data entry and editing process. FSP also provides an Entry fea¬ ture, permitting end-users to dis¬ play an FSP panel and edit a stan¬ dard operating system file. A single license copy for FSP costs $950, or $240 annually on a lease. Information Concepts, Ninth Floor, 1331 H Street, NW, Wash¬ ington, DC 20005, 202/628- 4400. Circle No. 233 on Inquiry Card REVISED C COMPILER FOR 8086 FAMILY Whitesmiths, Ltd. has released an enhanced version of its C com¬ piler for all systems with Intel 8086-family processors, includ¬ ing the 80186, 80286, and 80287 math co-processor. Known as Version 3.0, the compiler reintroduces enhanced Pascal as an option. All compilers now also include systems inter¬ face library source code as a stan¬ dard feature. Other enhancements include: compiler and assembler source listings (including the ability to see high-level source code, assem¬ bler source code and generated code in one listing): source-level interactive debugging with break¬ pointing and variable display: closer adherence to an emerging ANSI C standard (including struct assignment enumerations, long identifiers, and the ability to de¬ clare arguments to a function for coercion and type checking): full ISO/OSI Level 1 implementation ol Pascal including conformant array parameters: Pascal exten¬ sions such as string data type, the ability to open files by name, and an "otherwise” clause in case statements. The design of Version 3.0 is based on architecture common to the company’s entire compiler family, for the DEC PDP-1 1 and VAX, Intel 8080, Motorola 68000 and IBM 370 systems. Whitesmiths, Ltd., 97 Lowell Rd., Concord, MA 01742, 617/ 369-8499. Circle No. 234 on Inquiry Card XENIX WINDOWS A windowing interface called Viewnix from Five Paces Software allows IBM PC/XTs and ATs run- ning XENIX to configure up to 10 windows. The windows can be ex¬ panded, contracted or moved as needed. Cut-and-paste capability is provided. The package’s pro¬ gramming interface lets applica¬ tions take control of windows in which they're placed. Viewnix retails for $249. Five Paces Software, Inc., 9635 Wendell Rd.. Dallas, TX 75243, 214/340-4933. Circle No. 229 on Inquiry Card INVENTORY SALE! $6,195* 8-USER, UNIX V SUPERMICRO 8 MHz MC6800 □ 1 MB RAM 27 MB Hard Diskf □ 1 MB Floppy 10 RS232C Ports □ Warranty UNIX System V □ Manuals We've drastically reduced the price on our discontinued Multibox com¬ puters to make way for our new product lines. This new equipment is in-stock and ready to ship. Contact CYB SYSTEMS 512/458-3224 "Quantity 1. volume discounts available t$6.995 with 54 MB disk option Circle No. 231 on Inquiry Card UNICOMP Technical Type Typesetting Service • UNIX*, Troff, Wizard • Compugraphic 8400 Typesetter • Quality appearance of books, proceedings, newsletters. • Specializing in technical documents. • Documents accepted via magnetic tape, phone lines, or paper. • For information, samples, or estimates, call 505/662-EDIT (3348) 1580 Camino Redondo Los Alamos, NM 87544 Unix is a trademark of Bell Laboratories Circle No. 232 on Inquiry Card UNIX REVIEW MAY 1985 87 • Passage, Uniq's TCP/IP Solution to UNIX SYSTEM V. 2 Networking. • Ready for immediate delivery on Digital's VAX Processors. • Local Area Network and DDN ARPANET Support. • Uniq is committed to UNIX... UNIX Networking...UNIX Applicotions ...UNIX Consulting...We moke it Work. . _ . 312/879-1008 funia) DIGITAL TECHNOLOGIES l ^7 28 S. Water Street, Batavia, IL 60510 Los Angeles Washington, D.C. 213/277-6288 703/448-8508 ’Unix and System V are trademarks of AT&T Bell Laboratories, Boston 603/883-4860 Circle No. 287 on Inquiry Card Creators of COMPUTER LANGUAGE Sponsor the C Expert Forum Never before have so many leaders in the C pro¬ gramming field gathered for one event. The C Seminar/ Workshop will be an exciting forum on the latest technical innovations and C language developments. Best of all, you'll experience a practical, hands- on approach in small workshop sessions. All this in the beautiful autumn foliage of New England, just four blocks from Harvard Yard. The C Seminar/Workshop is brouqht to you bv the publishers of COMPUTER LANGUAGE. y y 7 The cost for this comprehensive 2'A day event is only $695. Sign up by June 30th and receive a $100 early bird discount. CURRICULUM Speakers Jim Brodie, ANSI C committee chairman: Overview of the ANSI Standardization Effort P.J. Plauger, author, ANSI Ccommittee secretary: Programming Style and C Larry Rosier, ANSI C language chairman-. Language Standardization Issues Tom Plum, author: Efficiency of C Programs Heinz Lycklama, /usr/group UNIX chairman: UNIX Perspective on C Leor Zolman, compiler writer: Porting C Programs between Operating Systems Robert Ward, C User's Group coordinator-. Structured Methods of Debugging C Workshops (Subject to change based on availability) Seminar participants will be able to choose four from this list: Debugging Techniques Interpreters in a Development Environment Programming for Portability Efficient Code Generation Cross Compilers Network Data Base Theory and C Object-File Formats for UNIX Systems Philosophy and Methodology of Benchmarks ANSI Standards: Questions & Answers Code Readability and Organization Asynchronous Communications Writing Extensions to C C / UNIX System Subroutine Interfaces Porting C between CP/M, MS-DOS, and UNIX C Seminar/Workshop Registration Form Please enroll me in the C Seminar: □ Early Bird $595 (pay by 6/30/85) □ Single $695 □ Multiple (3 or more enrollments get $100 discount) □ I do not wish to enroll at this time but please send me more information. Method of Payment: □ Check Enclosed □ Bill My Company Make check payable to: C.L. Publications Inc. Name & title_ Name & title____ Name & title___ Company_ Address____ City, State, Zip__ Phone_____ UNIX COMPUTER LANGUAGE Seminar 131 Townsend St. San Francisco, Calif. 94107 (415) 957-9353 Circle No. 278 on Inquiry Card WHYS AND WHEREFORES WHYS Continued from Page 27 working at all, and 4.2BSD networking is based primarily on the ARPAnet model. This has two consequences. First, even the best applications that are totally portable across all Unices fail to make good use of the facilities of a personal worksta¬ tion. Second, there is no uni¬ versally accepted UNIX standard for graphics, windows, and net¬ works. Hence, an application that wants to remain portable, even in the UNIX realm alone, must first isolate the system dependencies in libraries, much as Fortran pro¬ grams that needed non-standard file system facilities used to iso¬ late those dependencies. Distributed resource sharing is becoming more popular—largely because, in conjunction with per¬ sonal workstations, it is a power¬ ful way of doing computing. In its current state, the field can be con¬ fusing to sort out since the re¬ quirements for resource sharing systems are not yet exactly clear. So new is the area that commonly agreed-upon buzzwords and lists of “knock-off” features have yet yet to be developed. The fact that this magazine issue is devoted to the topic may signify that a new phase is upon us. REFERENCES [1] E. Lazowska, H. Levy, G. Aimes, M. Fischer, R. Fowler, and S. Vestal; “The Architecture of NOW GET A V BERKELEY IIIMIY*f P ENHANCEMENTS UNI A | U FOR YOUR 3B2 $25,000 Z Systems is now offering its port of the Berkeley cshell for your AT&T 3B2. Through enrollment in the 3B Subscription Service, you will get the first software release which includes: • Berkeley 4.2 compatible • Is (links to lf.lr, . . • csh (less jobs) • more • strings • and others i**——^ Your annual subscription to 3BSS also includes newsletters and future software releases for a nominal media and handling charge. to $50,000 APPLICATIONS and SYSTEMS National Placement Leader for UNIX/C PROF'Ls 500 OPENINGS NATIONWIDE Call or send resume The cost is just $200/yr. J. ROGERS ASSOCIATES To order call 303-526-1633 major credit cards accepted Dept. C-R 123 Franklin Corner Rd. Z SYSTEMS, i.mc Lawrenceville, N.J. 08648 (609) 896-8484 602 Park Point Drive Genesee Business Center Golden, CO 80401 (800) 222-0596 Representing E0E Companies ’UNIX is a trademark of Bell Labs j Call for information on otner j software and hardware products. '3 Circle No. 262 on Inquiry Card Circle No. 261 on Inquiry Card the Eden System”; Proceedings of the Eighth Symposium on Op¬ erating Systems Principles ; De¬ cember, 1981; pp. 148-159. [2] P. Leach, P. Levine, B. Douros, J. Hamilton, D. Nelson, and B. Stumpf; “The Architecture of an Integrated Local Network”; IEEE Journal on Selected Areas in Communication: Vol. SAC-1 No. 5; November, 1983; pp. 842- 857. [3] N. Meyrowitz and A. van Dam; “Interactive Editing Sys¬ tems, part II”; ACM Computing Surveys: Vol. 14 No. 3; Septem¬ ber, 1982; pp. 353-416. [4] G. Popek, B. Walker, J. Chow, D. Edwards, C. Kline, G. Rudisin, and G. Thiel; “LOCUS: A Network Transparent, High Reli¬ ability Distributed System”; Pro¬ ceedings oj the Eighth Sympo¬ sium on Operating Systems Principles: December, 1981; pp. 169-177. [5] W. Stallings; “Local Net¬ works”; ACM Computing Sur¬ veys: Vol. 16 No. 1; March, 1984; pp. 3-42. [6] H. Sturgis, J. Mitchell, and J. Israel; “Issues in the Design and Use of a Distributed File Sys¬ tem”; Operating Systems Re¬ view: Vol. 14, No. 3; July, 1980. [7] I. Traiger, J. Gray, C. Galtier, and B. Lindsay; ’’Transactions and Consistency in Distributed Database Systems”; ACM Trans¬ actions on Database Systems: Vol. 7 No. 3; September, 1982; pp. 323-342. Paul J. Leach is a Senior Consult¬ ing Engineer at Apollo Computer, Inc., where he has helped design the DOMAIN system. His undergrad¬ uate work was done at MIT. Prior to becoming one of the founding engi¬ neers at Apollo, Mr. Leach worked in the research department at Prime Computer on computer architecture and operating systems. He has also served as an adjunct faculty mem¬ ber at Boston University. ■ 90 UNIX REVIEW MAY 1985 MISTRESS is the fully rela¬ tional database management system (RDBMS) for UNK? It features the Structured Query Language (SQL*) for the end user as well as stand¬ ard programming interfaces to the C language for the DP professional. Advanced con¬ cepts include variable-length character fields, dynamic stor¬ age allocation, and B+ Tree indexing. MISTRESS has been designed exclusively for the UNIX environment and is totally written in C. MISTRESS/32 is the advanced relational database management system for extended addressing UNIX products. MISTRESS/32 features enhanced capabilities for security, recovery and data integrity, as well as a fully integrated report writer and screen interface. MISTRESS/32 is the recom¬ mended system for more demanding applications. ‘UNIX is a trademark o! Bell Labs. IBM and SOL are trademarks ol International Business Machines. RHODNIUS Incorporated 10 St. Mary Street, Toronto, Ontario, Canada M4Y 1P9 (416) 922-1743 Telex: 06-986766 Circle No. 288 on Inquiry Card PROCEDURE CALLS Continued from Page 42 richer form of system interaction by allowing users to group inter¬ actions in terms of more finely grained procedure calls. The ad¬ vent of readily available, high¬ speed local communications and high performance microproces¬ sors has sparked a renewed inter¬ est in the practical implementa¬ tion of remote procedure calls. The Xerox Courier remote pro¬ cedure call protocol is representa¬ tive of technologies available in the late 1970s. Courier takes a transaction-based approach in which each transaction corre¬ sponds to a remote call. The ap¬ proach is rigid in the areas of execution environment manage¬ ment, procedure call identifica¬ tion and parameter encoding. While this rigidity makes the Cou¬ rier simple to implement, the user needs to either increase the speed of transaction exchange or im¬ prove parameter encoding to limit system-level overhead in process¬ ing each transaction. If remote procedure call proto¬ cols are to be more widely used in the 1980s, end-user performance will need to be improved. Alterna¬ tives for improving performance include the decoupling of transac¬ tions and remote executions by adding intelligence to each trans¬ action. At minimum, this ap- UNIX JOBS REGISTRY National registry of candi¬ dates and jobs in the Unix field. Please give us a call; send a resume; or request a free Resume Workbook & Career Planner. We are a professional employment firm managed by graduate engineers. 800-231-5920 P.O. Box 19949, Dept. UR Houston, TX 77224 713-496-6100 Scientific Placement, Inc. Unix is a trademark of Belt Labs Circle No. 244 on Inquiry Card - FRANZ THE FIRST NAME IN LISP Franz Lisp from Franz Inc. is currently available on a wide range of machines under UNIX and VMS. Franz sets the standard for Lisp. Call or write for more information. Franz Inc. 2920 Domingo, Suite 203 Berkeley, California 94705 (415) 540-1224 Circle No. 245 on Inquiry Card proach should allow users to add a processing control capability to each transaction by combining multiple, conditionally executed calls into each transaction. This alternative can be ex¬ panded further to include execut¬ able software in each transaction. Bv programmatically examining the results of each procedure call at the execution site, these alter¬ natives offer the possibility of making multiple calls without the need for intervening transac¬ tions. Increased performance can thereby result from a decreased number of transactions. Remote procedure call technol¬ ogy is still in its infancy. A num¬ ber of alternative improvements will be investigated and discarded before the concept attains wide¬ spread use. Along the way it is im¬ portant that the concept be mar¬ keted on the basis of sound, demonstrated capabilities. The remote procedure call approach holds great promise, but to sell someone potential rather than ac¬ tual capability is a serious mis¬ take with ramifications for the entire industry. Steve Holmgren is President of Communication Machinery Corpo¬ ration of Santa Barbara, CA, a pro¬ ducer of high performance com¬ munication software and hardware. Prior to coming to CMC, Mr. Holm¬ gren served as President of QMI, where he developed a single-chip TCP implementation. He holds a Bachelor's degree in Mathematics and Computer Science from the University of Illinois in Champaign- Urbana, where he went on to inter¬ face UNIX to the ARPAnet at the Center for Advanced Computation. He has also done advanced technical assessments and prototyping for military procurements through the Mitre Corporation. ■ 92 UNIX REVIEW MAY 1985 UNIX™APPLICATION DEVELOPMENT TODAY is far more than the awkward collection of tricks and tools that are often labelled “4GL”. TODAY provides a COMPLETE application development environment that will revolutionize the way you develop and maintain applications. No UNIX knowledge is necessary. Let’s put it frankly : developing an application is a costly proposition. You’ll need a highly skilled team of designers, analysts and programmers, and several man-years to get things off the ground. And that’s not to mention the on-going costs of documentation, customization and maintenance! TODAY tackles these problems through a new methodology with high performance architecture and a comprehensive range of features. It’s so quick and easy to use that TODAY developers can do the whole job — design, analysis, development and documentation. TODAY provides a comprehensive range of features that keep application building easy while optimizing development resources : • Powerful recursive logic and Decision Tables • Synonyms, Menus, Prompts, Helps and Defaults for streamlined definitions • Screen Painter • A Report Generator which includes a Painter TODAY Cure for Backlogs Induced by 3GLs in EDP Dep artments, Software Houses & Others • Push-button Self¬ documentation • Audit Trails • Source-code security through run-time only configurations • Developed Applications instantly portable across UNIX based machines Because definitions are Dictionary-based, any changes are easily made in one central location. A key feature, “tailoring lets you alter an application — perhaps to customize it for a particular site or user — without affecting the original version. If required, applications can be set up as Models (Prototypes) and later enhanced to grow and change with the business. Tailoring versions is the perfect solution for quickly generating multiple applications based on one Model. TODAY runs under UNIX or UNIX-compatible operating systems on super-mini down to micro business computers using any of a range of databases. And if that’s not enough, TODAY is backed by 14 man-years of research and development and the confidence of users who are breaking time zones in software development. bbj Computer Services Inc. 2946 Scott Bvde Santa Clara, CA 95054 Telephone : (408) 727-4464 Circle No. 286 on Inquiry Card Unix is a trademark of A T & T Bell Laboratories Inc. TODAY. Copyright ©. bbj Computer Services Pty Ltd, Melbourne. Australia. July 1983 DISTRIBUTED FILE SYSTEMS FILE SYSTEMS Continued from Page 33 propagate immediately. CONCLUSION We have covered only some of the major issues that must be ad¬ dressed in the design and imple¬ mentation of a distributed file sys¬ tem. The presentation is by no means complete; interested read¬ ers may want to obtain more in¬ formation about the NFS [2], or read references on WFS [3] and DFS [4] to learn about successful distributed file system implemen¬ tations. There are many similari¬ ties in the design approaches tak¬ en by WFS. DFS, and the NFS. so there is a large body of experience to demonstrate the viability of the approach. REFERENCES 1) RPC and XDR are discussed elsewhere in this issue. 2) D. Walsh, B. Lyon. G. Sager, et al., “Overview of the Sun Net¬ work File System”, Proceedings of the Usenix Association Win¬ ter Conference. January, 1985. 3) D.' Swinehart. G. McDaniel, and D. Boggs, “WFS: A Simple Shared File System for a Distrib¬ uted Environment”. Proceedings of the Seventh Symposium on Operating Systems Principles, ACM order number 534790. De¬ cember, 1979. 4) H. Sturgis, J. Mitchell and J. Israel. "Issues in the Design and Use of a Distributed File System”, Operating Systems Review, Vol 14. No 3. July, 1980. 5) Documentation and user- level source for RPC and XDR are being posted to net.sources. Gary Sager is Manager of the Sys¬ tems Group at Sun Microsystems, Inc. Sager has worked for Bell Labo¬ ratories and AT&T Information Systems as principal architect of the Onyx/Pecos operating system; for LASL as a contributor to the DEMOS operating system; and for the Unuersity of Waterloo as a co¬ developer of the Thoth operating system. Bob Lyon is Project Leader for the Network File System at Sun Mi¬ crosystems, Inc. Previous to Sun, Lyon worked at Xerox Corp. on the XNS transport protocols and the Clearinghouse network service. He also has worked at Bell Laboratories as a UNIX system administrator. ■ Only one 4 word processing program for these UNIXrbased systems isn’t just a lot of talk. Many companies are promis- tion of word processing soft- ing UNIX-compatible word processing software. But only WordMARC™ is being used successfully right now on such major UNIX-based systems as DEC,® HP,® SUN,® AT&T,® MASSCOMP,® PYRAMID® and NCR? With WordMARC, you’ll ware. Training time will be cut. Users can easily switch termi¬ nals or computers. And with its optional LinkMARC feature, text created on your UNIX- v* based system can be transferred to and shared by superminis and personal computers. In addition to being com- VV 1L11 V V VJL UJLi J v/'-* 14 ~ ~ - have a single, full-featured pro- patible with all kinds of corn- gram that will end the prolifera- puters, WordMARC also gets Technology Corporation and NCR Corporation. Circle No. 251 on Inquiry Card IBM LINKS Continued from Page 59 interface to IBM hosts for appli- cation-to-application communica¬ tions in the SNA environment, which is the norm today for IBM hosts since IBM no longer places emphasis on Bisync architec¬ tures. However, since it will be late 1985 or early 1986 before such interfaces are generally available for UNIX systems and applications, this should be con¬ sidered more for planning than for immediate implementation. SUMMARY All three of the interfaces to IBM hosts mentioned here have their place in different environ¬ ments. The interactive facility will be used by those who want to use their UNIX systems and local applications most of the time, but also need to query databases on IBM hosts from time to time. The batch facility allows a UNIX sys¬ tem to offload the host as a devel¬ opment facility. One possible sce¬ nario might find development and basic testing of COBOL applica¬ tions occurring on a UNIX system, while full-scale testing with larg¬ er databases is left to the host. As previously mentioned, the ease of using this facility makes a batch application interface to the host a quick-and-dirty but fully func¬ tional job. Finally, the application-to-ap- plication interface potential of LU type 6.2 promises to provide a mature, professional facility for data and general resource sharing in heterogeneous network envi¬ ronments containing UNIX and IBM processors. David L. Buck is Chairman of D. L. Buck and Associates, Inc., of San Jose, CA, a company that sup¬ plies hardware manufacturers with UNIX applications and drivers to interface their systems with IBM systems. Mr. Buck has been quite ac¬ tive in the fusr/group Standards Committee and the recently-formed IEEE Pi003 Committee on stan- dardizing the interface to UNIX and UNIX-compatible operating systems. 4s part of his work with the IEEE committee, Mr. Buck chairs the subcommittee on Systems Inter¬ face. He also offers seminars and classes on communications and UNIX. m along with all kinds of users. Its documentation is written specifically for the computer system it will operate on. Its self-teaching guide helps novice users get quickly up to speed. And it’s supported by a special 800” number hotline. WordMARC’s many versatile features include technical and scientific symbols, foreign lan¬ guage characters, a what-you- see-is-what-you-get screen, and menu-driven operation with convenient function keys. WordMARC can also be integrated with other popular applications software. So get the UNIX-compatible word processing system that’s up and running now—and put your word processing software resources back under control. With WordMARC. The Uncommon Denominator. Contact MARC Software for more information. 260 Sheridan Ave¬ nue, Suite 200, Palo Alto, California, 94306. MARC SOFTWARE INTERNATIONAL, INC. 1-800-831-2400. In California 1-800-437-9900. WordMARC The Uncommon Denominator WordMARC is a trademark of MARC SOFTWARE INTERNATIONAL. INC. © 1985. MSI. INC. CALENDAR EVENTS MAY May 1 Yates Ventures. San Jose. CA: "AT&T. IBM, and UNIX: Desktop Directions". Contact: Glenn Chase. 3350 W. Bayshore Rd.. Suite 201. Palo Alto. CA 94303. 415/424-8844. JUNE June 11-14 Usenix Association, Portland: "Usenix Conference and Vendor Exhibition". Contact: Usenix Conference Office, P.O. Box 385. Sunset Beach, CA 90742. 213/592-3243. SEPTEMBER September 18-20 National Expositions Inc., New York. "UNIX EXPO*’. Contact: Don Berey, 14 W. 40th St., New York, NY 10018. 212/391-9111. September 26-28 8th Northeast Computer Faire, Boston. Con¬ tact: Computer Faire, Inc., 181 Wells Ave.. Newton, MA 02159. 617/965-8350. OCTOBER October 2-5 UNIX Systems EXPO, Boston: "EXPO/85". Con¬ tact: Computer Faire Inc., 181 Wells Ave., Newton. MA 02159. 617/965-8350. TRAINING MAY May 1-3 Interactive Systems Corp., Santa Monica, CA: "Cus¬ tomizing Ten-Plus". Contact: Claire Donahue, 2401 Colorado Ave., 3rd floor, Santa Monica, CA 90404-9989. (213) 453-8649. May 1-3 Center for Advanced Professional Education. Roches¬ ter, NY: "UNIX: A User-Oriented Evaluation Seminar". Contact: Center for Advanced Professional Education, 1820 E. Garry St., Suite 1 10. Santa Ana, CA 92705. 714/261-0240. May 1-3 Computer Technology Group, London: "Using Ad¬ vanced UNIX Commands". Contact: Computer Technology Group, 310 S. Michigan Ave., Chicago, Ill. 60604. 800/323- UNIX. May 3 Specialized Systems Consultants. Bellevue, WA: "UNIX for Managers". Contact: SSC. P.O. Box 7, Northgate Station, Seattle. WA 98125. 206/367-8649. May 6 NCR Corp.. New York: "UNIX Operating System". Con¬ tact: NCR Corp., CASE-Special Orders, 101 W. Schantz Ave.. Dayton. OH 45479. 800/845-2273 or 800/841-2273. May 6-7 Computer Technology Group, Chicago: "Shell Program¬ ming". Contact: Computer Technology Group. 310 S. Michigan Ave.. Chicago, Ill. 60604. 800/323-UNIX. May 6-7 Computer Technology Group. Los Angeles: "Shell Pro¬ gramming". Contact: Computer Technology Group, 310 S. Michigan Ave.. Chicago. Ill. 60604. 800/323-UNIX. May 6-10 Interactive Systems Corp., Santa Monica, CA: "Ten- Plus Helper Writer Workshop". Contact: Claire Donahue, 2401 Colorado Ave.. 3rd floor. Santa Monica, CA 90404-9989. (213) 453-8649. May 6-10 Bunker Ramo Information Systems, Trumbull, Cl: ‘Advanced C". Contact: Bunker Ramo, Trumbull Industrial Park. Trumbull, CT 06611. 203/386-2223. May 7-9 Computer Technology Group. Boston: "UNIX Adminis¬ tration". Contact: Computer Technology Group, 310 S. Michigan Ave., Chicago, Ill. 60604. 800/323-UNIX. May 7-9 Computer Technology Group. Washington. D.C.: "UNIX Administration". Contact: Computer Technology Group, 310 S. Michigan Ave., Chicago, Ill. 60604. 800/323-UNIX. May 7-10 Integrated Computer Systems, Washington, D.C.: ’ UNIX: A Hands-on Introduction". Contact: Integrated Com¬ puter Systems. 6305 Arizona PI.. P.O Box 45405. Los Angeles. CA 90045. 213/417-8888. May 7-10 Computer Technology Group. London: "UNIX Inter¬ nals". Contact: Computer Technology Group, 310 S. Michigan Ave.. Chicago. 111. 60604. 800/323-UNIX. May 8-10 Center for Advanced Professional Education. Denver, CO: "UNIX: A User-Oriented Evaluation Seminar". Contact: Center for Advanced Professional Education, 1820 E. Garry St., Suite 110. Santa Ana. CA 92705. 714/261-0240. May 8-10 Computer Technology Group. Los Angeles: "Using Advanced UNIX Commands". Contact: Computer Technology Group. 310 S. Michigan Ave.. Chicago, Ill. 60604. 800/323- UNIX. May 8-10 Computer Technology Group, Chicago: Using Ad¬ vanced UNIX Commands". Contact: Computer Technology Group. 310 S. Michigan Ave.. Chicago. Ill. 60604. 800/323- UNIX. May 13 NCR Corp., Los Angeles: "UNIX Operating System". Contact: NCR Corp., CASE-Special Orders, 101 W. SchantzAve., Dayton. OH 45479. 800/845-2273 or 800/841-2273. May 13-14 Computer Technology Group, Boston: "Advanced C Programming Workshop". Contact: Computer Technology Group. 310 S. Michigan Ave.. Chicago. Ill. 60604. 800/323- UNIX. May 13-14 Computer Technology Group. Washington. D.C.: • Advanced C Programming Workshop". Contact: Computer Technology Group. 310 S. Michigan Ave., Chicago, Ill. 60604. 800/323-UNIX. May 13-15 Interactive Systems Corp., Santa Monica, CA: ‘ UNIX Fundamentals". Contact: Claire Donahue. 2401 Colora¬ do Ave.. 3rd floor, Santa Monica, CA 90404-9989. (213) 453- 8649. May 13-17 Computer Technology Group, Chicago: "UNIX Inter¬ nals". Contact: Computer Technology Group, 310 S. Michigan Ave.. Chicago. Ill. 60604. 800/323-UNIX. May 13-17 Computer Technology Group. Los Angeles: "UNIX Internals". Contact: Computer Technology Group, 310S. Michi¬ gan Ave., Chicago. Ill. 60604. 800/323-UNIX. May 13-17 Bunker Ramo Information Systems, Trumbull. CT: ’Intro to UNIX". Contact: Bunker Ramo. Trumbull Industrial Park. Trumbull. CT 06611.203/386-2223. 96 UNIX REVIEW MAY 1985 A WORKPLACE SHAPED BY LISTENING. Most thinking people, whether Unix system professionals or supporting staff members, would prefer to work with a management team that’s genuinely interested in their ideas. Managers who’ll be sure you get information about decisions that affect you, and then listen to how you feel about them. Simple concepts ... but finding a company that puts them into prac¬ tice isn’t easy. It’s as tough as finding a quiet place to think. You can in Utah. At Sperry’s Unix-based Micro Products Division, we have op¬ portunities available in: UNIX Soft¬ ware programming, Systems design engineering, systems programming, SNA, DCA, OSI communications architectures, LAN technology communication, software engineer¬ ing, and many others. If you are interested, please send your resume to: SPERRY Employment Dept. Attn: Dept. 1J 322 N. Sperry Way Salt Lake City, Utah 84116 We are an equal opportunity employer m/f/v/h. 111111111 ' CALENDAR May 13-24 Information Technology Development Corp., Cincin- atti: The UNIX System" and "The C Programming Language". Contact: ITD, 9952 Pebbleknoll Dr.. Cincinatti, OH 45247. 513/ 741-8968. May 15-17 Center for Advanced Professional Education, Silver Spring, MD: "UNIX: A User-Oriented Evaluation Seminar . Contact: Center for Advanced Professional Education, 1820 E. Garry St., Suite 110. Santa Ana, CA 92705. 714/261-0240. May 15-17 Computer Technology Group. Boston: “Advanced C Programming Under UNIX". Contact: Computer Technology Group. 310 S. Michigan Ave., Chicago, Ill. 60604. 800/323- UNIX. May 15-17 Computer Technology Group. Washington. D.C.: “Advanced C Programming Under UNIX". Contact: Computer Technology Group, 310 S. Michigan Ave., Chicago. Ill. 60604. 800/323-UNIX. May 15-17 Computer Technology Group. London: "UNIX Ad¬ ministration". Contact: Computer Technology Group, 310 S. Michigan Ave., Chicago, Ill. 60604. 800/323-UNIX. May 15-17 Digital Equipment Corp., Denver: “Comprehensive Overview of the UNIX Operating System". Contact: Digital Edu¬ cation Resources, 12 Crosby Drive, Bedford, MA 01730. 617/ 276-4949. May 16-17 Interactive Systems Corp., Santa Monica. CA: "Us¬ ing the Shell". Contact: Claire Donahue, 2401 Colorado Ave., 3rd floor. Santa Monica, CA 90404-9989. (213) 453-8649. May 20 NCR Corp., Los Angeles: “UNIX System Administra¬ tion" Contact: NCR Corp., CASE-Special Orders, 101 W. Schantz Ave., Dayton. OH 45479. 800/845-2273 or 800/841- 2273. May 20-21 Interactive Systems Corp., Santa Monica, CA: “Ad¬ vanced UNIX Commands for Programmers". Contact: Claire Donahue. 2401 Colorado Ave., 3rd floor, Santa Monica, CA 90404-9989. (213) 453-8649. May 20-21 Computer Technology Group, London: “Advanced C Programming Workshop". Contact: Computer Technology Group. 310 S. Michigan Ave.. Chicago, Ill. 60604. 800/323- UNIX. May 20-22 Center for Advanced Professional Education, San Francisco: “UNIX: A User-Oriented Evaluation Seminar". Con¬ tact • Center for Advanced Professional Education, 1820 E. Garry St.. Suite 110, Santa Ana, CA 92705. 714/261-0240. May 20-24 Computer Technology Group, Boston: “Berkeley Fundamentals and ‘csh’ Shell". Contact: Computer Technology Group, 310 S. Michigan Ave., Chicago, Ill. 60604. 800/323- UNIX. May 20-24 Computer Technology Group, Washington, D.C.: “Berkeley Fundamentals and ‘csh’ Shell". Contact: Computer Technology Group, 310 S. Michigan Ave., Chicago, Ill. 60604. 800/323-UNIX. May 20-24 Bunker Ramo Information Systems. Trumbull, CT: “Advanced UNIX". Contact: Bunker Ramo, Trumbull Industrial single oU) er of M^^fraU^f/effor-ff 66 •SSn UWpjflW Prions f^-^aV38°0 uriix t er,nina lnformat^' J o3^> ** ffflNLc ’"for > n 0 re 7 T"tia> l 0 U 6 !/ c o«* : V#*®*’ *>%*&&* Circle No. 283 on Inquiry Card 98 UNIX REVIEW MAY 1985 OUR 5620TERMINAL WR1 CHANGE THE WAY YOU VIEW YOUR UNIX* SYSTEM. r fi9n , b * ts un iQue capability to'divide the display into six windows, the 5620 makes excellent use of UNIX System V resources to greatly improve productivity You create and control the size and position of each window simply using the electronic “Mouse.” Unmodified host programs then view several 1 things a at S once ate terminals ’ making [t P ossible for you to work on Just think how much easier that’d make it for you to prepare docu¬ ments and graphics, do computer aided engineering or write and debug programs. Imagine, for example, while a pro¬ gram is compiling in one window, you edit the source code in a second window, check output in a third window, and send and receive mail concurrentlv in a fourth window. mn j The 15 : in( r h diagonal display boasts 100 dots per inch, which gives you high reso- witn a tull 32- bit processor and up to one mega byte of memory you can also offload the host by running programs in the 5620. As good as the 5620 makes Teletype r 01 ^ 0 ^. ? n l°°k> it can make you look even bet- ji^T* -Pi!, ou / f h° w > wnte Teletype Corporation, bb 55Touh y Ave. Dept.3223-00,Skokie,IL 60077. Or call 1800 323-1229, ext. 615. TELETYPE: VALUE SETS US APART. .n v.v 1 ’ 6 iS 3 registered trade "iark and service mark of Teletype Corporation UNIX ts a trademark of Bell Telephone Laboratories, Inc. ©1984, Teletype Corporation. Circle No. 273 on Inquiry Card mm AT&T Teletype Corporation U CALENDAR Park. Trumbull, CT 06611. 203/386-2223. Mav 20-24 Specialized Systems Consultants, Bellevue, WA: C Programming Workshop’*. Contact: SSC, P.O. Box 7. Northgate Station, Seattle, WA 98125. 206/367-8649. May 21-23 Computer Technology Group, Chicago: UNIX Ad¬ ministration**. Contact: Computer Technology Group. 310 S. Michigan Ave.. Chicago. Ill. 60604. 800/323-UNIX. May 21-23 Computer Technology Group, Los Angeles. UNIX Administration**. Contact: Computer Technology Group. 310 S. Michigan Ave.. Chicago, Ill. 60604. 800/323-UNIX. May 22-24 Interactive Systems Corp.. Santa Monica. CA: • UNIX Architecture: The Conceptual Overview*’. Contact: Claire Donahue. 2401 Colorado Ave.. 3rd floor, Santa Monica. CA 90404-9989. (213) 453-8649. May 22-24 Computer Technology Group. London: Advanced C Programming Under UNIX”. Contact: Computer Technology Group, 310 S. Michigan Ave.. Chicago, Ill. 60604. 800/323- May 28 Computer Technology Group. New York: “UNIX Over¬ view”. Contact: Computer Technology Group. 310 S. Michigan Ave., Chicago, Ill. 60604. 800/323-UNIX. t May 28 Computer Technology Group. Washington. D.C.: UNIX Overview”. Contact: Computer Technology Group. 310 S. Michi¬ gan Ave., Chicago. Ill. 60604. 800/323-UNIX. May 29-31 Center for Advanced Professional Education. Costa Mesa, CA: “UNIX: A User-Oriented Evaluation Seminar . Con- ACUITY® business software is compatible with any budget, and all these systems: UNIX-based Micros VAX, VMS or UNIX PRIME Convergent IBM-PC Harris With prices from $700 to $6500 for a fully supported package, any size company can attord our general accounting and specialized project cost software. Packages available include project management, labor/ODC forecasting, work breakdown structure, customer order processing, bill of materials processing and inventory management. Plus a complete set of accounting software including general ledger, payables, receivables, payroll and fixed assets. Call (619) 474-2010 for details. #% :omP'u %# coeniTion 225 West 30th Street, National City, California 92050 Circle No. 225 on Inquiry Card tact* Center for Advanced Professional Education. 1820 E. Garry St . Suite 110. Santa Ana. CA 92705. 714/261-0240. May 29-31 Computer Technology Group, Washington, D.C.: ‘UNIX Fundamentals for Non-Programmers . Contact: Com¬ puter Technology Group. 310 S. Michigan Ave., Chicago, Ill. 60604. 800/323-UNIX. May 29-31 Computer Technology Group, New York: UNIX Fundamentals for Non-Programmers**. Contact: Computer Technology Group, 310 S. Michigan Ave., Chicago, Ill. 60604. 800/323-UNIX. JUNE June 3 NCR Corp., Chicago: ”C Programming”. Contact: NCR Corp.. CASE-Special Orders, 101 W. Schantz Ave., Dayton, OH 45479. 800/845-2273 or 800/841-2273. June 3-4 Specialized System Consultants, Seattle: “Hands-on UNIX for Non-Technical People”. Contact: SSC, P.O. Box Northgate Station. Seattle, WA 98125-0007. 206/367-UNIX. June 3-4 Interactive Systems Corp., Santa Monica, CA: Sys- tem Administrator’s Overview”. Oonlaet. Clairc Donahue. 2401 Colorado Ave.. 3rd floor. Santa Monica, CA 90404-9989. (213) 453-8649. , , A . , June 3-4 Computer Technology Group. Los Angeles: Advanced C Programming Workshop”. Contact: Computer Iechnoogy Group. 310 S. Michigan Ave.. Chicago. 111. 60604. 800/323- Q-CALC A superior spreadsheet on UNIX' As powerful as Lotus 1-2-3* • large spreadsheet • many business functions • complete GRAPHICS package • translates 1-2-3 models into Q-CALC • already ported to: VAX, Callan, Fortune, Nixdorf, Cyb, Plexus, Codata, Cadmus, Masscomp, SUN, etc. Available since Jan. ’84 For more information write/call Quality Software Products 348 S. Clark Drive Beverly Hills, CA 90211 213-659-1560 ‘Lotus 1-2-3 is a trademark of Lotus Development Corp. UNIX is a trademark of Bell Labs. Circle No. 224 on Inquiry Card 100 UNIX REVIEW MAY 1985 “R WORD is an excellent program. It is one of the easiest, yet full-featured, word processors I have ever used.” B ob Woodard of the University of Iowa continues in his letter to us about R WORD, “It beats the heck out of the word processing package avail¬ able with our machine. R WORD is definitely the favorite of the people who have tried it.” We’ve received many letters like Bob Woodard’s, praising the R Family of Office Automation Software. Now, we’d like you to meet R Family — three programs which are powerful, easy-to-use, well-documented, cost- effective, and supportable. And they’re designed for single-users, multi-users, and multi-computer users. R Office Manager Suggested List $295 R Office Manager is the most power¬ ful organizational and managerial package available. It consolidates and streamlines the basic office functions of today’s complex corporate environ¬ ment. R Office Manager coordinates phone messages, calendars, calcula¬ tions, things-to-do lists, messages, names and addresses, and more. R WORD II Suggested List $895 R WORD II is designed for a pro¬ duction word processing environment which requires full-featured word processing, yet R WORD II offers amazing simplicity of use. Features include Help Menus, Cursor Controls, Editing Functions, Formatting, Three- Level File Structure, Printing Fea¬ tures, Mail Merge, Default Set Up, and Utility Functions. The program also offers Global Search and Replace, Directories, Spelling Checker, Table Math, Head¬ ers and Footers, Automatic Table of Contents, Automatic Paragraph Numbering, Document Assembly, and much more. R WORD III Suggested List $1295 R WORD III offers all the features of R WORD II and R Office Manager, plus complete data base, file management, and report generation features which allow you to integrate any information found in other programs on your computer. l-(800) 527-7610 Call us toll-free for more information about R Family. We are currently ported to and shipping R Family pro¬ grams on the Tandy Model 16, NCR Tower + XP, Apple Lisa, Pixel, Plexus, and Altos 68000. Additional UNIX and XENIX ports are occurring weekly. We are also shipping for all MS-DOS and PC-DOS operating systems. Manufacture, distributor, dealer, national account, and porting inquiries are invited. When you select word processing, office management, and office auto¬ mation software, consider the benefits of R Family. This one set of programs can satisfy single-user, multi-user, and multi-computer requirements. R Family offers you consistency, versatility, and supportability, as well as the benefits of transportability and connectivity. The R Family - single and multi¬ user office automation software: DOS • UNIX • XENIX COS • DX10 • DNOS Circle IMo. 284 on Inquiry Card (214)343-9188 f800)527-7fil O R Systems, Inc. 11450 Pagemill Road, Dallas, TX 75242 U CALENDAR June 3-4 Computer Technology Group, Chicago: “Advanced C Programming Workshop". Contact: Computer Technology Group, 310 S. Michigan Ave., Chicago, Ill. 60604. 800/323- UNIX. June 3-5 Computer Technology Group, Washington, D.C.: “UNIX Fundamentals for Programmers". Contact: Computer Technology Group, 310 S. Michigan Ave., Chicago, Ill. 60604. 800/323-UNIX. June 3-5 Computer Technology Group, New York: “UNIX Fun¬ damentals for Programmers . Contact: Computer Technology Group, 310 S. Michigan Ave., Chicago, Ill. 60604. 800/323- UNIX. June 3-7 Computer Technology Group, London: “Berkeley Fun¬ damentals and ‘csh’ Shell". Contact: Computer Technology Group, 310 S. Michigan Ave., Chicago, Ill. 60604. 800/323- UNIX. June 3-14 Information Technology Development Corp.. Cincin- atti: "The UNIX System" and "The C Programming Language". Contact: ITD, 9952 Pebbleknoll Dr.. Cincinatti, OH 45247. 513/ 741-8968. June 4-6 Bunker Ramo Information Systems, Trumbull, Cl: “Diagnostic UNIX". Contact: Bunker Ramo, Trumbull Industrial Park. Trumbull. CT 06611. 203/386-2223. June 4-7 Integrated Computer Systems, Philadelphia: "Pro¬ gramming in C: A Hands-on Workshop . Contact: Integrated Computer Systems, 6305 Arizona PI., P.O Box 45405, Los Ange¬ les, CA 90045. 213/417-8888. June 4-7 Integrated Computer Systems, San Diego: “UNIX: A New from Image Network! Documenter’s Workbench for laserprinters and typesetters. DWB is troff, eqn, tbl, and pic interfaced to raster printing devices. Our existing XROFF product allows DWB to work with the following systems and printers: • System V • Berkeley 4.2 • VAX/Ultrix • IBM/PC MSIDOS • Eunice • Uni Plus + • DEC LNOIs, LN03 • APS-5 typesetter • Compugraphic 8400 • System III • V7 • VAX/VMS • Amdahl/UTS • Xenix • UNOS • Xerox 2700, 3700 • Xerox 8700, 9700 Use DWB with a laser printer to make high quality documents or to make proof copies before typesetting. Call or write to tell us your printing requirements! Image Network, (408)746-3754, 424 Palmetto Drive, Sunnyvale, CA, 94086-6760 Documentor's Workbench is ,i trademark ul A I A: I Boll I .;iU>r;Hurn-s- Circle No. 226 on Inquiry Card Hands-on Introduction". Contact: Integrated Computer Sys¬ tems, 6305 Arizona PL, P.O Box 45405, Los Angeles. CA 90045. 213/417-8888. June 5-7 Interactive Systems Corp., Santa Monica. CA: "Inter¬ active Networking Tools". Contact: Claire Donahue, 2401 Colo¬ rado Ave.. 3rd floor. Santa Monica. CA 90404-9989. (213) 453- 8649. June 5-7 Computer Technology Group. Los Angeles: “Advanced C Programming Under UNIX". Contact: Computer Technology Group. 310 S. Michigan Ave.. Chicago, Ill. 60604. 800/323- UNIX. June 5-7 Computer Technology Group, Chicago: "Advanced C Programming Under UNIX". Contact: Computer Technology Group. 310 S. Michigan Ave., Chicago, Ill. 60604. 800/323- UNIX. June 6-7 Computer Technology Group. Washington. D.C.: “Shell as a Command Language". Contact: Computer Technol¬ ogy Group. 310 S. Michigan Ave.. Chicago, Ill. 60604. 800/323- UNIX. June 6-7 Computer Technology Group, New York: "Shell as a Command Language". Contact: Computer Technology Group, 310 S. Michigan Ave., Chicago, Ill. 60604. 800/323-UNIX. June 10 NCR Corp., Vandalia-Dayton: “UNIX Operating Sys¬ tem". Contact: NCR Corp., CASE-Special Orders, 101 W. Schantz Ave.. Dayton, OH 45479. 800/845-2273 or 800/841- 2273. June 10 NCR Corp.. Minneapolis: "UNIX Operating System". Contact: NCR Corp.. CASE-Special Orders, 101 W. Schantz Ave.. Dayton. OH 45479. 800/845-2273 or 800/841-2273. June 10-11 Bunker Ramo Information Systems. Trumbull, CT: “UNIX/C Applications". Contact: Bunker Ramo, Trumbull In¬ dustrial Park, Trumbull. CT 06611. 203/386-2223. June 10-14 Interactive Systems Corp., Santa Monica, CA: “The C Programming Language”. Contact: Claire Donahue, 2401 Colorado Ave.. 3rd floor, Santa Monica, CA 90404-9989. (213) 453-8649. June 10-14 Computer Technology Group. Los Angeles: "Berke¬ ley Fundamentals and ‘csh’ Shell". Contact: Computer Technol¬ ogy Group. 310 S. Michigan Ave., Chicago, Ill. 60604. 800/323- UNIX. . , June 10-14 Computer Technology Group, Chicago: Berkeley Fundamentals and *csh* Shell". Contact: Computer Technology Group. 310 S. Michigan Ave.. Chicago. 111. 60604. 800/323- UNIX. June 10-14 Computer Technology Group. Washington, D.C.: C Language Programming". Contact: Computer Technology Group. 310 S. Michigan Ave.. Chicago. Ill. 60604. 800/323- UNIX. June 10-14 Computer Technology Group. New York: "C Lan¬ guage Programming". Contact: Computer Technology Group, 310 S. Michigan Ave., Chicago, Ill. 60604. 800/323-UNIX. June 11 Computer Technology Group, London: “UNIX Over¬ view”. Contact: Computer Technology Group, 310 S. Michigan Ave.. Chicago. Ill. 60604. 800/323-UNIX. June 11-14 Integrated Computer Systems, San Diego: “Pro¬ gramming in C: A Hands-on Workshop . Contact: Integrated Computer Systems. 6305 Arizona PL. P.O Box 45405, Los Ange¬ les. CA 90045. 213/417-8888. Please send announcements about training or events oj in¬ terest to: UNIX Review Calendar. 500 Howard Street. San Francisco. CA 94105. Please include the sponsor, date, and location of event, address of contact. and relevant back¬ ground information. 102 UNIX REVIEW MAY 1985 The UNIX Operating System Exposition & Conference September 18-20.1985 I NIXEXt UNIX EXPO will once again serve as the professionals seeking to keep pace with the expanding UNIX universe. Join with thousands of your colleagues from around the world who leading suppliers of UNIX-based hardware software and services. program addressing current technical topics and tauoht by the finest instructors in the industry. An expanded conference program focusing on issues vital to the computer professional THE PROVEN UNIX MARKETPLACE Return the coupon for the details on all aspects of UNIX EXPO. □ I am interested in attending UNIX EXPO □ I am interested in exhibiting at UNIX EXPO Name --- Title _ Company _ Address ___ City _____ Return to: National Expositions Co., Inc. 14 West 40th Street, New York, N.Y. 10018 (212)391-9111 • Telex 135401 DIMCOMM UNIX™ IS A REGISTERED TRADEMARK OF BELL LABS UNIX EXPO IS NOT AFFILIATED WITH BELL LABS Circle No. 285 on Inquiry Card ADVERTISER'S INDEX 31 83 85 Absoft. Adax Inc. AGS Computers, Inc. Apollo Computer, Inc. 38,39,70,71 Applix. Inc. AT&T Technologies. B. A.S.I.S. 9 12 18 93 86 42 7 23 100 89 BBJ Computer Services. Bell Technologies. Ceegan Corp. Century Software .„ C.I.E. Systems. CM1 Corp. Computer Cognition . Computer Language . Computer Methods . 1 j Computer Technology Group. 81 Corporate Microsystems, Inc.47 cost . f Creare Inc.^ CYB Systems. 1,87 Dual Systems . 82 DSD Corp. 1BC 75 67 15 Emerald City. Inc. The Foxboro Company . 69 Franz Inc. 92 General Communications Corp.68 Chelani International, Inc.Cover III Graphic Software Systems . 78 Handle Technologies.Cover II Human Computing Resources. 13 1 09 Image Network . Information Technology Development Corp. . . 37 Inmac. Inc. J. Rogers . .. 99 Lachman Associates. . ■ ^ Microware Systems Corp.79,Cover IV MIPS Software. 42 Mt. .. 55 National Semi-Conductor .41 Network Technologies Inc.Centersptead guality Software Products. 100 Rapidtech Systems, Inc. 19 Relational Database Systems . 2 - 3 Rhodnius. Inc. 9 ^ R Systems, Inc. 101 Scientific Placement. Inc. 92 Smoke Signal . 58 Sperry Corp. 25,97 Teletype Corp. 99 Unicomp. 87 Unified Computer, Inc. 74 Uni press Software. 55.57,59.61,63 Uniq Digital Technologies . 88 University of Toronto.66 Uniworks. 77 Unix Expo. 193 User Training Corp. 86 Z-Systems. 90 COMING UP IN JUNE UNIX Applications • Transparent Telecommunicatons Applications • Boundary Conditions • Historical Considerations • Pervasive UNIX Uses • Homebrewed Applications MOVING? SUBSCRIBER SERVICE Don’t miss an issue of UNIX Review. Please enclose your current address label, or copy all information from the label and enclose it with your new address. Write in new address below: Name--- Company --- Address —---- City/State/Zip -- Send all subscription correspondence to: Review Publications, P.O. Box 7439 San Francisco, CA 94120-9864 104 UNIX REVIEW MAY 1985 Circle No. 223 on Inquiry Card Only Microware's OS-9 Operating System Covers MICROWARE’S OS-9 UNIX ROM-BASED CONTROL SYSTEMS HAND COMP SMALL SYS! T FLOPPY-DISK BASED PERSONAL COMPUTERS l-HELD HARDWARE UTERS DEVELOPMEI fEMS DISK-BASED INDUSTRIAL SYSTEMS /SOFTWARE SINGLE NT SYSTEMS MULTI-TASKII SMALL-SCALE TIMESHARING SYSTEMS : USER MEDiur NG SYSTEMS TIMESHARII LARC LARGE-SCALE TIMESHARING SYSTEMS /l-SCALE NG SYSTEMS IE SYSTEMS Is complicated software and expensive hardware keeping you back from Unix? Look into OS-9, the operating system from Microware that gives 68000 systems a Unix-style environment with much less overhead and complexity. OS-9 is versatile, inexpensive, and delivers outstanding performance on any size system. The OS-9 executive is much smaller and far more ef- VAX and PDP-11 make coordinated Unix/OS-9 software development a pleasure. SUPPORT FOR MODULAR SOFTWARE - AN OS-9 EXCLUSIVE Comprehensive support for modular software puts OS-9 a generation ahead of other operating systems. It multiplies programmer productivity ana memory efficiency. Applica¬ tion software can be built ficient than Unix because it s written in fast, compact as¬ sembly language, making it ideal for critical real-time ap¬ plications. OS-9 can run on a broad range of 8 to 32 bit systems based on the 68000 or 6809 family MPUs from ROM-based industrial con¬ trollers up to large multiuser systems. OS-9'S OUTSTANDING C COMPILER IS YOUR BRIDGE TO UNIX Miaowaies C compiler tech Key OS-9 Features At A Glance • Compact (16K) ROMable executive written in assembly language . • User “shell” and complete utility set written in C • C-source code level compatibility with Unix • Full Multitasking/multiuser capabilities • Modular design - extremely easy to adapt, modify, or expand • Unix-type tree structured file system • Rugged “crash-proof" file structure-with record locking • Works well with floppy disk or ROM-based systems • Uses hardware or software memory management • High performance C, Pascal, Basic and Cobol compilers from individually testable software modules including standard "library" modules. The modular structure lets you customize and recon¬ figure OS-9 for specific hard¬ ware easily and quickly. A SYSTEM WITH A PROVEN TRACK RECORD Once an underground classic, OS-9 is now a solid hit. Since 1980 OS-9 has been ported to over a hun¬ dred 6809 and 68000 nology is another OS-9 advantage. The compiler produces extremely fast, compact, and ROMable code. You can easily develop and port system or application software back and forth to standard Unix systems. Cross-compiler versions for systems under license to some of the biggest names in the business. OS-9 has been imbedded in numerous consumer, industrial, and OEM products, and is supported by many independent software suppliers. OS-9 MICROWARE SYSTEMS CORPORATION 1866 NW 114th Street Des Moines, Iowa 50322 Phone 515-224-1929 Microware Japan, Ltd 3-8-9 Baraki, Ichikawa City Chiba 272-01, Japan Phone 0473(28)4493 OS-9 is a trademark of Microware and Motorola. Unix is a trademark of Bell Labs.