mm vij: REVIEW THE PUBLICATION FOR THE UNIX™ COMMUNITY Unify FUST! In one independent competition after another, UNIFY has proved itself the fastest UNIX data base management system. No wonder it’s been selected by more computer manufacturers than all other UNIX data bases combined. UNIFY speeds you through devel¬ opment and expedites program execution with some of the most powerful utilities of all, including: Fully menu-driven design. A powerful screen handling pack¬ age that helps you format screens quickly, with no coding required. Raw I/O, that lets you bypass the UNIX file system for up to 40% faster performance in large data bases. Built-in optimizers that select the fastest of four data access methods. Industry standard IBM SQL query language, plus our powerful report writer, for easy access by end-users. Ninety subroutines for advanced program development... the most complete package of its kind. UNIFYs integrated design links program modules like screens, query language and report writer to help you quickly create complete, friendly, easily expandable applications. Horsepower for the long run. Unlike other data bases, UNIFY won’t slow down under the weight of additional data or multiple users. It’s built with the power to support new features later. Judge for yourself. Send for our 300-page tutorial and 500-page refer¬ ence manual—yours for only $95— that show you how to build virtually any application. Contact UNIFY, Dept. UR-9, 9570 S.W. Barbur Blvd., Portland, OR 97219, 503/245-6585. unm® THE PREFERRED UNIX DBMS. Circle No. 1 on Inquiry Card UNIX REVIEW THE PUBLICATION FOR THE UNIX COMMUNITY Volume 2, Number 6 September 1984 DEPARTMENTS: FEATURES: 4 Viewpoint 8 Devil's Advocate by Stan Kelly-Bootle 12 The Human Factor by Richard Morin 18 C Advisor by Bill Tuthill 68 Industry Insider by Mark Sobell 72 Rules of the Game by Glenn Groenewold 78 /usr/lib by Jim Joyce 88 The UNIX Glossary by Steve Rosenthal 104 Calendar 108 Advertiser's Index The cover illustration was created on the UC Berkeley UNIGRAFIX system, designed by Professor Carlo H. Sequin and a group of his graduate students. Dubbed the "Granny-knot Lattice," the graphic was produced in 20 minutes of computer time. Color was added by airbrush artist Hyon Kim. 26 KEEPING YOUR SYSTEM HEALTHY by Jim Joyce and Douglas Merritt A recommended regimen for keeping systems fit. Tips for keeping your system running. 38 LINKING UP WITH THE OUTSIDE WORLD by Bob Toxen An introduction to UUCP. Picking through the UUCP maze. SYSTEM ADMINISTRATION 42 TERMCAP UNVEILED by Douglas Merritt Pages out of a wizard's handbook. That old black termcap magic. 52 SECURITY ROUNDTABLE by Dick Karpinski Interviews with leading experts in the field. Ed Gould opens the UNIX REVIEW security talks. Chilling system administration tales. 62 HORROR STORIES by Dr. Greg Chesson Tales of system administration woe suitable for late-night reading. i iniy rfvifw IISSN 0742-3136) is published monthly by REVIEW Publications Co. It is a publication dedicated exclusively to the needs of the UNIX community. Suhsrhntionsa e$28 00 o'er year 112 issues). Canada and Mexico add S7lyear. Overseas add S20lyear for surface mail. Address correspondence regarding editorial Subscriptions are S2B 00 per year i 4 s c-mtrw rn Cft ^grrC5p0n0Cn« reoarOinQ 5Ut)5CripWOn5 ( Chanae Of address, USTC Form 1 P l!d!>yL UllUll UU l Ulu "* **; tn q m 3rd Street Renton WA 98055. Letters to UNIX REVIEW or its editors become the property of 2579. fulfillment and dealer sales should be pressed “901 | 3rd Street ■ include the writer's full name, address, and home telephone Letters the magazine and are assumed intended for pubhcation and may so De usea. y are n0( necessarily those of UNIX REVIEW. Entire contents copyright • ^Alfhghfs reservecfand^othingmay te re^rodu^ inwhole'or in part" without prior written permissioh from UNIX REVIEW. Editorial telephone: 415/621-64,5. REVIEW is not affiliated with Bell Laboratories. EDITOR: Mark Compton MANAGING EDITOR: Pamela J. McKee ASSOCIATE EDITORS: Ken Roberts Scott Robin PRODUCTION DIRECTOR: Nancy Jorgensen PRODUCTION STAFF: James Allen Dan Arthur Tom Burrill Cynthia Grant Corey Nelson Florence O'Brien Denise Wertzler CIRCULATION Tracey McKee Barbara Perry BUSINESS MANAGER: Ron King ADVERTISING REPRESENTATIVES: Jules E. Thompson, Inc. 1290 Howard Avenue Suite 303 Burlingame, CA 94010 Lucille Dennis-415/348-8222 303/595-9299 - Colorado 312/726-6047 - Illinois 617/720-1888 - Massachusetts 713/731-2605 - Texas Jules E. Thompson, Inc. 2560 Via Tejon Palos Verdes Estates,CA 90274 Mary Winchell-213/378-836! 212/772-0933 - New York TYPESETTING: Data & Staff Service Company PRINTING: Thomas Ogle EDITORIAL ADVISORS: Dr. Stephen R. Bourne Software Engineering Manager, Silicon Graphics, Inc. Jim Joyce, President, International Technical Seminars, Inc. REVIEW BOARD: Dr. Greg Chesson, Technical Staff, Silicon Graphics, Inc. Ted Dolotta, Senior Vice President of Technology, Interactive Systems Corporation Gene Dronek, Director of Software, Aim Technologies David Fiedler, President, InfoPro Systems George Goble, Systems Engineer, Purdue University Bill Joy, Vice President of Research and Development, Sun Microsystems John Mashey, Software Engineering Manager, Convergent Technologies Robert Mitze, Department Head, UNIX Computing System Development, AT&T Bell Laboratories Deborah Scherrer, Computer Scientist, Mt. Xinu Jeff Schriebman, President, UniSoft Corporation Otis Wilson, Manager, Software Sales and Marketing, AT&T Technology Systems Walter Zintz, Executive Director, Uni-Ops CONTRIBUTING EDITOR: Ned Peirce, Systems Analyst, Bell Laboratories VIEWPOINT thought that people who argued, “Small is beautiful,” were ad¬ vocates of simplicity. Perhaps they were, but at least within the context of UNIX, I can now see that smallness and simplicity are not necessarily bedfellows. A convincing argument could be made suggesting that users of small UNIX systems have it tougher than people who do their work on minis or mainframes. The difference is system administra¬ tion, the theme of this issue. Two years ago, there wouldn’t have been a big enough body of readers to merit an issue devoted to system administration. At that time, after all, system manage¬ ment was the province of the wizard at the end of the hall — the Keeper of the Manuals known as the System Administrator. Whenever problems arose, one simply dropped them at the wizard’s doorstep, confident that sooner or later, they would magically disappear. What could be simpler? The advent of small machines capable of supporting from two to four users (regardless of what the advertisements say) and a grow¬ ing armada of single-user systems (like IBM’s PC/IX), is quickly eroding such simplicity, however. By default, we all now must don the System Administrator’s robes from time to time to attempt our own incantations and impre¬ cations. This wouldn’t be so bad if there were a decent script to follow, but the mournful state of UNIX documentation has kept system administration something of a black art. In this issue, we try to demystify some key points. Jim Joyce and Doug Merritt draw on their considerable system administration experience to prescribe a number of practices for keeping a system healthy, sprin¬ kling in helpful shell scripts for good measure. Merritt goes on to probe the mysteries of termcap in yet another article. UUCP, the bane of many a system administra¬ tor, is discussed in a third article by Bob Toxen, an acknowledged guru. Dick Karpinski, the manager of UNIX services at UC San Francisco, caps the theme with the first of a two-part series of in-depth interviews with leading UNIX security experts. This month. Bob Morris of AT&T Bell Laboratories and Ed Gould of Mt. Xinu have their say. Next month’s installment will focus on George Goble of Purdue University and Bob Chancer of AT&T Bell Laboratories. It’s all eye-opening reading, but we stop far short of exhausting the topic. Many incantations are left unexplained and numerous tricks must yet be exposed. The sheer limitations of space force us to make painful choices — about not only the sorts of topics we’ll cover but about the kinds of readers we’ll speak to. Most of the articles in this issue assume at least some familiarity with the topic at hand. This, sadly, may leave some readers at the starting gates, but without such assump¬ tions, we could never get to the meaty topics that much of our readership demands. It’s for those readers that this issue has been devoted to simplici¬ ty. We’ll never again see the Golden Age of system administra¬ tion, when woes could be sent to the end of the hall to die quietly. But we can remove some of the shrouds that obscure the topic. Here’s to clarity... 4 UNIX REVIEW SEPTEMBER 1 984 YOU CAN'T PREDICT THE FUTURE. YOU CAN BE PREPARED FOR IT. AND File-it! THE FIRST DATABASE SOFTWARE FAMILY FOR UNIX AND MS-DOS. Now OEMs and systems integrators can sleep better at night. Because one company has taken the worry out of buying the right software. RDS. The company that produces a family of database software designed to take on the future. Incompatibility is a thing of the past. INFORMIX®and File-it!" are compatible with UNIX,™ MS"-DOS, PC-DOS; and PC/IX systems (over 60 micros and minis* at last count). INFORMIX is a true relational database system designed to take full advantage of the power of UNIX. It includes the most widely used report writer on the market. Then there's File-it! The first easy-to-use UNIX file manager. Together, they have the flexibility to accommodate novices and experts alike. INFORMIX and File-it! are fully integrated. Users can upgrade from File-it! to INFORMIX or access data from one program or the other without re-entering data, retraining employees or reprogramming. Applications can also be moved from MS-DOS to UNIX and vice versa without having to rewrite the application. Simplify program development. RDS offers C-ISAM;the de facto standard ISAM for UNIX. It's a library of C subroutines with a B + -Tree based access method that stores, retrieves and modifies data from indexed files. It's embedded in INFORMIX and File-it! Or is available as a standalone product. Software good enough for AT&T. AT&T inventor of UNIX, has co-labeled INFORMIX, File-it! and C-ISAM to run on their full AT&T 3B Computer line (from micros to minis). Hewlett-Packard, Altos, Zilog, Siemens, Cromemco, Perkin-Elmer, Sydis and General Automation have selected RDS as well. In fact, INFORMIX has an installed base of over 6,000 copies. And RDS has sold over 35,000 licenses for all their products to date. But before you make up your mind, check the facts one more time. There's only one database software family that's UNIX- PC-DOS- MS-DOS- and PC/IX-based. It runs on more than 60 systems. And it's ideal for both novice and expert. Now it doesn't matter where the future's headed. You're already there. *RDS products are available for the following systems: Altos 586,986,8600,68000 Apollo DN300 AT&T 3B2,3B5,3B20, AT&T Personal Computer BBN C machine (all models) Bunker Ramo Aladdin 20 Charles River Data Systems Universe 68 Convergent Technologies Miniframe and Megaframe Corvus Systems Uniplex Cromemco System 1 DEC 11/23,11/34,11/44,11/60, 11/70, VAX 11/730,11/750, 11/780 Dual Systems System 83 ERG Mini System (all models) Fortune 32:16 Forward Technology 320 General Automation Zebra (all models) Hewlett-Packard 9000 Series 200,9000 Series 500 IBM PC, PC-XT Intel System 86/330 Masscomp NC 500 Momentum Hawk 32 NCR Tower Onyx C8002, C8002A Perkin-Elmer 3210,3220, 3240,3250 Pixel 100/AP 80 Supermicro Plexus P/25, P/35, P/40, P/60 pyramid Technologies 90x Radio Shack Model 16 SCI Systems IN/ix Wicat System 150WS, 160, 200 Zentec 2020 Zilog System 8000 (all models). Demos of INFORMIX and File-it! are available. Demonstration software and complete manuals included. J )^\ RELATIONAL DATABASE SYSTEMS, INC. 2471 East Bayshore Road, Suite 600, Palo Alto, California 94303 (415)424-1300 TELEX 467687 INFORMIX is a registered trademark of Relational Database Systems, Inc. RDS. File-itl and C-ISAM are trademarks of Relational Database Systems, Inc. UNIX is a trademark of AT&T Bell Laboratories, MS is a trademark of Microsoft and PC-DOS is a trademark of International Business Machines. See us at UNIX SYSTEMS EXPO/84, Los Angeles, Booth #550 and UNIX EXPO, New York, Booth #123 Circle No. 2 on Inquiry Card DEVIL'S ADVOCATE Fun and games by Stan Kelly-Bootle I have bad news for all those readers who have been urging me to embellish the action in my reportage of Civil War II. UNIX REVIEW , unlike other less scrupulous journals, will never resort to fabrication in order to titillate bored, terminal-bound readers. But if it turns out that IBM is actually using AT&T prisoners of war for bayonet drill, rest assured that my pen will put you right there behind home plate. In the meantime, to celebrate System Administration Day, the opposing troops have cautiously left their frontline trenches and are fraternizing (or sororitizing, as the mood takes them) in no man’s land. On this holiest of holy days, all past grudges and conflicts are put aside as makeshift games of volleyball and Donkey Kong blossom along the battlelines. This, traditionally, is the one day of the year when a complete moratorium on all systems changes is declared at all sites. “No patch, however pressing, may be patched this day. Neither may thy kernel be tweaked by thy kludge” (St. Opel, III: vi). System administrators throughout the land perform their solitary devo¬ tions from dawn ’til dusk at deserted sites, rejoicing in the blessed freedom from users, and taking advantage of the rare op¬ portunity of putting the previous year’s amendments into /usr/man and peeking at everybody’s mail. The rules governing System Administration Day, like the rules of UNIX, are largely unwritten. A powerful oral tradition stretching back to the first misty stirrings of human consciousness (circa 1969) suffices to maintain a remarkably uniform and portable corpus of dogma and ritual. The master CRT must be aligned toward the June solstice and — as the first rays of the rising sun strike the RETURN key — the invocation: * status_quo_vadis? or mnemonically: # wgy? is entered. The system then ac¬ cesses /etc/mantra and conducts a rigorous, interactive catechism with the system administrator. I am honor bound not to reveal this hermetic dialogue to the unini¬ tiated, but in the name of courageous journalism and in¬ creased circulation, here are a few meaty extracts: Q: O What’ll We Do With the Hog’s Eyes? A: We’ll Make Them Into Pud¬ dings and Pies! Q: And What’ll We Do With the Hog’s Cheek? A: We’ll Change His Password Every Week! (This example assumes 4.2 BSD with the optional iambic-tetra- metric-rhyming-couplet feature.) There then follows a playful “revenge” session during which the alias and history specifi¬ cations of unpopular users can be “suitably clobbered.” Finally, the system administrator, in one mad mayfly fling, practices the sending of disconcerting messages to remote terminals — an essential skill of the trade where timing is all important lest jobs be aborted at non-critical moments. During the switch from Julian to Jamesian calendars (see, for ex¬ ample, Jules ou Jim? Un Calen- drier de Nos Jours by Frederick LeMontre), System Administra¬ tion Day moved from the nearest Friday to June 22, and fanciful etymologists were quick to point 8 UNIX REVIEW SEPTEMBER 1984 Circle No. 3 on Inquiry Card “// 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. 302 TURNPIKE ROAD, SOUTHBORO, MASSACHUSETTS 01772 (617)481-4721 I# DEVIL'S ADVOCATE out that after SADay came a SAD- DERDay. And so it was and is: for the administrator, a return to the daily hurly-burly; for the systems programmer, a whole day’s pat¬ ching to catch up on; and for the Hog, a terrible spell cast over his or her files! By the by, have you ever tried to use csh with the terminal in -echo mode? So we are left with a nagging question and an unexplained mystery. Why do some disastrous events become hallowed and an¬ nual? How is it that during the 24 hours of SADay, every clock-chip in the world STOPS TICKING? The rules governing System Administration Day, like the rules of UNIX, are largely unwritten. Stan Kelly-Bootle is a grizzled mainframer who worked on the pioneer EDS AC I at Cambridge University in the early 1950s. As founder/President of the LISA Moaners' Club, he urges more machismo and less user-molly¬ coddling in software. In spite of some reservations, he feels that UNIX is a bandwagon heading in the right direction. His expose of computer scientific epistemology in the lexicographic environment, “The Devil's DP Dictionary" (McGraw- Hill, 1981), is to appear soon in a Japanese language edition (Shizen Sha, Tokyo). ■ the UNIX ™ System, WHY AT, For 15 years, we’ve taughtlbur own people to use aught our own peop! . Nowiwe can teach yours. for unix System training? AT&Td ffers 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 SYSTEM V UNIX System to our Own people, ms classes designed tq teach specific ob-specific applications^ reas ofinstr uction ranging from intr advanced lfevels for Managers/Super rs, Systems Administrators, Applicati rs, and Systems Programmers. . ent class offerings so you won’t have wait for the courses you want. Conveniently located training centers m 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 ©1984 AT&T Technologies, Inc. Circle No. 4 on Inquiry Card COMPUTER METHODS LIMITED 00 o 03 E CD CO £ C 03 = ^ CO CD -t—i CL CD CO 0) 9> W 3= CD o o ro c q 3 iS £ CD CD £ O o • CO ■*-> r « CD .E > c E -Q v rn E E! LU = C S «> ® ® c E § < ® a -P ~ i=: ^ Ql ^ o o co e 2 o +- -1-- C O T3 3 3 _c CD -C LT <.< S= c ^ 2 m o o iS ca Q) to E ujQL Circle No. 5 on Inquiry Card Box 709 Chatsworth, CA 91311 (818)884-2000 TWX910-494-1716 Int’l Tlx 292-662 XED UR THE HUMAN FACTOR Let's be perfectly clear by Richard Morin The phone company ... offers this tolerant message: “We're sorry, but we were unable to complete your call as dialed. Please hang up, check your number or con¬ sult your operator for assistance. ”... I suspect that a programmer might have generated: “Illegal phone number. Call aborted. Error number 583-2R6.9. Consult your user manual for further information. ” Dr. Ben Shneiderman, ‘ ‘Sys tern Message Design: Guidelines and Experimen¬ tal Results: Directions in Human/Computer Interac¬ tion. ” Edited by Albert Badre & Ben Shneiderman. (Ablex Publishing Corp., 1982) UNIX isn’t the only operating system with atrocious error messages. It isn’t even the worst of the lot. Still, its messages are bad enough to confuse any novice and cryptic enough to occasional¬ ly baffle even the most experienc¬ ed hacker. Let’s examine the diagnostics found in the UNIX en¬ vironment to see why, using the messages found in Responses to UNIX Commands, by Henry McGilton and Rachel Morgan. The standards applied come from the following slightly abbreviated ver¬ sion of Dr. Shneiderman’s criteria for error messages: GOOD BAD brief wordy comprehensible cryptic specific general positive in tone negative constructive critical Be Brief and Comprehensible. Though it is easy to produce error messages that are both wordy and cryptic, it is very difficult to be simultaneously brief and com¬ prehensible. UNIX is all too terse as a rule, and its error messages are no exception. The “mkdir: arg count” message is a represen¬ tative example, printed when mkdir is called without any arguments. Keeping some of the traditional UNIX brevity, let’s try for less cryptic messages. Be Specific. An error message is more specific when it gives more information about the nature of the problem. The “syntax error near line message offered by awk is a good (bad) example of an error message that is too general. It gives the user essentially no help in finding the syntax error. Many UNIX error messages have this deficiency. Consider the examples listed in Figure 1 (on page 14). Most of these messages give the name of the complaining pro¬ gram, which is critically impor¬ tant. The UNIX “tinker-toy” ap¬ proach to software development means that an error message can come from any one of a number of programs. The user may have constructed an alias, a command line or a shell script using any number of UNIX commands. The message may even have come from a program running in background or as a daemon. Given the name of the offended program, the user can at least start looking for help on an ap¬ propriate manual page. Only one of these messages fails to print the offending character. This isn’t critical, but it can still be a nuisance to have to figure out what a program is com¬ plaining about. In any case, note that the same user mistake is described differently in each of the messages in Figure 1. Perhaps this is intend- 12 UNIX REVIEW SEPTEMBER 1984 CREATIVE CONNECTIONS Making creative connections for UNIX developers and UNIX users has been the essence of our busi¬ ness since 1977. We start with the UNIX system itself, adding func¬ tionality, performance, robustness and ease of use to produce our UNITY operating system. We then add programming tools and our CHRONICLE business applications family to provide a power¬ ful environment for UNIX-based applications. To our superior products, we add a superior com¬ mitment to customer satisfaction. We treat our customers as our UNIX technology partners. For all our clients - manufacturers, OEMs, VARs and direct accounts - we provide product plus custom development, UNIX components plus enhance¬ ments, training plus the industry’s finest support. At HCR, our ultimate product is... PARTNERSHIPS IN UNIXCELLENCE. Human Computing Resources Corporation 10 St. Mary St., Toronto, Ontario, Canada, M4Y 1P9 Tel. (416) 922-1937 Telex 06-218072 See us at the UNIX SYSTEMS EXPO/84, Los Angeles, Booth #651 See us at UNIX EXPO, New York, October 16-18, Booth #347. Circle No. 68 on Inquiry Card UNIX is a trademark of AT&T Bell Laboratories. UNITY and CHRONICLE are trademarks of Human ComDUtina Resources CorDoration U THE HUMAN FACTOR Figure 1 — Some example error messages. ed as a cure for the distressingly repetitive nature of diagnostics. In that case, perhaps a random number generator should be used to select an appropriate combina¬ tion of keywords. Otherwise, we might consider opting for a bit of regularity. Be Positive and Constructive. UNIX diagnostics rarely give sug¬ gestions about possible remedies, and the examples above are unfor¬ tunately typical of the tone employed. Experienced hackers are generally immune to these types of hostile and negative messages. Novices, however, are more easily frightened and should perhaps be protected from this sort of abuse. In any case, suffi¬ cient information should be given to assist the user in identifying the nature of the problem. WHAT SHOULD BE DONE? In the June column, I made some fairly rash assertions, such as: Cleaning up and standardiz¬ ing error messages would be a modest but very worth¬ while effort for the UNIX in¬ dustry to tackle. Some minimum standards for for¬ mat and content could be developed and implemented. At the risk of appearing im¬ modest (cough), your author would like to share some ideas about the aforementioned stand¬ ards. There is nothing terribly novel here, which in the world of standards is good. In addition, no terribly difficult tasks are asked of the C hacker(s) who might have to do the dirty work of implementing these suggestions. All error messages should contain a description of the offen¬ ding item. The list in Figure 1 might lead one to believe this is common. Unfortunately, UNIX er¬ ror messages often fail to print the offending flag, filename or whatever, and seldom give any other useful data. All error messages should begin with the name of the of¬ fended program. Many UNIX diagnostics already do this. The current “name: message...” syn¬ tax is fine, but see my next point. Error message syntax and content need to be predictable. A given type of error should yield consistent diagnostics across the range of commands. Further, the user should be able to tell which fields yield what meanings. An at¬ tempt to access the imaginary file “foo” on my computer yields the diagnostics listed in Figure 2. A novice would be hard press¬ ed to tell what is going on. The program is in the first field in some cases, the filename is first in others. How about a stock message like: pgm: File “foo” not in specified directory The diagnostic above performs its function cleanly and unam¬ biguously. A novice could under¬ stand it and an expert would recognize it without even having to read the full text. We want to include enough information to be useful, but long- winded messages waste time. They take longer for the computer to write, and more time for the user to read. How long should our messages be? A novice can read an 80-character message in about three seconds. An expert can recognize the same message in perhaps half a second. We can ig¬ nore the fact that writing and reading proceed simultaneously, and simply add the writing and reading times together to arrive at the figures displayed here: baud write expert novice rate time time time 110 7.3 7.8 10.3 300 2.7 3.2 5.7 1200 0.7 1.2 3.7 9600 0.1 0.6 3.1 A number of things become chmod chmod: can't access foo diff diff: foo: No such file or directory grep foo: No such file or directory Id Id: foo: cannot open lpr lpr: cannot access foo rm rm: foo nonexistent Figure 2 — Different messages , same error. 14 UNIX REVIEW SEPTEMBER 1984 Follow The Leader. There’s no substitute for leadership. Espe¬ cially in a market that’s moving as fast as the UNIX™ market. Four years ago we put millions of dollars into developing a new kind of office auto¬ mation software: powerful software that could “tame” UNIX. Software designed by a physician for simplicity: easy to learn, easy to use. The result is the Horizon Software System™ —an integrated set of sophisticated office productivity tools for shared-logic systems. The core is Horizon WordProcessing™. It’s as functional as any you’ll find, for any operating system. It’s integrated with the Horizon Spreadsheet™, which offers the largest electronic worksurface anywhere: 256 cells square. They’re supported by clerical shortcuts like spelling correction, mail/merge and sorting. And the Horizon system is even available in French, Ger¬ man and Italian. NOW. The best part is, they were designed from the start to be integrated, and they were designed from the start for UNIX. The lan¬ guage is C, and that means easy portabil¬ ity. Documentation? It’s complete. Ask any Horizon user (there are thousands of them). Don’t risk “Johnny-come-lately” software that’s been moved from another operating system. Don’t risk software that isn’t proven in the market. If you want software you can learn in min¬ utes, if you want to join the largest installed base in UNIX, if you want powerful, ele¬ gantly simple software right now, then fol¬ low the leaders. To Horizon. The standard for office auto¬ mation in the UNIX world. (®bRIZON software system The Standard in UNIX™ Office Automation Horizon Software Systems Inc., China Basin Building-185 Berry Street, Suite 4821, San Francisco, Calif. 94107 • (415) 543-1199 Horizon WordProcessing, Horizon Spreadsheet, and Horizon Software System are trademarks of Horizon Software Systems, Inc. UNIX is a trademark of AT&T Technology. U THE HUMAN FACTOR clear in this example. On a ter¬ minal that operates at 1200 baud or above, neither the novice nor the expert is significantly hampered by the writing time of the message. The reading time of the message is unimportant to the novice, who needs the informa¬ tion. The expert’s recognition time is small to begin with, so there is a certain immunity to message length on that level. On 110 and 300 baud ter¬ minals, brevity is of overwhelming importance, however. The look of current messages is perhaps a reflection of the ASR 33 terminals in use when UNIX was created. If we assume that 1200 baud and above will be generally available in the future, we can safely con¬ sider using messages of up to 80 characters. Some of the current UNIX commands give “usage” messages. This gives the user immediate mnemonic aid in reformulating commands, but it makes diagnos¬ tics more wordy. Dr. Shneiderman suggests that systems be built with multiple levels of help facilities. Two ways of ac¬ complishing this suggest themselves. A “u” command could be created which would give the usage of a specified command, with the default being the last command entered. This should not rely on the presence of man files, since they are too large to be stored comfortably on small systems. Additionally, a shell variable could control the verbosity of er¬ ror messages. The default mode could be verbose, giving usage in¬ formation automatically. Experts could then demand a terse mode, causing the shell to skip over the ancillary information. If UNIX is to escape from its current status as a “cult” operating system, it will have to clean up its act. Cleaning up the error message jungle is an obvious first move, and would be very cheap when weighed against its human factors payoff. Standar¬ dization is very important in this since a user should be able to ex¬ pect the same error messages on different UNIX implementations. While AT&T could impose a stan¬ dard, a better standard might be developed by an organization such as /usr/group. In any case, we gain nothing by waiting. Richard Morin is an indepen¬ dent computer consultant specializing in the design , development and documentation of software for engineering , scientific and operating systems applications. He currently operates the Canta Forda Computer Lab in Ft. Washington , Maryland. /USR/TROFF TM ROUND TRIP NEW YORK/ PORTLAND $36 o From the Big Apple to UNIX ,M Paradise and back. 5 minutes out, 48-hour return. TYPESETTING at 15 1 z feet-per-minute — wider than this entire UNIX IN1 Review page (about l 1 i" wider). Telecommunication of documents, including mathematical formulae, gets TYPE SET and RETURNED on first class ACCUCOM-ODATIONS. No waiting at the TYPESETTING counter, and no reservations required. We also "book" passage for magnetic tape and raw text. Call for details —1-800-ACCUCOM (222-8266) UNIX is a registered trademark of BFll LABORATORIES Circle No. 8 on Inquiry Card _ ' (503) 684-2850 a:cucon\ 9730 SW Cascade Blvd. / Suite 200 / Tigard. Oregon 97223 16 UNIX REVIEW SEPTEMBER 1984 WHY DEC AND INTEL CHOSE THE MARK WILLIAMS C-COMPILER. DEC and INTEL wanted the best C technology avail¬ able, with excellent code density, supporting the full C language and their specific operating environments— all at a competitive price. They found it all at Mark Williams. WHY YOU SHOULD CHOOSE THE MARK WILLIAMS C-COMPILER. Our C-compiler supports the dominant 16-bit micro¬ computers— 68000, PDP-11, Z8000, 8086 —with a proven reliable, high-technology product. We are shipping versions of C for a large number of environments includ¬ ing CP/M and PC DOS. Both cross and native compilers are available. Call us for the distributor nearest you. OEM's should contact us directly about their specific requirements. Mark Williams Company, 1430 West Wrightwood, Chicago, Illinois 60614, 312/472-6659. Mark Williams Company Circle No. 9 on Inquiry Card c ADVISOR Being and time by Bill Tuthill One of the system ad¬ ministrator’s responsibilities is to keep system time accurate. When bringing up a UNIX system after a power failure, for example, the superuser needs to reset the time with the date command. Most computers cannot keep accurate time, so the system administrator must also reset the clock occa¬ sionally even when there has not been a power failure. Some in¬ stallations, in fact, have hardware that monitors the shortwave radio station WWV, which broadcasts nothing but the precise time. Ad¬ ministrators at most installations phone up for the time or use digital wristwatches, which are usually more accurate at keeping time than most computers. This article provides a behind- the-scenes look at how UNIX keeps track of time, and contains a few simple programs for gaining access to the system clock. To retrieve the system’s notion of date and time, you generally use the time(2) system call, in con¬ junction with ctime(3) or local time(3). But before discussing these systems calls, let me deliver the alarming news that time is run¬ ning out for UNIX. The last tick will occur at 03:14:07 Greenwich Mean Time (GMT) on January 18, 2038. No, this is not the prediction of an apocalyptic religious group. It is pure arithmetic. Since UNIX time is kept in seconds measured from 1970 and is held on most machines in a long integer variable, it will become negative on January 18, 2038. Time will then march backwards, as it were. Perhaps this is of little concern, because UNIX will almost certain¬ ly be outmoded by the year 2038. But if UNIX is still around, alter¬ nate arrangements for storing time could be made. On IBM OS/360 systems, time is stored as a 64-bit quantity and is measured in microseconds from January 1, 1901. Since the max¬ imum 64-bit quantity is much larger than the maximum 32-bit quantity, OS/360 time will last well past the 21st century. Thus, arithmetic alone indicates that IBM will last longer than UNIX. Many people wonder why the UNIX library routines to get the date and time, such as ctime(3) and localtime(3), must be passed the address of a variable contain¬ ing the time. After all, neither ctime( ) nor localtime( ) modifies the variable passed to it. And the variable isn’t likely to change in the milliseconds between the system call to time(2) and the library call to ctime(3). Besides, no provision exists for correcting the value, even if it did change substantially between function calls. The real reason for the pass¬ ing of the address is tradition. These routines were written in the days of 18 UNIX REVIEW SEPTEMBER 1984 Circle No. 10 on Inquiry Card COMMUN I QUE“ The PC-to-UNIX“Connection See Us At Booth #751 in Los Angeles—UNIX Systems Expo See Us At Booth #122 in New York City —UNIX Expo COSI 313 N. First St. Ann Arbor, Michigan 48103 313-665-8778 Communique is a trademark of COSI. UNIX is a trademark of Bell Laboratories. U C ADVISOR Figure 1 — Keeping time , Version 6 style. Version 6, before the C language had a long data type. Time had to be kept in a two-element array of 16-bit integers. The only way of dealing with this was to pass the address of the first array element, as in the code listed in Figure 1. Actually, this tradition will help provide a solu¬ tion in the year 2038. Time could then be held as a two-element array of integers. As a step toward this solution and general portability, many UNIX systems (starting with Version 7) keep time using the data type time t, generally declared as follows: typedef long time_t; It would be possible to make time_t a structure composed of an int and a long, the first containing the year of the epoch (such as 1970), and the other containing the seconds since the beginning of the epoch. This may not be the solution adopted in 2038 (if UNIX is still around), but it is one possibility. PUTTING THE ROUTINES TO WORK Now, let’s turn to some sample C programs. Sup¬ pose you want to print the date and time on some output, but for the sake of efficiency you don’t want to incur the extra process overhead involved in using: system (“date”); That would involve spawning a shell, which would in turn execute the date command. The program displayed in Figure 2 prints a simple date and time stamp, using the most basic facilities available. You could use these same lines inside a larger program. In the example, the variable clock is declared as a long integer, which is how it’s done in many pro¬ grams and is the way that’s recommended for System V. On systems based on Version 7, the type time_t may be used instead, although the lint library doesn’t know about it yet. When time( ) is handed a null value, rather than an address (as on Version 6), it returns the time in seconds since 1970. The null value should be coerced into a pointer to a long, because this is what time( ) expects as its argument. Note, too, that the variable clock must be passed by address to ctime( ) even though its value won't be changed, because its length may vary across different versions of UNIX. The ctime( ) routine returns a pointer to a character string, which is printed out using fputs( ) rather than printf( ), for the sake of efficiency. #include #include main () { > /* stamp - output a simple date and time stamp */ long clock, time () ; char *date, *ctime(); clock = time((long *) date = ctime (&clock); fputs(date, stdout); exit (O) ; O) /* /* /* output character string */ seconds time since 1970 corrected for timezone V V Figure 2 — Code suitable for printing date and time stamps. 20 UNIX REVIEW SEPTEMBER 1984 UNIX EVALUATION NEWS!! AIM OFFERS APPLICATION - CONFIGURABLE UNIX BENCHMARK DO YOU HAVE TO MAKE A UNIX PURCHASE DECISION IN THE NEAR FUTURE? If you have to compare competitive UNIX systems in the marketplace or even evaluate the performance of your own system in light of new enhancements available, you know it can be a bewildering task. THERE IS MORE TO COMPARING UNIX SYSTEMS THAN VENDOR STATISTICS ALONE. How do you decide which UNIX system should be the standard for your company? You could compare published vendor data sheets but you would not be sure how they support your specific needs. UNIX SYSTEMS RANK DIFFERENTLY WHEN COMPARED IN SPECIFIC ENVIRONMENTS!! If your target needs are heavily database oriented, obviously the disk transfer rate of each system dominates your selection criteria, but if you need graphics capability, then the CPU resource becomes the center of evaluation. You might even need to select a system which does both functions well. A UNIX BENCHMARK TAILORABLE FOR YOUR ENVIRONMENT IS AVAILABLE. AIM Technology's second UNIX benchmark product, SUITE II, is parameterized so that you can evaluate how various UNIX systems, (such as Version 7, System III, System V, Xenix, etc.) would perform in your processing environment. Application characteristics (such as word processing, spreadsheet, graphics, communications, compilations and scientific requirements) can be weighted to reflect how much they are a factor in your overall evaluation. This testing can be run, tuned, and re-run on as many as 20 systems for comparison... This manual discusses how to evaluate the performance of various UNIX systems in specific processing environments. It will be most valuable to the multiple-purchase buyer who must decide which UNIX system is best suited for the application mix representative of his company's requirements. AIM TECHNOLOGY AIM's Suite II Benchmark is available for $3450. It can be ordered for immediate delivery from AIM Technology. 4655 Old Ironsides Drive. Suite 390, Santa Clara. CA 95050. For manual or additional information contact Ms. Jamie Mendez (408-727-3711). rM UNIX is a trademark of AT&T Bell Laboratories 'Additional copies of the manual can be obtained for $9 75 CALL OR WRITE FOR FREE “EVALUATING UNIX COMPUTERS” MANUAL 1 ' Circle No. 11 on Inquiry Card W C ADVISOR #include ^include #inc1ude #ifndef USDL # include # inc1ude #endif char *day[7] = "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", }; char *month [12] "Jan", = { "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" >; main () { struct /* edate - date in European format tm *t. *localtime () ; 'Sat" char *zone; #ifndef USDL struct timeb tp; char *timezone () ; /* * On V7 and Berkeley UNIX, timezone is in timeb structure */ ftime (&tp) ; t = localtime(&tp.time); zone = timezone((int)tp.timezone, (int)tp.dstflag); #else #endif long clock, time () ; /* * On AT&T's System V UNIX, timezone is in the environment V clock = time((long *) O) ; t = localtime(&clock); zone = tzname[t->tm_isdst] ; printf("%2d:%02d:%02d %s %s %2d %s %d\n", t->tm_hour, t->tm_min, t->tm_sec, zone, day[t->tm_wday], t->tm_mday, month[t->tm_mon], t->tm_year + 1900); exit (O) ; Figure 3 — A sample program for printing time. 22 UNIX REVIEW SEPTEMBER 1984 LOW LEVEL LIBRARY ROUTINES The program in Figure 2 would be adequate if you’re satisfied with a simple date and time stamp in the following format: Tue Jul 24 23:24:43 1984 But if you also want to print the time zone or want the fields to appear in a different order, you’ll need to use lower level library routines. The next program we’ll look at is more sophisticated, for it will actual¬ ly print the name of the time zone, such as “PDT” for Pacific Daylight Time. Low-level routines to get the time are different on System V than on Version 7 and Berkeley UNIX. If you’re running System III or System V, you need to place the following line in /usr/include/whoami.h in order for the following program to work: ^define USDL AT&T might want us to consider its UNIX a stan¬ dard, but it can’t seem to decide what this standard should be called. Programmers certainly can’t change from System III to System V to System V.2 every time AT&T changes the release number. Just two months ago, I urged that USG be employed to delimit code for Systems III and V. This month I’m urging that USDL be used instead. The switch owes to the recent reorganization of AT&T, during which the UNIX Support Group (USG) was renamed the UNIX System Development Laboratory (USDL). I can’t predict what it will be called after the next reorganization. Maybe we should simply agree on ATnT (for American Telephone ’n Telegraph) and call it quits. The sample program listed in Figure 3 will print the date in European format, as in: 23:25:08 PDT Tue 24 Jul 1984 In this format, fields (except time zone) vary more rapidly on the left than on the right. In order to print the day and month as character strings, we need two arrays of character pointers, one for the days and one for the months. Both are initialized in the example as external variables. The include file sys/types.h is present for its definition of time_t, while the in¬ clude file sys/timeb.h is present for its definition of the timeb structure, used by the ftime( ) system call. On Version 7 and Berkeley UNIX, information about the time zone is kept inside the operating system. On System V, though, it’s necessary to place the name of the time zone and the number of hours west of Greenwich Mean Time into the environment. This is usually done at boot time from the /etc/rc file, so users need not worry about it. For example, on the west coast, the TZ environment should be set to: PST8PDT The first three characters represent the name of the time zone when observing standard time, while the final three characters represent the name of the time zone during daylight savings time. The number in the middle is the hours west of GMT. STRUCTURES The tm structure is common to all varieties of UNIX, and is defined in the manner described in Figure 4 on Version 7, Berkeley UNIX and System V. All of these values could be declared short in¬ stead of int, but traditionally they are stored as in¬ tegers. In the program listed in Figure 3, the localtime( ) library function returns a pointer to one of these tm structures. The timeb structure is used on Version 7 and on Berkeley UNIX, but not on System V. It is smaller than the tm structure, but contains a variety of types, as shown in Figure 5. The reason for using the typedef time_t was explained above. More precise Figure 4 — Definition of the tm structure. SEPTEMBER 1984 UNIX REVIEW 23 U C ADVISOR struct timeb { time_t time; /* seconds since 1970 */ unsigned short millitm; /* a more precise interval */ short timezone; /* minutes westward from GMT */ short dstflag; /* 1 if daylight savings time */ }; _ ; Figure 5 — The varied types of timeb. intervals than seconds are generally measured in milliseconds. The reason the time zone is represented in minutes, rather than in hours, is that Afghanistan time is 4 1/2 hours east of GMT. On System V, this might represent a problem, because the TZ environment can’t handle portions of an hour. System V time zone names are held in an exter¬ nal, two-dimensional array. The first is the name of the time zone when observing standard time, while the second is its name during daylight savings time. In the program listed in Figure 3, the field tm_isdst ACUITY® business software is compatible with any budget, and all these systems: UNIX-based Micros VAX, VMS or UNIX PRIME Con vergen t IBM-PC Harris With prices from $ 7 00 to $6500 for a fully supported package, any size company can afford 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. See us at UNIX SYSTEMS EXPO/84, Los Angeles %# COGDITIOn 225 West 30th Street, National City, California 92050 Circle No. 12 on Inquiry Card in the tm structure is used as an index into this two- dimensional array. Finally, the date and time are output with a giant printf( ) statement. This program will continue to work after the year 2000, because we add 1900 to the value t->tm_year, rather than embedding the string “19” into the print format. THE BOTTOM LINE There are two quick lessons on C programming to be learned here. First of all, parameters should be passed by address when the manual page says a function is expecting a pointer. When the program¬ mer’s manual documents a function call like: ftime(tp) struct timeb *tp; it means that your program has to pass the address of that structure to the function, as in the line: ftime(&tp); That’s because the address of a variable is in fact a pointer to the variable. Second, when a function call returns a pointer, you don't need to allocate space for the thing that’s pointed to in your program. In the example in Figure 3, we allocated space for the timeb structure, but allocated only a pointer for the tm structure. This is because ctime( ) and localtime( ) return pointers to a tm structure, whereas ftime( ) returns nothing. We have to allocate the entire timeb structure and pass its address to ftime( ), which will fill in the ap¬ propriate values. If you don’t need to allocate space, it’s best to use a pointer because that will make your program both more efficient and more compact. Bill Tuthill was a leading UNIX and C consultant at UC Berkeley for four years prior to becoming a systems software analyst at Imagen Corporation. He enjoys a solid reputation in the UNIX community earned as part of the Berkeley team that enhanced Version 7 (BSD 4.0, 4.1 and 4.2). ■ 24 UNIX REVIEW SEPTEMBER 1984 ^ • * a? y < 02 LU z 3 WESTERN ELECTRIC • PEACHTREE SOFTWARE INC. • CRAY RESEARCH • UPJOHN • RCA • DYSAN CORP. • WESTINGHOUSE • AMERICAN BELL • SOFTWARE BAN( • JOHNSON & IOHNSON • HOFFMAN LdROC HE • AT&T • TIME LIFE • BALLY MANUFAC TURING • APPLE COMPUTER • c ■- m i ? s • AZTEC C ...the most portable Manx Software Systems a i . ^ with over 6,000 licensed ana comprehensive C users « one of the leading suppliers of - a a "C compilers and cross compilers for software development the world's most popular micro computers. The *1 - - MANX AZTEC C compiler is available as a cross system available compiler or native compiler for the following environments: » o r Z •2 I 5 o > 73 X) 5 o • 2 5 z H 3 o i 6 i 2 o o u o £ u ? z 5 2| if • U QC uj UJ —' IS 2 • O u < ^ z * Q AZTEC C86 PC DOS MS DOS CP/M-86 AZTEC C CP/M-80 TRSDOS II AZTEC C65 APPLE DOS COMMODORE 64 (12/83) ProDOS (2/84) The AZTEC C product is a complete development system. In addition to a full v7 "C" compiler , the basic product includes assemblers , linkage editors , development utilities , and full run time libraries. New products to be released in late 1983 and early 1984 include graphics development tools , data base managers , program editors , screen management systems , and other development tools that work in conjunction with the AZTEC C system. CROSS DEVELOPMENT SYSTEMS The AZTEC C cross development systems include all of the utilities and library support routines avail¬ able with the native versions including a cross assembler. The binary image created in the host environ¬ ment is downloaded and tested in the target environment. MANX has been using its own cross compilers on a daily basis since 1 980. > S Si 22 !* O O ! Z 1 ot d : 6 ! < : u. D ■ Z < z < 5 < 5 1 8 • uu z ^ o 2 <✓> z * Z «/> o 3 T •w i/t li P —* u HOSTS PDP-11 UNIX 68000 UNIX ports 8086/8088 UNIX ports PC DOS MS DOS CP/M-86 8080/8085/Z80 CP/M-80 -TARGETS 8086/8088 PC DOS MS DOS CP/M-86 8080/8085/Z80 CP/M-80 TRSDOS (12/83) LDOS (12/83) DOSPLUS (12/83) 6502/65xx APPLE DOS APPLE ProDOS (2/84) COMMODORE 64 Other host and target environments will be released in early 1984. NATIVE COMPILERS The AZTEC C native 8080 compiler was first released in 1981. Since that time it has been acquired by more than 300 colleges and universities, thousands of corporations, small business, and government agencies. The compiler has been ported to the 6502 and 8086. Plans for future ports include the 68000, 16032, and IBM 370. All native versions are source compatible. Source developed in one environment can therefore be transferred to another environment and compiled, linked and executed. For prices and information call: 800-221-0440 (outside Nl) 201-780-4004 (inside Nl) Or write to: MANX SOFTWARE SYSTEMS P.O. BOX 55 • SHREWSBURY, Nl 07701 MANX ® s oftwane Circle No. 13 on Inquiry Card systems > o • n o z - < 03 — ? 0 -»• m • X 73 • i Q m • 2 2 25 • i w > • 2 5 n p o i§ li < i- * £ fc -NOIHSV • lJVinaiVS3HDnH • ddOD SW31SAS DIHIITONOW • ddOJ JLN3 WdOT3A3Q SHIOT • H )NAT TTIdd3W • NOINH Na31S3M • SDIHdVHO HUridWO ) VOIHOU OS • 3 I D • MMl • S3I1080B S fl • QliV)OV«|-iinM3H • 03N01B0N • 3Nll-NO-VHil3IS • ION • U3WT3 NIXiHd • ONI SW31SAS 03QIA313JL • NIIXNVIH • DNIHSIlBHd 3MVM Z • 2 ur, X o -vV- S&fe } KEEPING YOUR SYSTEM HEALTHY A prescription for keeping your system fit by Jim Joyce and Douglas R. Merritt M ost of the lore about UNIX system ad¬ ministration passes from person to person as part of the general oral tradition for learning about the system. This article commits a collection of techni¬ ques to writing and demonstrates their usefulness with examples captured with Mark Horton’s script utility. Readers are encouraged to put the examples online and make them part of their system ad¬ ministration toolkits. CHOOSING AMONG SHELLS There are two major shells, or command inter¬ preters, available under UNIX. One is the standard UNIX shell, /bin/sh, often referred to as the Bourne shell for its author. Dr. Stephen R. Bourne. The other is the UC Berkeley C shell, /bin/csh, written by Bill Joy and enhanced by a number of others. Each shell excels at different tasks. The greatest advantage the Bourne shell enjoys over the C shell lies in its brevity and speed. Com¬ parable scripts run from four to six times faster under the Bourne shell on computer systems that do not use virtual memory for paging. Thus the stand¬ ard shell is better for developing system administra¬ tion shell scripts, such as the one in /etc/rc. Also, it is more portable than the C shell. Every UNIX system since Version 7 has the Bourne shell, though only systems with Berkeley enhancements have the C shell. Certain system commands, such as calendar (to be discussed below), are in fact Bourne shell scripts. The C shell, on the other hand, provides a bet¬ ter environment for program development and interactive system administration. Its history mechanism allows users to recall commands run during the current session. So if a problem surfaces Illustration by Brian Dunning SEPTEMBER 1984 UNIX REVIEW 27 HEALTHY SYSTEMS that might have been caused by a previously issued command, the built-in shell command: # history will list previously-issued commands for inspection. This feature alone makes it worthwhile to invoke the C shell, even when it is not the login shell for root. Some manufacturers make the C shell the login shell for the root account, with a history setting of 20. But for intense system maintenance work, such as moving user accounts or tuning the system for performance, a better setting would be: # set history = 100 The C shell will then remember the last 100 com¬ mands, a much more complete list. It is best to perform system administrative tasks in single-user mode. Single-user mode allows the ad¬ ministrator to operate as root under the Bourne shell. To switch to the C shell, enter: # csh # source /.csh to put the C shell’s tailoring to work for the root account. FILES THAT GROW There are five files in particular that can grow unnoticed to fill a disk. Their purpose is to help monitor activity on the system at points where security might be breached. They need to be trim¬ med so they do not become more cumbersome than useful. The files are listed in Figure 1. All users can access the file /usr/adm/wtmp by using the last command. For example, to find when jim was last logged in, enter: % last jim In our case, the result was: jim ttyd5 Mon Jul 9 09:10 still logged in jim ttyd5 Sun Jul 8 14:20 - 18:11 (03:51) jim console Sun Jul 8 13:34 - 13:35 (00:01) If an account that has presumably been inactive shows recent activity, you may have had an intruder. Another place to look for evidence of infiltration is in the system’s log of bad logins. Use of the who com¬ mand on the files in /usr/adm/date requires that the user either be in the /usr/adm/data directory or employ a full pathname. Hence, an outsider will likely attempt a number of bad login names before hitting on a correct one. To find all bad login names, enter: % who /usr/adm/data/badname or: % cd /usr/adm/data; who badname To see valid accounts for which bad passwords were entered: % who badpw or: % who /usr/adm/data/badpw Checking the contents of these files periodically may reveal attempts to breach system security. Some or all of the files shown in Figure 1 may be missing, and if so, they must be created manual¬ ly since the programs that write accounting data to them only add to existing files. File Purpose /usr/spoo1/uucp/LOGFILE Logs actions by the uucp system /usr/adm/wtmp Records all logins since the file's creation /usr/adm/da ta/badname Gives incorrect login names /usr/adm/da ta/oadpw Stores incorrect passwords entered for valid login names /usr/adm/data/tracet Logs troff usage Figure 1 — Five files that may need trimming. 28 UNIX REVIEW SEPTEMBER 1984 The file /usr/spool/uucp/LOGFILE should be owned by uucpadmin and belong to the uucpadmin group as well. The other files should be owned by bin , and should belong to the bin group. Clearly, each of the five files need to be write-protected from other users. Growing files can be trimmed as a matter of system maintenance by copying /dev/null to them just after an epoch-level dump of the file system they’re stored on. This way, the data is saved on the backup media before the files are trimmed — just in case they are needed later. SECURITY ISSUES # fsck ~S /dev/rgb0c /dev/rgb0c ** Phase 1 ** Phase 2 ** Phase 3 ** Phase 4 ** Phase 5 ** Phase 6 2330 files - Check Blocks and Sizes - Check Pathnames - Check Connectivity - Check Reference Counts - Check Free List (Ignored) - Salvage Free List 13089 blocks 4328 free ***** FILE SYSTEM WAS MODIFIED ***** # No one likes to think about security breaches, but if you have so much as one telephone line offer¬ ing a login to outsiders, you have a potential securi¬ ty breach, no matter how dependable and trusted the known users may be. Unwitting or unfriendly strangers may dial in by accident, and when they do, they should not have access to sensitive files. There should be no user login without a password. Precaution dictates that passwords not be words that can be found in a dictionary. Neither should they be nicknames, initials, spouse names, vehicle license plate identifications or or any other easily discovered word. A minimum of six characters should be used, including at least one non-alphabetic character. POINTERS ABOUT fsck The fsck program is an invaluable tool for system administrators, though its proper use is less than clear from reading standard documentation. It is reasonably smart and, under thoughtful guidance, will clear up many file system maladies. Here we present some additional benefits. Because a file system becomes more fragmented through the addition of new files and the deletion of old ones, system performance will slow down over time, a phenomenon especially noticeable to vi users. The best solution to file fragmentation is to perform a full dump and restor of the file system. But if the backup media is not totally reliable, there is the risk that some data may be lost. Thus it is not a good idea as a matter of course to tune up a file system with a full dump and restor. However, there is an option to the fsck com¬ mand, the -S option, that will conditionally reorganize the free list, as shown in Figure 2. The manual page for fsck shows a lower case -s option, which uncon¬ ditionally reorganizes the free list, but a cautious ap- Figure 2 — The workings of fsck — S. proach to such activities is best. Upper case S allows for user interaction and so serves as that cautious approach. Reorganizing the free list is a valuable and safe activity. Through the normal system activity of creating and deleting files, the free list becomes fragmented. New files created using the fragmented list stand a good chance of being fragmented themselves. Using the -S option for fsck is the best step short of doing a restor for allowing the system to make the best use of available space. Programs that use disk space for data buffering, such as vi re¬ spond more quickly after the free list has been reorganized. Among the options given on the manual page for fsck is the -y option. This option should never be used! Although fsck is an intelligent program and usually can be entrusted with fixing file system ir¬ regularities, there are circumstances in which it will become confused and suggest removing certain files it should not remove, such as / unix. The mere poten¬ tial of this occurring is reason enough to shun the -y option. Many UNIX systems can be left up round-the- clock for indefinite periods of time. The system on which this article was written has the record listed in Figure 3 for its last six reboots. This information was gathered by the command: % last reboot | head -6 For systems that are up for extended periods it is wise preventive maintenance to run fsck weekly to check the integrity of the file system. Despite its soundness as an operating system, UNIX does have lurking problems that affect the file system in unex- SEPTEMBER 1984 UNIX REVIEW 29 HEALTHY SYSTEMS reboot ~ Sun Jul 1 12:46 still logged in reboot ~ Wed Jun 27 19:12 - crash (3+17:34) reboot Wed J un 27 18:48 - crash (00:23) reboot ~ Mon Jun 18 18:17 - crash (9+00:31) reboot ~ Sat Jun 16 15:33 - crash (2+02:44) reboot Sat Jun 16 15:20 - crash (00:12) Figure 3 — A sample log of system startups. pected and unwelcome ways. Regular use of fsck for file system maintenance is much like flossing for dental hygiene. The calendar shell script was written by Doug Mcllroy at Bell Laboratories, and is worth study for the shell programming techniques it uses. USING CALENDAR The calendar utility is an electronic reminder service for important dates and appointments. As such, it can be a helpful tool to a system ad¬ ministrator. Although calendar does know about weekends, it does not know about holidays or events. However, date-stamped messages about holidays and scheduled activities affecting users can be stored in a file named calendar in the administrator’s login directory where the utility will find it. An entry in /usr/lib/crontab activates the calen¬ dar program once a day to mail users the messages they have stored in their own calendar files. A sam¬ ple crontab entry is: 0 4 * * * /bin/calendar -x which means that the program will be run each day at 4 am. The manual page for calendar incorrectly states that the date can be noted in several forms. On many systems, the only form the calendar program recognizes is that of month and day, such as “Jul 4” for “July 4.” A sample entry is: Jun 28 Alert users to 4th of July holiday hours Jun 29 Post one week notice of new dialup number USING FIND The hierarchical file system, one of the most powerful UNIX features, is also the root of much evil for users and administrators alike. Anyone ac¬ quainted with the system knows how trying it can be to locate a specific file in the midst of hundreds of subdirectories. The find command searches subdirectories for files with specified characteristics and can be used to search the entire file system. For instance, the following command finds a file named lstree.c where the full pathname is not known: % find / -name lstree.c -print /a/usr/doug/cutil/lstree.c % Figure 4 explains each of the arguments to this command. Note that the -print Hag is necessary to get any results printed. The default action for find is to do nothing with the files it finds, which is not usually what is wanted. Further, it says nothing at all when it cannot match a specification. This lack of communication can be confusing. All the same, find is a useful command. Argument Explanation / directory in which to start search -name look for file with following name lstree.c name to look for -print print names of any specification files that match Figure 4 — Analysis of command for finding a file whose pathname is unknown. 30 UNIX REVIEW SEPTEMBER 1984 Booth #1996-7 nco See us at Fall 84 November 14-18,1984 Las Vegas Convention Center Las Vegas, Nevada See us at UNIX SYSTEMS EXPO/84, Los Angeles, September 11-14, Booth #928 MISTRESS is the fully rela¬ tional database management system (RDBMS) for UNIX? 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 of 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 TOR. Circle No. 14 on Inquiry Card HEALTHY SYSTEMS Argument Explanation / directory in which to start search -name look for file with following name core name to look for -a time file must also have an access time as specified by the following argu¬ ment + 7 access time must be greater than or equal to 7 days -print print pathnames for any files that match specification Figure 5 — Analysis of a command for finding dated files. Argument Explanation / directory in which to start search -perm look for file with following per¬ missions -4000 set user id bit as specified in chown(2) -a conjunction of two specifications; no longer necessary but still often seen -user file must also be owned by follow¬ ing user root owner of file -print print results of search Figure 6 — Sleuthing for possible security breaches. 32 UNIX REVIEW SEPTEMBER 1984 An example follows for searching for files with a given name that may match several files: % find / -name core -print / a/usr/doug/cmisc/core / a/usr/doug/yacc/core /a/usr/mark/review/core /a/usr/dave/ubs.forms/core % This can be useful for finding files to delete when a system is critically low on disk space. In some in¬ stances a system may have dozens or even hundreds of old core files, which can waste megabytes of disk space. More often than not, core files that are more than a week old should be considered as prime candidates for removal, like so: % find / -name core -atime + 7 -print /a/usr/doug/yacc/core /a/usr/mark/review/core % An explanation of this command can be found in Figure 5. Another use of find is to look for all files on the system that are “suspicious,” such as files for which the set userid permission allows the user to become root — a security hold that could give unauthorized people superuser privileges. There are only a few UNIX utilities where the set userid permission will allow one to become root. Unfamiliar files showing this permission setting may indicate illicit activity on the system. See the box below for an example. An explanation of the command components can be found in Figure 6. The system administrator on the system from which this example was taken might want to discuss security issues with user doug. % find / -perm -4000 -a -user root -print /a/usr/doug/secret/she11 /Din/at /bin/mai1 /bin/mkdir /bin/mv /bin/newgrp /bin/passwd /bin/rmdir /bin/su /bin/rmail /bin/ipr.std /usr/bin/cu /usr/bin/mf0 /usr/bin/uf0 % Using find to locate security holes. FILES THAT ARE OLD The command shown in Figure 7 can be used to search for little-used files that are candidates for archiving. It will find and do a long listing of all files in jim’s account that have not been accessed in over 90 days. It may be desirable to ask users regularly to delete or archive old, seldom-accessed files. The Bourne shell script in Figure 8 will find all user files on the system that have not been accessed in 90 days, sending a mail message to their owners listing the filenames considered as candidates for archiving. The list of users in the script is obtained from /etc/passwd using sed. Standard system accounts are ignored using the shell’s case command. Each user’s home directory is tested to make sure it ex¬ ists before find is used to locate old files. The out¬ put from find is put in a temporary file. If this tem¬ porary file is not empty — that is, if find succeeded in finding files not accessed in 90 days — the list of old files is mailed to the owner. A message is then sent explaining the list of files. The mail is sent this way because the mail program displays the most recent mail message first. FINDING ZERO LENGTH FILES Zero length files actually do take up space in a file system. The directory entry consumes space, as do possible links and space for inode entries. Although such amounts of space are not large, they are clearly wasted. If the available inode entries are exhausted for a given file system, no new files can be created even if space for the data is available. To find zero length files, use a command like the follow¬ ing example: % find "'jim -size 0 -print / a/usr/jim/weekend/courses/titles /a/usr/jim/zero An explanation of the command can be found in Figure 9. Zero length files are safe to remove, and find can be used to do the job: % find~ jim -size 0 -exec /bin/rm “{} ” An explanation of the options can be found in Figure 10 . There is reason for using the two-step approach employed here for finding and removing zero length files. Various utilities, such as lpr and uucp use zero length files as a means of locking a device so that two or more utilities do not attempt to send output to the SEPTEMBER 1984 UNIX REVIEW 33 Introducing TPs Climb on the 32 - Nu Machine, bit NuBus now. The Nu Machine™ Computer. The first system in the Texas Instruments Nu Generation Com¬ puter family. The only system now available built on a modem 32-bit bus. The processor-independent NuBus™ architecture helps meet your advanced-technology design requirements today. And tomorrow. First high-performance 32-bit bus The NuBus technology, designed at M.I.T., is optimized for 32-hit data and address transfers. Its 37.5-Mbyte/sec bandwidth com¬ bines with an elegant arbitration scheme to ensure fast and fair data flow. Innovative, flexible architecture The NuBus design was developed to support sophisticated system architectures and eliminates the built-in obsolescence of processor- dependent systems. It lets you concentrate on developing applications, not architecture. Your significant investments are protected as new technologies develop. The Nu Machines open archi¬ tecture solves your make vs. buy dilemma. Multiple-processor con¬ figuration support combines with the NuBus high bandwidth, high- resolution graphic displays, cache memory, and high-speed disks to make the Nu Machine system attractive to sophisticated end-users, systems integrators, and OEMs in the engineering and scientific marketplace. Anticipating industry trends, the power and expandability of TI’s Nu Machine allow it to accept 32-bit processors of the future. Open system supporting industry standards 10-MHz 68010 processor support¬ ing a UNIX™-based operating system with enhancements for windowing and high-resolution displays. Those who want to design their own system processors and con¬ trollers can now license the NuBus design from Texas Instruments. Also, a NuBus-to-Multibus™ converter allows the use of exist¬ ing interface cards and peripherals from third parties. The system you can build on from now on Because its high performance and flexibility are designed for the long run, TI’s Nu Machine can be updated when other systems are outdated. And, Nu Machine computers are backed by TI’s service and customer-support network and by TI’s commitment to quality and reliability. To climb on the NuBus bandwagon, call toll-free: 1 -800-527-3500. Or write Texas Instruments Incorporated, P.O. Box 402430, Dept. DNA203UR Dallas, Texas 75240. Nu Machine and NuBus are trademarks of Texas Instruments Incorporated Multibus is a trademark of Intel Corporation System V/68 is a trademark of Motorola, Inc. UNIX is a trademark of Bell Laboratories Texas * Instruments Creating useful products and services for you. X M V/68 fe) (68010 ] V CPU ) TIs Nu Machine system is currently available with a Combining innovative NuBus architecture with advanced graphics, powerful peripherals, and UNIXTased software, TIs Nu Machine provides the outstanding performance and flexibility required by scientific and engineering systems designers. 27-7379 © 1984 TI HEALTHY SYSTEMS % find ~jim -rw-r~~r— -rw-r~~r~~ -rw-r —r — ~rw~r t> -atime +90 -exec Is -1 "{}" 1 jim 129 Mar 13 19:51 ./.login.ok 1 jim 754 Dec 23 1983 ./lasttest 1 jim 895 Feb 2 17:34 ./tao300s.c 1 jim 374 Apr 15 15:24 ./mail/bobt Argument Explana tion ~ j im directory in which to start search (jim's home directory) -atime look for file with following access time + 90 last access time must be greater tnan or equal to 90 days ago -exec execute the following shell command on each file that matches the preceding specification Is name of command to execute -1 argument to command (for long list¬ ing format) " {}" name of file which met the find specification; command will be run once for each matching file ll . II / a quoted semicolon ends the command specified by -exec Figure 7 — Searching for archive candidates. Argument Explanation ~ j im Tne directory in which to begin the search -size look for file with the following size 0 empty files, which are zero length -print print results of search Figure 9 — Analysis of a command for finding zero length files. device at the same time. These lock files should not be removed if a line printer is in use or uucp is active. System administration can be enhanced by a collection of techniques such as the ones described here. Our descriptions are meant to be thought- provoking — not exhaustive. This article is an adaptation of the chapter , “ Mak¬ ing System Administration More Productive , ” from In¬ ternational Technical Seminars' System Administration Manual , Copyright 1984 by International Technical Seminars , Inc., 520 Waller Street , San Francisco,CA 94117 ; 415/621-6415. ■ 36 UNIX REVIEW SEPTEMBER 1984 # moldy.oldies -- an administrative script to be run weekly # to search each user's file space for files that have not been # accessed in over 90 days. # (c) 1984 by International Technical Seminars, Inc. # 520 Waller St., San Francisco, CA 94117 (415) 621-6415. # Permission to copy is granted if this copyright notice is # included in its entirety. Adapted from tne /bin/calendar script # by Doug Mcllroy of Bell Laooratories. PATH=/bin:/usr/bin sed ' s/s]*):.*:): 1 read x do eval $x [*:]*$/y=2 z = l/ trap "/bin/rm /tmp/$z.$$; trap '' 0; exit" 0 1 2 3 13 15 case $z in adm) ; ; bin) ; ; check) ; ; daemon) ; ; root) ;; root2) ;; rootsh) ;; sys) ;; uucp) ;; uucpadm) ;; who) ;; *) if (test -s $y) then + + cd $y find . -atime +90 -print 2>/dev/null > /tmp/$z.$$ if (test -s /tmp/$z.$$) then mail $z < /tmp/$z.$$ mail $z <<++ Dear $z : The next mail message you see will contain names of moldy oldies you have not accessed in 90 days. Please examine these files to see if they can be archived. -- Your Friendly System Administrator f i f 1 /bin/rm /tmp/$z.$$ r r esac done Figure 8 — A shell script for finding old “moldy" files. Argument Explanation -exec execute the following command if a file is found that is zero length /bin/rm remove the file quoted braces that fdind replaces with the pathname of the file it found II . II t quoted semicolon required for the shell command Figure 10 — Analysis of a command for removing zero length files. SEPTEMBER 1984 UNIX REVIEW 37 LINKING UP WITH THE OUTSIDE WORLD An introduction to UUCP by Bob Toxen o fficially, UUCP is short for UNIX to UNIX copy program. But in addition to a program for co¬ pying files between UNIX computers, UUCP offers users a means of executing programs remotely and sending network mail. Because of this, I prefer to think of UUCP as meaning UNIX to UNIX com¬ munications package. The program to copy files is called uucp and works similarly to the cp utility. It takes two (or more) arguments and copies the first file (and any subsequent files) to the last filename (which may be a directory). Each argument, except the last, should be the name of a file and may be preceded by a system name. The system name should be separated from the filename by an exclamation mark ( ! ), pro¬ nounced by UNIX buffs as “bang.” For instance, to copy the file flight from your local system to one called xorn, give the command: % uucp -m -njill flight xorn\!~ jfli/flight or: $ uucp -m -njill flight xorn! ~jill/flight The first command line would be used with the C shell while the second would be used with the Bourne shell. As you might have guessed, I threw in a few tricks. First,the-m flag tells uucp to send you mail when the copy finishes. This is important because uucp merely queues up a request to do the copy. The copy operation itself may not occur for several hours depending on how uucp is configured (on both systems) and what phase the moon is in. The second trick I used, -njill, will cause uucp to send mail to the account called jill on the other system (named xorn) when the operation is done. Third, since I do not know Jill’s home directory path, I specified ~ jill. This will be converted to her home directory’s full pathname on xorn by uucp and so will work with both the C shell and the Bourne shell. C shell users must precede the ! separating the system name from the account name with a backslash (\) since C shell normally treats exclama¬ tion marks as special characters. SECURITY AND PERMISSIONS A common problem with using the uucp com¬ mand appears in the area of permissions. Not only must users tussle with the usual assortment of UNIX file system permissions — they must also thread their way through an additional group of re¬ quirements. The source file flight in our example. must be readable by everyone. Also, the directory it is in (our current directory in this case) and all direc¬ tories leading to it must be readable and executable by everyone. The destination file — if it exists — must also be writable by everyone. If a destination file does not exist, the directory in which you intend to create a new file must be writable by everyone. In any case, all directories leading to the file you create or modify must be readable and executable — just as the source directories must be. Most people do not want their login directories writable by everyone because if they were, anyone could remove files, either by accident or on purpose. I solve this problem by creating a subdirectory under my login directory called uucp, which I make writable by all. Also. I make sure that any confiden¬ tial files are not readable by others so as to prevent someone on another system from using the uucp command to copy confidential material to their system. Because many users are not computer security experts and do not want to worry about file permis¬ sions, many system administrators configure uucp to allow only file transfers to and from path¬ names beginning with /usr/spool. The directory /usr/spool/uucppublic, which is readable, writable and executable by all, is provided for users to send and receive files. Thus to send the file flight , one would give the commands: %chmod 755 flight %cp flight /usr/spool/uucppublic %uucp -m -njill uucp/flight xorn\!' uucp In this case, we assume the C shell is used. There should be an account called uucp on each system with a login directory of /usr/spool/uucppublic so that the C shell will know how to expand ~uucp on the local system. Any occurrences not expanded by the shell will be expanded by uucp. Jill would then enter: % mv ~uucp/flight . to move the file into her login directory. REMOTE PROGRAM EXECUTION The program called uux is used for remote pro¬ gram execution. You can invoke one program or you can invoke several by having the output of one pro¬ gram piped to the input of the next. Standard input and standard output may be redirected to and from files on other systems. For example, if you are on the SEPTEMBER 1984 UNIX REVIEW 39 USING UUCP system called sauron and you want to know who is logged into the system called xorn , you could issue the command: % uux M xorn\!who > sauron\! uucp/who.xorn” The program uux will cause the who command to be invoked on xorn and will accumulate the output in a temporary file before using uucp to transfer that file back to the file /usr/spool/uucppublic/who.xorn on sauron. Alternatively, you could mail the results back, like so: % uux M xorn\!who| rmail (sauron\!bob)” Note the parentheses around sauron\!bob to tell uux not to interpret it as an input file. Otherwise, uucp would see sauron\!bob as an argument to rmail. It would be instructive to issue the commands listed in Figure 1 and examine the results (even if your system is not configured to allow them). We can do more sophisticated operations — such as printing files from many systems — like so: % uux M xorn\!lpr sauron\. r bob/foo (iragon\!/usr/007/sphere” Most administrators only allow certain commands to be executed via uux for security reasons. Sending remote mail is very easy. To send mail to a remote system, simply give the system name and the account name separated by an exclamation mark. Thus, to send mail to jim on system its, give the command: % mail its\!jim What did you think of that talk? Pretty good, huh? I’ll be waiting to hear from you. Bob a d % Unlike the other commands, mail can send data through intermediate systems. Thus, I could give the command: % mail olympus\!ucbvax\!dual\!fair When will the next release of the net-news software package be ready? Will you be at UniOps? Bob a d % This will send the message to Olympus which will forward it to ucbvax , which in turn will forward it to dual , where it finally will be placed in the fair account. Under System V, the restrictions against using uucp to transfer files to and from systems other than those that talk directly to yours have been lifted. The file must originate in /usr/spool/uucppublic and be sent to the same directory on the destination system. These indirect transfers may be controlled with the ORIGFILE and FWDFILE files in /usr/lib/uucp so as to keep bad guys from getting into your system. NET ADDRESSES To send mail to someone, all you need to know is the path to that person’s system. Most people know the path from their system to one of the major mail exchanges, called backbone sites. The paths between these installations are well known so you should be able to derive a path to the system you are trying to send mail to if you can simply learn the path from it to one of the backbone sites. For example, my path from ucbvax is: ucbvax!Shasta!olympus!bob. If I want to send mail to someone whose path from ihnp4 is ihnp4!mitse!bonzo!ronnie, I would give the command: % mail Shasta\!ucbvax\!ihnp4\!mitse\!bonzo\!ronnie a d % The UUCP network is connected to various other networks. For example, Olympus is the gateway to the Silicon Graphics Ethernet, which has dozens of workstations, smart graphics terminals and VAXen communicating via IP/TCP and XNS at 10 Mbaud. The UUCP network is also tied into the ARPANET at numerous sites. Addresses are specified differently on ARPANET. On each ARPANET system, the paths to every other site are stored (there are far fewer ARPANET out¬ posts than UUCP sites, which numbered at least 3000 at last count). ARPANET users also use an at- sign ( @ ) instead of a bang character ( ! ) and put the user name to the left of the system name. Thus, an account called berch on a system call¬ ed LLL-TIS would be referenced as berch @LLL-TIS. %echo hello > "uucp/foo %uux "xorn\!echo sauron\!~uucp/foo > sauron\! uucp/one" %uux "xorn\!echo (sauron\f uucp/foo) > sauron\!~uucp/two" %uux "xorn\!ls -1 sauron\!~uiicp/roo > sauron\!"uucp/three n %uux "xorn\!ls -I (sauron\f uucp/foo) > sauron\!"uucp/four" %/usr/lib/uucp/uucico -rl -sxorn Figure 1 — Illustrative UUCP commands you may wish to try yourself. 40 UNIX REVIEW SEPTEMBER 1984 Circle No. 15 on Inquiry Card If I wanted to send mail to berch, I would have to send the letter to a gateway system that understands the ARPANET syntax. One path might be: % mail Shasta\!berch\@ LLL-TIS Here, we use Shasta as the gateway. Since our system, Olympus , does not understand the AR¬ PANET syntax, it just sends the whole mess to Shasta for sorting when it sees the ! after that site name. Note that a site does not actually have to be on the ARPANET to know how to deal with it. We could even teach Olympus to recognize at-signs and know that it talks to a station on the ARPANET (Shasta). We could then give the command: % mail berch @ LLL-TIS and the Olympus mailer could convert it to: % mail Shasta\!berch@ LLL-TIS But Olympus runs 4.2 BSD and does have the soft¬ ware to do this. A domain name is sometimes appended to the address. A domain, essentially, is the name of a net¬ work containing a number of systems. In mail’s “From” line, it is preceded by a period ( . ) and is usually listed in capital letters. Thus a letter might be from: olympus!bob@su-shasta.ARPA If you wanted to send mail to this person from your system you would throw away the .ARPA, knowing that su-Shasta is the ARPANET name for a gateway to the UUCP network whose UUCP name is Shasta. Thus it translates to: Shastalolympuslbob Note that the first form (without .ARPA) would be used to send mail from an ARPANET site. Bob Toxen is a member of the technical staff at Silicon Graphics , Inc. He has gained a reputation as a leading uucp expert and is responsible for ports of System V for the Zilog 8000 and System III for the Motorola 68000. ■ Your PC can now “speak” C when using ASIC-To-C Translator i Business Machines C ° r £ s .^°anciY , malks . lBM-W^!S.^ A pple computer, me- ■sasSsssss—— JM1 s BAS pomouters using P 7 .g running “if, o°i “if iiowe CM*. Money Orders,, ♦TERMCAP UNVEILED ♦ Excerpts from a wizard's handbook by Douglas R. Merritt When Bill Joy first wrote the vi editor at UC Berkeley, he hard¬ wired it to support only Lear Siegler ADM 3A terminals since they were the ones most common¬ ly used on campus at the time. Within a very short period of time, though, Joy was deluged with re¬ quests for vi support for many other terminals, and so termcap was born. Short for terminal capabili¬ ties, termcap is a database de¬ scribing the functions commonly performed by terminals. It allows vi (or rogue) to support a new type of terminal with only the addition of a few lines of cryptic description to the file /etc/termcap. Initially available only in Berkeley releases of UNIX, term- cap quickly spread to most UNIX systems. Yet another terminal capability database named term- info is on the horizon. Designed by Mark Horton, who maintained vi and termcap for a time at UC Berkeley, it is similar in many respects to termcap. But while terminfo may eventually sup¬ plant termcap, it is not yet in wide circulation, and so will not be ad¬ dressed in this article. Each terminal function described in termcap appears as a somewhat mnemonic two-letter capability name followed by a se¬ quence of characters the terminal recognizes as the description of a particular function. Each capabili¬ ty field for any given terminal is separated from other fields by col¬ ons. Most terminal descriptions have as many fields crammed on¬ to a single line as can possibly fit. The net effect is to cause termcap descriptions to resemble strongly ♦ the sequences of garbage characters sometimes seen on dialup terminals after phone lines have been hit by lightning. Though the entries do become more readable after a certain amount of practice, the problem of poor documentation remains. Most of it is still in first draft form and contains numerous omissions and errors. Writing and maintain¬ ing termcap definitions thus re¬ mains a black art. SCREEN EDIT FUNCTIONS Typical screen edit functions include insert line , delete line , insert character and delete character. Terminals that perform these functions are usually called “intelligent,” even if their behavior is otherwise moronic. Terminals without these features cannot be officially called “dumb” for the simple reason that Lear Siegler curiously opted to make the term a trademark and con¬ tinues to reserve the exclusive right of calling only their own ter¬ minals “dumb.” Thus we must use the clumsy term “non¬ in telligent” to describe terminals without editing features. This is not to be confused with the term “brain damaged,” which is re¬ served for terminals which behave in a painfully undesirable fashion regardless of innate intelligence. Edit functions are not essen¬ tial when using vi, but they are useful all the same since they can significantly speed editing opera¬ tions. This is of benefit not only to individual users, whose editing goes much faster, but to the system as a whole because of the lessened I/O requirements for most editing operations. For instance, vi cannot take advantage of the ability of a ter¬ minal to perform the delete line operation if that capability is not defined in the terminal’s termcap entry. Let’s say you delete the first line on the screen using vi on such a terminal; vi would then have to redraw the entire screen if it were to try emulating that operation. On most screens, redrawing means that 1920 characters need to be sent to the terminal for just that one operation. At 9600 baud, this takes two seconds to com¬ plete, so users obviously have much to gain from a proper term- cap entry. Less obvious is the waste of system time an improper entry causes, thus slowing system response to all users. Because of this problem, vi will mark a deleted line near the top of the screen with ‘@’ rather than redraw the entire screen. However, a delete line lower on the screen will cause vi to redraw the affected portions of the screen (if vi is operating at 9600 baud or 42 UNIX REVIEW SEPTEMBER 1984 Illustrations by Mark Macleod higher), meaning there still is some needless system overhead. (At 300 baud, vi will use the @ marker rather than redraw the screen.) When vi was first im¬ plemented, intelligent terminals were relatively expensive, so most people had non-intelligent ter¬ minals — or even dumb (Lear Siegler) models. Now that the costs of intelligent terminals have come down so far that many ter¬ minal manufacturers no longer of¬ fer non-intelligent CRTs, the pro¬ blem of supporting additional functionality is almost universal. For vi users, all that is re¬ quired is to make sure that term- cap supports the editing functions the terminal offers. Note that some terminals need to be put in a special mode (to be discussed later) to get some intelligent features to work. Generally, this is because those features are undesirable the rest of the time. When editing features are not available to vi, lines and screens are rewritten a character at a time. For this reason, it is often a good idea to debug termcap entries at a very slow speed (e.g. 150 baud) to insure you can see what is real¬ ly happening. The vi editor will notice the baud rate and optimize what it does to the screen to match, so something may work at a low baud rate but break at a higher one. Caveat emptor. FAKING IT If a terminal has an almost- but-not-quite-right operation, it is sometimes possible to get that feature to work by adding cleanup sequences to the appropriate termcap field. For instance, if in¬ sert line (:al:) does everything right except that it leaves the cur¬ sor on the original line rather than on the new line (the latter being what vi expects), then appending an upline sequence to the end of the insert line description will cause it to leave the cursor where vi expects it to be. If the terminal uses CTRL-T for its insert line and CTRL-U for upline , then a field like “:al= * T ~U:” would work. INSERT/DELETE MODE You can get almost as much mileage out of having just an in¬ sert line (:al:) feature as in having a full insert mode (:im: and :ic:), but both should be specified if your terminal has both. Note that even if your ter¬ minal has an insert mode requir¬ ing no additional insert character sequences, vi still expects at least a null insert character field (i.e. :ic =:). Similarly, if a terminal’s insert character sequence does not need to operate in a special insert mode , vi still expects at least a null insert mode begin/end field (i.e. :im = : and :ei =:). Perversely enough, this does not hold true for delete mode and delete character . If you have delete character ability, then you need to specify delete mode begin/end (:dm: and :ed:) only if they are necessary; vi does not care. Since it doesn’t hurt, it’s a good idea to include delete mode even if it’s left empty (i.e. :dm = : and :ed = :) for the sake of consistency with insert mode. Be sure to check whether ab¬ solute cursor motion works in in¬ sert mode. If so, specify :mi:. On certain terminals, the cursor mo¬ tion sequence means something different in insert mode than it does otherwise. The vi editor needs to use cursor motion in in¬ sert mode whenever insertions cause a need for screen updates elsewhere on the screen. If :mi: is not set, vi will need to turn off in¬ sert mode before doing the other screen updates. This usually does not cost much, but every little bit of optimization helps. As usual, if the terminal documentation does not mention whether this works or not, the easiest way to check is simply to try adding :mi: to the termcap entry. If strange results occur when characters inserted in the middle of a line cause the line to wrap, then :mi: should be removed from the entry. INSERT NULL vs BLANK If you define insert mode/in¬ sert character (:im: and :ic:), in¬ serts nulls (:in:) may need to be defined, depending on whether the terminal distinguishes be¬ tween typed blank spaces and untyped blanks (or nulls) on the screen. After clearing the screen, it will appear to be full of blanks, but the terminal may consider them to be nulls and treat them differently than the typed spaces. Such terminals will treat untyped blanks as “soft” spaces, and will feel free to delete them during insertion operations. Bill Joy recommends that the following procedure be used with the terminal in local mode (i.e. keystrokes echoed to the screen, but not transmitted to the system) to determine whether the inserts nulls (:in:) field should be includ¬ ed in your description: 1) Clear the screen 2) Type “abc—def” (where each indicates a local cursor motion to the right — that is, use of the right arrow key instead of a space character) 3) Use carriage return to posi- SEPTEMBER 1984 UNIX REVIEW 43 in TERMCAP UNVEILED tion the cursor at the start of the same line 4) Put the terminal in insert mode and type “ghi” 5a) If typing the “ghi” does not cause the three blank spaces to be collapsed (that is, if the spaces are preserv¬ ed and shifted to the right), you do not need :in: 5b) If typing the “ghi” causes the “abc” to shift over to the “def”, thus consuming the blank spaces, you should specify :in: TERMCAP GLOSSARY The following is an alpha¬ betical list of the termcap fields that define the use of a terminal’s edit functions: al - Add Line Insert new blank line (string) e.g. :al = \E ~R: This should open a new blank line before the line the cursor is located on, scrolling the rest of the screen down. If the terminal doesn’t do it that way, don’t specify :al:. The cursor should end up at the beginning of the new line. If the terminal leaves the cur¬ sor elsewhere, you may be able to fix it by adding cursor motion to the remainder of the :al: field. This can be used by vi to simulate reverse scroll on terminals that lack an explicit reverse scroll feature. See :cs:, :sr:; compare :dl: dc - Delete Character Delete character (string) e.g. :dc = \E ~A: If delete character needs a special mode which should not be on dur¬ ing normal editing, it may be turn¬ ed on via :dm: ( delete mode) and turned off via red: (end delete mode). Otherwise, just :dc: is enough. See the discussion under the “Insert/Delete Mode” sub¬ heading earlier in this article. See rdmr, :edr; compare :ic: 44 UNIX REVIEW SEPTEMBER 1984 dl - Delete Line Delete line (string) e.g. :dl = \E *B: This should scroll all lines below the cursor up, eliminating the cur¬ rent line. Don’t define :dl: if the terminal does delete line in a dif¬ ferent way. The vi editor does not use delete mode (rdmr) at all when it uses rdlr. See rdcr, :dm: dm - Delete Mode Enter delete mode (string) e.g. :dm = \EX: If specified, this is sent just prior to any delete character sequence (rdcr). You should define delete mode if your terminal needs to be in a special mode during delete character operations only — that is, if this mode should not be on ALL the time. Only delete character (rdcr) is used in conjuc- tion with :dm: under vi, so it is usually not necessary to worry about the finer points of the ter¬ minal’s behavior while in delete mode (for example, vi will avoid doing cursor motion while in delete mode). Use red: to specify how to turn the mode off again. See the discussion under the “Insert/Delete Mode” subheading earlier in this article. See red: ed - End Delete Leave delete mode (string) e.g. :ed = \EY: If delete mode (rdmr) is defined, end delete mode should also be defined so that vi will be able to turn it off again. Some terminals treat all cursor motion as a delete operation while in delete mode , so problems with this entry will generally be immediately ap¬ parent. See discussion under the ‘‘Insert/Delete Mode” subheading. See rdmr ei - End Insert Insert mode end (string) e.g. :ei = \E\200: This should be defined any time that insert mode is defined. Such vi operations as “change word” will cause insertion rather than replacement if this is not correct¬ ly defined. See discussion under the “Insert/Delete Mode” sub¬ heading. See also rim:, ricr ic - Insert Character Insert character (string) e.g. :ic = \EI: Note that insert mode (rim: and reir) must be defined whenever ricr is defined, and vice versa. If put¬ ting the terminal in insert mode is sufficient to have it insert characters, then define ricr as an empty field: “ric =An insert character (if defined) will be sent by vi before each and every character to be inserted; this is ex¬ pensive if not necessary. If it is necessary to send a sequence before each character to be in¬ serted, but it is not necessary to be in a special insert mode to do this, then define insert mode and end insert mode as empty fields: “:im = :” and “rei =:” Some ter¬ minals need to be in a special mode in order for insertion to work; specify this mode in rim: and reir only if the mode is inap¬ propriate for other vi operations: In microcomputers today, UniSoft sets the standard. AT&T has recently been advertising that their UNIX™ operating system will be the standard OS for microcomputers. That’s true. But if you want AT&T’s UNIX software on micros today, talk to UniSoft Systems. UniSoft has been delivering AT&T’s UNIX adapted for 68000-based microcomputers for two years. More than 75 different computer systems run the UniSoft software, UniPlus+.™ At each Bell release level, all these systems are object code compatible. This means that applications software developed on any UniPlus+ system will work on any other. This is where software portability pays off. UniSoft enhances Bell’s vanilla UNIX with the best features from the Berkeley BSD research version of the UNIX operating system. IP/TCP networking, record and file locking, and virtual memory from UniSoft turn UNIX into a commercial product. All this added value is still Bell-compatible. Don’t wait six months to get System V running on your hardware. UniSoft’s customers can ship it now. If you’re building or selling a 68000-based UNIX system, your operating system should come from UniSoft Systems, the UNIX experts. THE BERKELEY PORT AUTHORITY Circle No. 16 on Inquiry Card 739 Allston Way, Berkeley, CA 94710* (415) 644-1230 ‘UNIX is a trademark of Bell Laboratories TWX II 910 336-2145 • UUCP ucbvaxlunisoftlunisoft See us at UNIX SYSTEMS EXPO/84, Los Angeles, September 11-14 Booth #117 TERMCAP UNVEILED otherwise, specify that mode in visual start and visual end (:vs: and :ve:). See discussion under the “In¬ sert/Delete Mode” subheading. See :im:, rip:, :ei:, compare :dc:, :dm:, :ed: im - Insert Mode Begin insert mode (string) e.g. :\E P: When possible, this is preferable to using insert character. In any case :ic: must be specified (if only as a null field, i.e. :ic =:) when :im: is used. This is incorrectly specified as a boolean field in Chapter 5 of the UNIX Program¬ mer's Manual. See discussion under the ‘‘Insert/Delete Mode” subheading and under :ic: ( insert character). See :ei:, rip:, :mi:, ricr; compare :dm:, :dc: in - Inserts Null Insert mode distinguishes nulls on screen (boolean) e.g. :in: Some terminals fill empty areas on the screen with nulls after screen clears rather than with blanks. Though the two may look the same, they’re not. See discus¬ sion under the ‘‘Insert/Delete Mode” subheading. See :im: ip - Insert Pad Pad needed after inserted character in insert mode (special string) e.g. :ip=16*: This represents the amount of delay per inserted character in insert mode. It really should be used only for insert mode (:im:) since insert character (ricr) allows delay information to be included in its entry, whereas :im: does not. See :im:, :ic: mi - Move Insert Safe to move while in insert mode (boolean) e.g. :mi: Specify this if absolute cursor ad¬ dressing works while in insert mode so as to prevent vi from turning insert mode on and off every time it wants to move the cursor. The vi editor will move the # Concept AVT # Simple version with nothing but basic characteristics # and editing features # c5 j avt|HDS concept avt, 80 columns:\ :is=\E[l*q\E[2\041t\E[7\041t\E[=4;101;103;1191\ \E1=107;118;207h\E)1\E[1Q\EW\E[0\0720\07232\04lr\E[w\E2\r\n:\ :am:xn:bs:li#24:co# 8 0:cl=\E[H\E[J:cd = \E[J:ce=\E[K:\ :cm=\E[ %i %2;%2H:no=\E[H:nd=\E[C:up=\E [A:\ :al=\E[L:dl=\E[M:dc=\E[P:dm=:ed=:\ :im=\El:ei=\El:ic=:mi:\ :vs=\E[=119h:ve=\E[=1191: Lines 1 through 5 contain the basic capabilities that vi needs in order to work with any terminal. Each of these capabilities is defined in the ”UNIX Program¬ mers Manual ” in chapter 5 under ” Termcap. ” Note the :xn: field denoting a ”brain damaged” newline: the Concept AVT has automargins, but ignores a newline after it has automatically wrapped the cur¬ sor. The :xn: feature was added to termcap to sup¬ port Concept terminals in particular. Line 6 defines some of the more important editing features: add line (:al:) f delete line (:dl:) t delete character (:dc:). Note that null definitions were given for delete mode and end delete mode for consisten¬ cy with insert mode. Line 7 continues with insert mode (:im:), end insert mode (:ei:), insert character (:ic:), and move in insert mode The Concept AVT uses just insert mode with no insert character sequence, but vi requires a null definition for insert character anyway. Line 8 defines visual start (:vs:) and visual end (:ve:). The definitions given here cause the cursor to be a flashing block while in vi, and to be a flashing underline after leaving vi. The initialization sequence (:is:) also defines the cursor to be a flashing underline for consistency. Figure 1 —An annotated sample termcap entry (for a Concept AVT terminal). 46 UNIX REVIEW SEPTEMBER 1984 Circle No. 17 on Inquiry Card TM 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 fully 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. DOCUMENTPREPARATION 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. 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 See us at UNIX EXPO in New York City, 16*18, Booth #618 UNIX is a trademark of Bell labs EMERALD ONE is a trademark of Emerald City TERMCAP UNVEILED cursor whenever an insertion causes noninserted characters to scroll or wrap to the next line. See :im:; compare with :ms: ve - Visual End screen editor mode end (string) e.g. :ve = \EYw\Esl: Some terminals need to be put in special ’screen editing’ modes to have features such as :dc: work at all, but it may be undesirable to leave the terminal in this mode after leaving vi or any other screen-oriented program. This can be used to specify what mode the terminal should be returned to after screen editing has ended. Use this to turn off the editing modes that :vs: turns on, if necessary. See :vs:; compare with :ti:, :te: ...termcap thus remains a black art. vs - Visual Start screen editor mode begin (string) e.g. :ve = \EeE: Some terminals need to be put in special ‘screen editing’ modes to have features such as delete character and insert line , among others. Use this to put the ter¬ minal into appropriate modes for the duration of the vi session. See :ve:; compare with :ti:, :te: This article is an adaptation of excerpts taken from Doug Merritt's “Termcap Reference Manual , ” available from the Independent UNIX Bookstore, 520 Waller Street, San Francisco, CA 94117. Mr. Mer¬ ritt helped to debug termcap and contributed to the development of vi and curses while attending UC Berkeley in the mid-1970s. He cur¬ rently works as a consultant out of the offices of International Technical Seminars, Inc., 415/621-6415. ■ OFTECHNOLOGY .aronnn Computer Consoles, Inc. designs, * n DI1P . IVloUUVIU manufactures, markets, and services a variety of UIVIlA i 1 minicomputer-based fault-tolerant information systems. Located in Rochester, New York, we have all the cultural and educational advantages of a large metropolitan area as well as the ambience and scenic beauty of a small, relaxed town. SENIOR SYSTEM SPECIALIST You will be the lead designer and developer of advanced R&D projects that will extend CCI's PowerrM Series of fault-tolerant systems. An advanced degree with extensive experience in UNIX operating system development is required. Additional ex¬ perience with other operating systems and hardware system design is highly desirable. SENIOR SOFTWARE ENGINEER You will be responsible for the design and development of PERPOStm, a UNIX-compatible fault-tolerant operating system on the M68000 and 32-bit super-mini. We prefer a B.S.C.S. plus 3-5 years' related experience. You must have UNIX, "C", and OS internals experience. GROUP LEADER/SOFTWARE ENGINEERS You will be responsible for the design and implementation of data base applications and utilities for fault-tolerant operation system development. We prefer a technical degree plus a minimum of 2 years’ experience. Knowledge of “C”, UNIX and data struc¬ tures plus experience with data bases in a minicomputer Real Time or on-line environment are pluses. ‘UNIX is a trademark of Bell Labs. We offer challenging assignments, opportunities for growth, attractive compensation, and a benefits package that includes dental and profit sharing plans. Please send your confidential resume, including salary history and indicating position of interest to: COMPUTER CONSOLES INCORPORATED * , S. R. Hoskins Computer Consoles, Inc. 97 Humboldt Street Rochester, New York 14609 Equal Opportunity Employer M/F/HA/ Circle No. 18 on Inquiry Card 48 UNIX REVIEW SEPTEMBER 1984 MAINSAIL SPEAK MAINSAIL. BECAUSE NOT EVERYONE SPEAKS UNIX. Most computer programmers like the UNIX environment. It gives them a con¬ venient set of software development tools. There's one problem, however. Applications must often run on machines that don't have UNIX. That's where MAINSAIL comes in. MAINSAIL is a powerful program¬ ming language that can help cut your development time and eliminate soft¬ ware conversion costs. You’ll be able to take advantage of the development power of UNIX, while retaining the abil¬ ity to move to other systems. And you'll be amazed at how easy it is to learn this proven, versatile language. If you like UNIX, but need to keep your portability options open, just let us know. We'll show you how MAINSAIL can accelerate your development of portable, sophisticated application pro¬ grams—not only under UNIX, but under VAX/VMS®, VM/CMS®, and a variety of other operating systems. For details, contact us at: XIDAK, Inc., 530 Oak Grove Ave., Suite 101, Menlo Park, CA 94025, (415) 324-8745. UNIX is a trademark of Bell Laboratories. VAX/VMS is a trademark of Digital Equip. Corp VM/CMS is a trademark of IBM Corp Circle No. 19 on Inquiry Card UNIX operating systems. An ideal has been If you’ve been waiting for an ideal operating system, your wait is over. Now there’s HP-UX. It is Hewlett-Packard’s enhanced version of the industry-standard UNIX operating systems. And it’s available right now on a wide range of HP computer systems. Yes. It’s running on our MC68000-based machines and our powerful 32-bit systems, so you can pick the right computer for the job. There are extra features such as graphics and networking. Plus there’s a growing array of applications software available for you to take advantage of. And the HP-UX operating system is backed by our full service organization. As with each of our high-powered systems, we’re ready realized. to answer questions. Working with both end- users and OEMs, we’ll find the best solution for any particular application. Sound interesting? Call your local HP sales office right now about the HP-UX operating system. Or write to Hewlett-Packard, Attn. Pat Welch, Dept. 100194,19447 Pruneridge Ave., Cupertino, CA 95014. In Europe, con¬ tact Henk van Lammeren, Hewlett-Packard, Nederland B.V., Dept. 100194, P.O. Box 529, 1180 AM Amstelveen,The Netherlands. Productivity. Not promises. Whp% HEWLETT WWA PACKARD BD0242I UNIX is a trademark of AT&T Bell Laboratories Circle No. 20 on Inquiry Card Photos by Randy Becker Experts air their views about UNIX security A magazine devoted to system administration would hardly be complete without some remarks on system security. Un¬ fortunately, no single approach qualifying as the UNIX standard has yet surfaced. To get a grasp on the spectrum of security think¬ ing, UNIX REVIEW asked Dick Karpinski, manager of UNIX services at UC Berkeley to interview a sampling of top authorities. The responses from two, Ed Gould from Mt. Xinu, and Bob Morris of AT&T Bell Laboratories, are printed here. Next month, George Goble of Purdue University and Bob Chancer of Bell Labs will have their say. Karpinski, a Usenix member of long standing, has frequently been vocal about his own views on computer security. In shaping a series of open-ended questions on the topic, he drew on decades of his own work. The questions were kept essentially unchanged from one interview to the next to allow for easy comparisons. Ed Gould Many of Ed Gould’s views on UNIX security were formed during his years as system administra- or at UC Berkeley. Since then, Gould has moved to Mt. Xinu, where he now serves as the leading authority on the workings of the kernel. REVIEW: How much security is practical or possible? GOULD: Well, what is practical depends on your application. Almost anything is possible. For example, in the dialup case, there are devices that will restrict access by an additional level of password security. You dial up, this box answers and before it will connect the caller, it verifies some password access and perhaps, depending on what level of securi¬ ty you want, calls you back at a number already designated online. REVIEW: Those are called port protection devices , I think. GOULD: Right, and there are various manufacturers who make those things. To go even further in that same direction, there’s com¬ plete physical security. Security is always a trade-off between the cost of protection and the value of the data. If your data is sufficient¬ ly valuable, then you want to spend a lot to protect it. If your data is not very valuable, then it is not worth spending a lot to pro¬ tect. You can move up and down that cost/performance curve, depending on your needs. REVIEW: Do you see a big distinction between unauthorized disclosure and unauthorized modification? GOULD: In terms of what it costs to protect yourself: probably not. In terms of what that does to your system: yes, there is a difference 52 UNIX REVIEW SEPTEMBER 1984 and it really depends on what you are doing with your data. REVIEW: What is the biggest security concern you face? GOULD: I guess the biggest con¬ cern we face at Mt. Xinu is unauthorized disclosure of data that we are contractually obligated to protect — in par¬ ticular, the UNIX source. Beyond that, we have our own business data online but that is probably not valuable to too many other people. REVIEW: What measures do you recommend for dealing with these concerns? GOULD: Generally, I recom¬ mend that people use the UNIX file protection system in a fairly full way — that they decide at the outset what kind of default protec¬ tions they want for the file systems they create. I also advise them to be aware that they may want to restrict access to some files or grant additional access to others. From a system ad¬ ministrator’s point of view, they also need to be aware that in¬ dividual users will need to have their own personal userids so that they can be private when they want to be, but that they also need access to the shared files of whatever group they’re working with. Basically, all users should be educated about what they are tak¬ ing or giving away when they set the permissions. Generally, users will be responsible if they are shown how to protect themselves. REVIEW: Do you recommend anything beyond taking a look every once in a while to see how permissions are set? GOULD: No, I think that they are worth setting up right when you first build the system. Maybe then you make sure they stay right every now and then, but that doesn’t tend to change unless you get broken into. The UNIX protection scheme from sort of an academic, theoretical point of view is pretty good. It provides a fairly tight security model that is reasonably flexible. The biggest problem that it has is that the people who distribute UNIX systems operate in very open research en¬ vironments, so they distribute systems with permissions set in a very permissive way. When peo¬ ple get these systems, they don’t often go through to reset the per¬ missions to what is appropriate for their installations. REVIEW: How do you measure the costs of the security measures you employ? GOULD: Some of them are hard to measure. Some are easy. The hardware devices, of course, have All users should be educated about what they are taking or giving away when they set the permissions. a dollar price. But the intangible prices of protections are determin¬ ed by how much of a nuisance they are to users. REVIEW: Somebody pointed out to me that if an ordinary user without superuser privileges runs into permissions that are set wrong , it will generally take that person a day to find an ap¬ propriate person to set the permis¬ sions right. GOULD: Yes, I’m sure that is true in many situations. But that brings up one more thing that I would encourage people to do to protect themselves: never do anything as superuser that can be done in a different way. Superuser status is just too powerful. From two points, it is dangerous. One is that people make mistakes, so you want the user protection system to protect yourself from your own mistakes. If you make a mistake as superuser, the system won’t try to do anything to protect you. That is the biggest reason, but ob¬ viously there are also things that the superuser can do that you don’t necessarily want ordinary users to be doing routinely. When you have superuser permissions, you should be think¬ ing very clearly about what you are doing and why you are doing it because you are violating the system’s protection scheme and you’d best have a reason for it. It’s not good to get in the habit of doing things as superuser. Sometimes it’s a little easier to do it that way, but it’s a dangerous pattern to fall into. REVIEW: As we go through time in a given installation running UNIX , would you expect that those things that are found to be common superuser activities would themselves become encap¬ sulated in programs making minimal use of superuser powers? GOULD: Yes, that is usually a good idea. A lot of people don’t tend to do that, though. There are some fairly routine things that they will continue to do as superuser. Backups tend to be one of those. But it is not necessary. For example, a reasonable way to do file system dumps is to set someone up with an operator ac¬ count that has read permissions to the disks. Of course, you don’t normally want users to have read permissions to the disks because that in itself is a security violation. REVIEW: How much security is enough? GOULD: That again depends on the application. It is a price/securi¬ ty trade-off. The more security you have, the more difficult it often is to do things, so you need to trade that off against the value of your data. REVIEW: So you are really starting with the question of how much a breach of security would cost? GOULD: Right. Sometimes secu¬ rity is like insurance. You don’t want to buy more than you need, but you probably need some. The more you get, the more it costs. SEPTEMBER 1984 UNIX REVIEW 53 IT WILL GROW ON YOU MODULARITY EXTENDS TO DISK STORAGE. Compact 50 or 140 Mbyte Winchester modules simply plug in... four per cabinet. Optional external SMD drives are also supported. File backup utilizes Winchester cartridges, V 2 -inch magnetic tape, or both. Copyright, 1984, Convergent Technologies, Inc. CONFIGURABLE ACCORDING TO USER NEEDS. As many as six processors can be installed in each enclosure. CPU¬ intensive jobs utilize multiple Applications Processors. Systems with heavy disk usage can distribute this load among several File Processors. The number of user ports can be increased by adding more I/O Processors. MegaFrame. Now OEMs can offer a high-performance UNIX-based system that can't run out of performance. OEMS can now deal cost-effectively with the problems encountered when user applications produce computing demands that outstrip the capabilities of conventional systems. Convergent Technologies' MegaFrame is a revolutionary new UNIX-based super-minicom¬ puter—so innovative in its architecture that it rep¬ resents the ultimate in multiuser systems design. It grows exponentially from a system offering minicomputer-level performance to an enormously powerful engine serving as many as 128 users witn 36 parallel processors, 24 megaby¬ tes of RAM and gigabytes of disk storage. No other system can match the MegaFrame's potential for field expansion. It enables manufacturers and systems builders to keep pace with today's require¬ ments for more and more computing services... but not at the cost of discard¬ ing hardware or performing expensive CPU upgrades. MegaFrame's architectural break¬ through. Dependence on traditional sin¬ gle-CPU shared-logic architecture is the root of systems bottlenecks. Convergent's response: a novel sys¬ tem utilizing multiple specialized proces¬ sors to distribute workloads for optimum performance—even if user needs are un¬ predictable or subject to rapid change. MegaFrame's virtual memory Applications Processors each have a 32-bit CPU, up to 4 Mbytes of RAM and run a demand-paged version of UNIX System V. Up to 16 of them can operate in parallel. The File Processors effectively function as back-end machines providing DBMS, ISAM and other disk-related services. Up to six File Proces¬ sors each with four disks can operate in parallel. Terminal and Cluster Processors can also be added—the latter serving front-end communica¬ tions needs. They off-load communications from the other processors by running protocols such as SNA and X25 networks. Convergent Technologies Where great ideas come together MegaFrame's daisy-chained cabinets offer total expansion potential of up to 36 slots. OEMs configure the system needed for specific applica¬ tions simply by adding the correct number/com¬ bination of processors. Flexibility in applications development. Inclu¬ sion of one or more Applications Processors allows running UNIX System V. All standard UNIX tools are provided, along with COBOL, FORTRAN-77, BASIC interpreter and compiler, plus Pascal. The "least-cost solution" to serving a wide range of UNIX-systems needs, MegaFrame has won acceptance from OEMs in the U.S. and abroad. The uniqueness of its modular design, its versatil¬ ity in providing upgrade-path options and its price/performance advantages give it market-share potential of outstanding dimensions. The system that will grow on you starts at a very attractive price: about $20,000 for a system that effectively supports 16 users. Send now for a comprehensive Information Package including re¬ prints of magazine articles. It explains how Mega¬ Frame's growth potential can impact favorably on your plans for growth in the UNIX market. Convergent Technologies, Data Systems Division, 3055 Patrick Henry Drive, Santa Clara, CA 95050. Phone: 408/980-0850. Telex: 176-825. MiniFrame: the entry-level multiuser UNIX system. Starting at under $5,000 for a single-user system, Convergent's MiniFrame offers outstand¬ ing capabilities for small to medium sized organi¬ zations running large UNIX-based applications. Utilizing an MC68010 microprocessor operating at lOMhz, with no wait states, it pro¬ vides impressive CPU speed —com¬ parable to VAX™-11/750 running the AIM™ Benchmark. MiniFrame fea¬ tures virtual memory management, with demand-pagea implementa¬ tion of UNIX System V. It runs as many as eight terminals, with up to 50 Mbytes of integral mass storage. MiniFrame and MegaFrame are object-code compatible, allowing OEMs to offer a complete family of systems unrivaled in price/perfor¬ mance characteristics. MiniFrame and MegaFrame are trademarks of Convergent Technol¬ ogies, Inc. UNIX is a trademark of Bell Telephone Laboratories, Inc., VAX is a trademark of Digital Equipment Corp. Circle No. 21 on Inquiry Card SECURITY TALKS REVIEW: How would you know if you have too much? GOULD: It is hard to know if you had too much. You find that you had too little if you get broken in¬ to and you learn that you have too much when it impedes every¬ body’s work. REVIEW: Have you experienced any security breaches? GOULD: I certainly did at the university, but I haven’t here. At UC, we had someone who broke into the system more or less as a game to see if it could be done and then decided to be a good Samaritan and install the latest version of whatever it was that he could get his hands on. He wasn’t trying to be malicious, he was just trying to leave his mark on things to make sure people knew he had been there. REVIEW: Do you know of any security breaches that were in fact malicious? GOULD: I’ve never had any per¬ sonal experience with that. REVIEW: What do you see as the impact of installing UUCP? GOULD: UUCP is a potential security hole. Typically, as it’s distributed, it lets people copy anything into or out of your system within the realm of the file system permissions. Many systems allow almost everyone to read most files — especially the binaries and in some cases, the sources of things. It is fairly easy to restrict UUCP to its own spool¬ ing directory, and many people do that as soon as they get it, but it is distributed in a fairly open form. People have suggested that the right way to do things is to on¬ ly allow users to initiate file copies outwards from their own machines — never allowing out¬ side users to initiate outgoing copies. That has been suggested but not widely implemented. REVIEW: How about the impact of local area networks on system security? Image Network’s XROFF, right now, prints troff/ditroff documents on: ► VAX ► Pyramid * Plexus . PDP 11's ► Integrated Solutions * Amdahl * IBM-PC » 3B20 ► System 5 ► System III ► Berkeley 4.2 ► IS/WB >V7 . UTS » MS/DOS ► Xenix Xerox 2700 Xerox 8700 Xerox 9700 Diablo ink iet Diablo thermal Dec LNOIs Compugraphic 8400 A PS-5 typesetter at leading organizations from Berkeley to Murray Hill. Call or write with your requirements! Image Network, 770 Mahogany Lane, Sunnyvale CA 91086 (108)746—3754 This ad was set using Xroff on a Xerox 2700 laserprinter Circle No. 80 on Inquiry Card 56 UNIX REVIEW SEPTEMBER 1984 The intangible prices of protections are determined by how much of a nuisance they are to users. GOULD: It depends on what you think of as the system. If you think of it as one CPU, then a local area network has a fairly severe im¬ pact. If you think of it as the whole collection of machines on the net¬ work, then it has very little impact because you don’t really care what happens between the subpieces. REVIEW: But if there is an un¬ trusted machine that could be a promiscuous listener, then it might... GOULD: Yeah, if you have un¬ trusted machines on the network, then that’s a problem. A pro¬ miscuous listener can get at any of the data that transfers on the net. The only real way to deal with that is an encryption scheme, which as far as I know is offered by none of the existing networks, ex¬ cept perhaps as an option that the user can invoke before submitting any data. REVIEW: That leads right into my next question. What do you see as the future of security management? GOULD: Well, it’s always going to be around. People are always going to be concerned with their data, either because they have contractual obligations to protect it or because it’s proprietary and they want to protect their place in the market. We’re certainly not headed for a society where everybody shares everything with everyone else. If we were, then perhaps security issues would go away, but we’re not. I don’t see anyone developing any new kinds of security, though. REVIEW: But you mentioned encryption a minute ago. That's something that nobody's doing now. Do you see that happening at a later time? GOULD: Yeah. Encryption hard¬ ware is going to become part of networking systems at some point. There has been a lot of controversy about the existing en¬ cryption schemes. Many people believe that they are not adequate for reasonable protection and so aren’t even worth the very small price they usually cost. REVIEW: This is talking about the DES (Data Encryption Standard)? GOULD: Yeah, the existing DES is believed by many people to be a wholly inadequate encryption mechanism. The key is from a quarter to a half the size that it might reasonably be. The possibility of Trojan Horses in the encryption scheme has been rais¬ ed many times. The current DES hasn’t really been jumped on. But on the other hand, the financial community is encrypting the data it sends to automatic teller machines. REVIEW: What about “ capabili¬ ty ” schemes? GOULD:Most capability schemes have been fairly inefficient. One of the questions that tends to come up in the design of a protection scheme is: how does one revoke permission? One wants to be able to give permission to someone to access something and then be able to revoke it later if necessary. Typically, a capability is something you hand off to the user. It says, “Holding this thing gives access to that object.’’ It’s a key, but how do you re-key the lock? All the protection schemes that have been discussed have good points and bad points in areas like that. But they’re still active. There’s a lot of research being done in that sort of thing. REVIEW: What of the move of UNIX into the business marketplace? With it showing up on everybody's desk, do you see a big education problem coming? GOULD: Yeah, and I think that’s exactly the hard part of providing really good security. The number of people who now have to be educated about it is growing at an immense rate. Some installations may not want to put that respon¬ sibility for security on each in¬ dividual because any individual who doesn’t choose to comply might be able to compromise the entire system. REVIEW: Does this mean more courses, more seminars, more in- house training? GOULD: It means more inhouse training with a particular em¬ phasis on understanding what the existing protection scheme is and how to use it. That’s something that seems to be left out a lot now. People want to learn how to use the tools first. They want to learn how to edit their document or write their program or whatever. Security tends to be a later concern. It probably should be an early concern. REVIEW: Perhaps more splashy press coverage is necessary. Maybe the publicized break-ins accomplish some good. GOULD: There are two reasons to not consider people who break into systems as heroes. One is that what they’ve done is not very difficult. Also, even though they might ultimately be performing a service by making people tighten up their security, I don’t think it’s reasonable or appropriate to glorify that sort of activity. We wouldn’t encourage people to go around breaking into houses in order to convince people they should put better locks on their doors — even if all they did was walk up, open the door and leave. Continued to Page 60 YOU can print your manuals, proposals, forms... right in your own shop! Use your computer and our software (xroff) and fonts (we have 100's) with the laser printer, typesetter, inkjet or dot matrix printer of your choice. We can provide whatever equipment you don't already have, at a price less than you would think. Call or write for more information: Image Network 770 Mahogany Lane, Sunnyvale CA 94806 (408) 746-3754 This ad was set using XROFF on a Xerox 2700 laser printer Circle No. 80 on Inquiry Card SEPTEMBER 1984 UNIX REVIEW 57 What do you like better about the VISUAL 2000... its power or its versatility? Personally, I like its price! Never has a UNIX-based multi-user system given so much to so many for so little. Introducing the VISUAL 2000 The VISUAL 2000 is the full-featured system with the power and flexibility to support multiple users in real busi¬ ness applications at a surprisingly low cost per station. It can be used with inexpensive video terminals. Or as a database manager or file server for a cluster of intelligent workstations or PCs, including both the IBM® PC and VISUAL’s own lightweight, portable, totally IBM PC compatible COMMUTER. In all applications it offers greater performance, more flex¬ ibility, and lower cost than any other system in its class. Powerful Intel 286 processor The Intel 286 is today’s chip of choice for UNIX'“-based systems. Only the Intel 286 has on-chip memory man¬ agement, an instruction set optimized for multi-tasking, and the optional 287 numeric co-processor to speed up floating point by a factor of 10. What do these features mean to the VISUAL 2000 end user? Faster response time, more users supported, and lower system cost! Cost-effective one-board design A basic advantage of the VISUAL 2000 is its one-board base-level design. A single high-density board includes the 286 CPU, 512KB-2MB of RAM, controllers for Winchester, floppy, and streaming tape, an intelli¬ gent communications processor, six RS-232 ports, and a parallel printer port. Even a real-time clock with bat¬ tery backup. One-board design means higher performance, lower cost, and greater reliability than com¬ parable multi-board implementations. UNIX trademark Bell Labs/XENIX trademark Microsoft/IBM* trademark international Business Machines/COMMUTER trademark Visual Computer Incorporated/AT&T trademark American Telephone and Telegraph/RM/COBOL trademark Ryan-McFarland/TOM trademark The Office Manager/SOFTBOL trademark Omtool Corp./MicroFocus Level II COBOL trademark Microfocus/INFORMIX trademark Relational Database Systems/RealWorld trademark Real World Corp 120120 trademark Access Technology/XED trademark Computer Concepts Ltd. Configurability and Expandability: VISUAL gives you more The VISUAL 2000 spans a much wider range of configurability and expandability than other systems in its price class. Up to 16 independent users. 6 megabytes of RAM. 4 Win¬ chesters. Floppy. And streaming tape for simple, reliable disk backup. All in a small stand-up enclosure which looks right at home next to a desk. And if a fully expanded VISUAL 2000 isn’t enough, you can connect up to 254 VISUAL 2000s, PCs, and workstations in a local area network. Extensive system software simplifies system integration The VISUAL 2000 runs XENIX, Microsoft’s popular, enhanced ver¬ sion of UNIX, derived from UNIX under license from AT&T, and designed to be faster, more secure, and easier to use in business applications. And VISUAL has worked hard to simplify the system integrator’s job, by providing all the tools needed to deliver end-user applications with a minimum of effort. Languages such as C, SMC BASIC, RM/COBOL, TOM BASIC, SOFTBOL, and MicroFocus Level II COBOL, to provide instant com¬ patibility with hundreds of proven business application programs. Other system-building tools, like the INFORMIX database manage¬ ment system and RealWorld modular accounting system. And productivity software, such as the 20/20 integrated spread¬ sheet and XED office-grade word processor. The Bottom Line High performance. Superior flex¬ ibility. Extensive software. And low cost.. .VISUAL 2000 systems start at under $10,000, suggested list. No one gives you more in a UNIX- based multi-user system. Whether you’re an OEM, system house, distributor, or end-user, call today for further information on the VISUAL 2000 and see for yourself! VISUAL See for yourself Visual Technology Incorporated 540 Main Street, Tewksbury, MA 01876 Telephone (617) 851-5000. Telex 951-539 REGIONAL OFFICES: Northwest: Southwest: North Central: South Central: Northeast: Southeast: (415) 490-1482 (213) 534-0200 (513) 435-7044 214) 255-8538 (201) 528-8633 (301) 924-5330 Circle No. 22 on Inquiry Card SECURITY TALKS Bob Morris is an AT&T Bell Laboratories mathematician noted for his research in computer security. He currently supervises Bell Lab’s Signal Processor Systems Engineering Division in Whippany, NJ. REVIEW: How much security is practical or possible, and ultimate¬ ly at what cost? MORRIS: Well, I think a great deal is possible. I certainly know of a number of places where I couldn’t possibly break in, steal information, get unauthorized ac¬ cess, plant Trojan Horses or do anything of the sort. They’re just too good for that. REVIEW: How do they do that? MORRIS: One way is to discon¬ nect all the telephone lines. You can put the computer in a shield¬ ed room and put a guard at the door. For example, several of our country’s intelligence agencies use UNIX on a timesharing basis. They have no dial in lines, and the computer is guarded. You can’t get at it. Many large companies protect their payroll. Accounts Receiv¬ able, Accounts Payable and Per¬ sonnel files in exactly the same manner. REVIEW: What about leased line access? That, of course, is subject to taps if the line goes out of a physically secure area. MORRIS: In all of the cases I know about, that’s true. All classi¬ fied information that goes outside a secure area must be protected either by cryptography or a gas- filled line. That’s universal in the classified information area. REVIEW: Now, when you do that, what are the costs? MORRIS: I don’t think a pressur¬ ized line costs more than ten to twenty dollars a foot. It’s hard to say exactly what the cost is 60 UNIX REVIEW SEPTEMBER 1984 Bob Morris because another cost is preventing or making it difficult or expensive for authorized people to get access. For example, at an intelli¬ gence agency, you don’t expect that your employees will be work¬ ing on their files throughout the evening. It’s also quite difficult and expensive to transfer informa¬ tion from one agency to another. There is both an investment cost and an operating cost. My attitude is that computer and in¬ formation security is primarily an economic problem and that the keys to it are almost completely administrative, not technical. They don’t have to do with cryptography or jazzy new pro¬ grams or anything like that. They mostly have to do with adminis¬ trative tradeoff studies of setting and enforcing policies. Someone has to sit down and decide these cost tradeoffs. Once that’s done, the administrators will at least have the guidelines they need to institute and enforce the policies. Now there are systems that can be made secure to a very high degree. For example, there are systems that will not accept logins by incoming telephone calls. If a caller says who he is, the com¬ puter will dial back a telephone number already stored in memory that corresponds to the person’s name. Another technique which is actually used is cryptography, which is very expensive. REVIEW: That's expensive, but presumably the advent of silicon implementations of serious en¬ cryption algorithms will make that cheaper. MORRIS: Oh, sure, but I’m not talking about chip cost. I’m never talking about chip cost. I’m talk¬ ing about administrative cost. How do you distribute crypto¬ graphic keys? How do you gener¬ ate them? How do you protect them? The cost is administrative. Understand that there are levels of security that are amen¬ able. You measure the cost and you decide what level you want for your information. To do this job, you assess the exposure: what’s the nature of the information, and what’s the risk? Take for example a company like an international pharmaceutical firm, where the director’s office necessarily assumes a personal criminal responsibility for safeguarding much of the information about the company’s international opera¬ tions. There are substantial penalties under this. There are also financial risks for the com¬ pany if its information is stolen by competitors. REVIEW: What's the biggest security concern or problem that you face? MORRIS: Inadequate administra¬ tive control. REVIEW: What measures do you recommend for these concerns? MORRIS: I think you could guess my answer. Well, let me tell you. First, an awareness of the problem on the part of top management. Continued, to Page 98 WHAT YOU DON’T KNOW ABOUT UMX CAN STUNT YOUR GROWTH. If your business depends upon com¬ puters and you do not know how UNIX will allow it to grow, your computer system could be threatened by obsolescence. However, if you do know about the explosive emergence of UNIX as an industry standard for business, engineering, and scien¬ tific computers, as well as a multi-user and multi-tasking environment, you’ll stand to reap extraordinary user benefits. Benefits that free you from the tyranny of dependence on a single hardware manufacturer. Protect your investments in software when you want to upgrade hard¬ ware. In short, the benefits of UNIX will grant you a freedom of choice that you never had before. UNIX SYSTEMS EXPO/84 offers an unprecedented opportunity for business man¬ agers, information systems professionals, and all others with a need to better understand the full impact of UNIX. Over 150 of the industry’s leading and most innovative companies will be exhibiting the latest hardware and software products. More than forty informative sessions will be offered and oriented to issues that are of prime concern to current and prospective users of UNIX-based systems. The choice is yours. You can be con¬ tent with your understanding of computer technology as it is. Or you can learn every¬ thing you need to know about UNIX. And grow. Early Bird Registration will be held Monday, September 10, from 3:00 p.m. to 8:00 p.m. Or register during show hours: Tuesday, September 11, 11:00 a.m. to 6:00 p.m. Wednesday, September 12, 10:00 a.m. to 6:00 p.m. Thursday, September 13, 10:00 a.m. to 6:00 p.m. Friday, September 14, 10:00 a.m. to 5:00 p.m. For information, call (East Coast Office) 617-965-8350 or (West Coast Office) 415-364-4294. September 11-14,1984 Los Angeles Convention Center An exclusive production of Computer Faire, Inc. A Prentice-Hall Company *L'NIX is a trademark of AT&T Bell Laboratories Circle No. 23 on Inquiry Card Rememberances that confirm Murphy was an optimist by Dr. Greg Chesson Two days before the Big Deadline, the programmers began to stir. One day later, they got serious, as programmers always do on the Day Before. Little did they know they were headed for the Twilight Zone of computer operations: the Power Outage. On this occasion, the building electricians ‘lost’ one phase of computer room power while working on a distribution panel. Since the computer systems were protected by a power monitor, the accident should have caused an immediate system shutdown. But the power monitor had recently been cutting off the com¬ puter systems for no apparent reason and the fail-safe controls on the power system had been dis¬ abled by the computer vendor’s field engineer. So instead of a clean computer shutdown, there was a mild disaster. One of the disk drives, the one with THE im¬ portant data, was left scrambled by the operating system, and some memory boards developed parity errors when the power came back on. But, perhaps worst Illustration by Victor von Beck of all, the cappuccino machine was unusable while electrical work continued. You probably know what hap¬ pened next. Programmers and documenters alike left the building to find cappuccino and fret about the Big Deadline. The system administrator, meanwhile, stayed behind to put things back together and answer phone calls from the programmers. This kind of story should be as familiar as Murphy’s Law to anyone who has ever used a com¬ puter system and had a produc¬ tion deadline. As system horror stories go, this one is mild. But it illustrates the basic ingredient of unexpected — although perhaps avoidable — computer failure mix¬ ed with a little black humor. GREMLINS AT WORK System disasters frequently involve disk drives. Classic stories often recount the moving of a crashed pack to a good drive, or the use of good packs on damaged drives, or some combination thereof. More mysterious than the disk crash is the disk system that SEPTEMBER 1984 UNIX REVIEW 63 HORROR STORIES acts as though it has had a head crash but is in fact all right. One symptom of a minor head crash is gradual loss of the ability to read or write portions of the disk sur¬ face. Ponder for a moment your disks that appear to be suffering head crashes, but are in fact sim¬ ply losing data. This very thing happened to me last year. We bought some new disk packs for a 300 MB disk system that were expensive and guaran¬ teed to be error-free at the bit level. After formatting and testing the packs, it seemed the claims of the manufacturer were correct. But after about two weeks use, we started to get header errors on one of the new packs. Fortunately, there were good tape backups and spare disk packs. After the com¬ puter vendor’s field engineer in¬ spected the drive and declared it in good health, we were ready to forge ahead with another new pack. But about two weeks later, the problem returned and the same recovery procedure was followed. This time the field engineer gave us some static about not using disk packs pur¬ chased from his company. This was especially irritating since we knew the packs we were buying were of better quality than the ones we could get from his company. After about two months of continually losing data in this way, we were reasonably sure something was wrong with the disk drive. We were able to see a pattern in the errors: the disap¬ pearing data clustered under the same head. Mysteriously, though, the head was normal. Then we noticed that the failing disk sec¬ tors were all related to files that had not been accessed for about two weeks prior to the disk “crash.” After appeals and sacrifices to the field engineering gods, we con¬ veyed this new information to a field engineering supervisor who really understood this piece of equipment. A long evening with test equipment and diagnostics led him to the discovery that a fail¬ ing diode on a current-switching card was applying a very light write current at all times to one of the disk heads. Everything underneath this particular head was subject to being erased, with If a new system caretaker cannot find all the legacies that have been left behind, they will announce themselves soon enough. about two weeks being necessary to complete the job. Only fre¬ quently written disk blocks were immune to the gradual erasure process. This story has the elements of a “classic” because it combines an obviously failing piece of equip¬ ment with the woeful inadequacy of system diagnostics. Program¬ mers and system administrators alike cringed in the certain knowledge that every two weeks they would have to go through the painful process of restoring data from tapes. The process was repeated over several months, distinguishing it from the two tales of unique system crashes I’m about to unfold. TABLE AND CHAIR SHUTDOWNS We once had a cheap disk controller that was a thin, flat box mounted in a conventional 19-inch rack on sliding rails. Cables plugged into the rear of the controller led to the disks. The controller was located at about waist height for easy access. One afternoon UNIX sudden¬ ly stopped on the system this con¬ troller operated. We trooped into the computer room to see what had happened and discovered that one of the gang had pulled the controller out of the rack because it looked like a useful table. The disk cables fell off the rear of the box — there was no strain relief — and the file system slowed by quite a bit. We fastened things down a little better after that. On another occasion, I was in a computer room, sitting at a con¬ sole while writing some tapes. There was but one chair in the room. And so, when a colleague came into the room to chat, he began to lean against the main¬ frame, watching what I was typing as we talked. He gradually began to “sit” lower and lower until his head was about at the same level as mine. At about this time, UNIX stopped. My friend had sat on the halt/start switches of a DEC 11/70. THE DIAGNOSTIC BLUES In the early days of UNIX, field engineers would assume that an unattended machine was idle. This was a natural assumption because in those days, timeshar¬ ing on a minicomputer was a new concept. Far too often, a field engineer would walk up to a sup¬ posedly idle CPU, load a diagnos¬ tic tape and halt the machine to begin running diagnostics. Short¬ ly thereafter, he would be basking in the consternation of a swarm of 64 UNIX REVIEW SEPTEMBER 1984 angry programmers. Times have changed, but the problems remain. We once had a computer room full of equipment from manufacturer A. Not being com¬ pletely satisfied with what vendor A was offering, we had also pur¬ chased a machine from vendor B for research and evaluation. The sales and maintenance people from vendor A derived pleasure from any obstacles they could place in the path of vendor B. This was perhaps best illustrated one morning when a field engineer from vendor A working in our machine room noticed a malfunc¬ tioning memory board in the B machine begin to heat and generate black smoke. He waited until it was pretty well smoked before coming out of the machine room to announce, “I think your other machine is on fire.” He was just trying to help. FIRE, FIREI Stories of computer equip¬ ment burning are rare, so here’s one that is a personal favorite because it involves a legacy I left behind in graduate school. “Legacy” in this case refers to a hardware or software item that has been around so long that its presence is not generally noticed or even known to its heirs. As it happened we had a UNIX machine with 16 asynchronous ports and no funds for expansion. I had an idea for doubling the number of asynchronous terminal lines on our machine that involved making little circuit cards that would use one bit of a byte on a serial line to submultiplex the line. Each circuit card had three ter¬ minal connectors: one went to the computer and the other two each went to a terminal. An open frame chassis holding 16 little circuit cards was constructed and placed under the raised flooring in a remote area of the computer facili¬ ty. The existing device driver was fiddled with to handle the extra terminals, and in due course we had a 32-port system. This system was still working several years after the people who built and installed it had left. But then came one fateful day when somebody’s terminal didn’t work. In the course of finding out why, the cable continuity between the • Powerful/Easy to Use • Visual Programming Capability with: Application Generator Integrated Report Writer Integrated Business Graphics • Integrated Data Dictionary • Non-Procedural Query Language • Exclusive Networking Capability • Supported Around the Clock AT&T INGRES is now available on the 3B5 and AT&T INGRES/CS on the 3B2! VAX and VMS are trademarks of Digital Equipment Corp MC68000 is a trademark ot Motorola Corp UNIX is a trademark of 8ell Laboratories Relational Technology Inc. 2855 Telegraph Avenue 415 rk 845 y -1700 94705 ° rcle N °' 24 ° n ' nquiry Card See us at UNIX SYSTEMS EXPO/84, Los Angeles, September 12-14, Booth #150 and at UNIX EXPO, New York, October 16-18, Booth #312 SEPTEMBER 1984 UNIX REVIEW 65 m HORROR STORIES terminal and computer room was tested. Of course the cable for the unhappy terminal could not be identified from among the 16 leading into the computer. So at some point during the discovery process, there was a great deal of pulling and yanking of cables. In the process, the open frame circuit card assembly and its power supp¬ ly were apparently put into con¬ tact with metal floor supports. By the time our forgotten assembly was pulled from the depths, it had been reduced to a gooey, smoking mess. I heard my name was ac¬ tually remembered that day. One moral to this story is that if a new system caretaker cannot find all the legacies that have been left behind, they will announce themselves soon enough. Another observation about all the stories offered here is that they are based on “old” technology. But don’t think for a moment that new technology is free of problems. I recall the confusion that resulted when our Ethernet cable was unknowingly severed when a tap was installed. The echoes from the unterminated line crashed some computers, leading us to think for a while that something was wrong with our machines. The real story here is that complex systems and complex humans will continue to provide grist for the horror story mill. Dr. Greg Chesson serves on the Editorial Review Board of UNIX REVIEW and is presently a Senior Scientist at Silicon Graphics, Inc., in Mountain View, CA. In the distant past he worked as a drummer in the Woody Herman Band and with the C. C. Riders. While a member of the Computer Systems Research Department at Bell Laboratories from 1977 to 1982, Dr. Chesson developed the packet driver protocol used by uucp and the mpx files in the Seventh Edition of UNIX as well as the original protocols and software implementations for the Datakit net¬ work. At Silicon Graphics, he has implemented XNS and other net¬ work protocols and is currently developing new technologies. ■ Outstanding Learning - n Captivates , » < Motivates ^ And it saves you money. user TREin/nn coRPORarmn CALL NOW (408) 370-9710 591 W. Hamilton Ave. • Campbell, CA 95008 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 Circle No. 63 on Inquiry Card Scientific Placement, Inc. Unix is a trademark of Bell Labs ^ Circle No. 26 on Inquiry Card 66 UNIX REVIEW SEPTEMBER 1984 Select your training medium according to the type of training you prefer and the number of people to be trained. VIDEO-BASED TRAINING. The Computer Technology Group’s Video-Based Training integrates professionally de¬ veloped and produced video and text material, as well as hands-on exercises, into complete training programs. Our courses are produced with the highest standards of video quality, applying the latest techniques of instructional design in¬ cluding the use of computer graphics and animation techniques to compress learning time. The students’ time is not wasted with the ‘ camera at the back of the classroom” or “chalk talk” approach which is so inefficient, and often ineffective, in transfer¬ ring skills. Our Video-Based Training courses are completely self-contained, including the hardware-independent hands-on exercises. All you need is a video cassette player. Number of Modules COURSE Video-Based Interactive Computers at Work UNIX—An Executive Perspective UNIX Overview UNIX Fundamentals ‘C’ Language Programming INTERACTIVE VIDEODISC TRAINING. Our new UNIX Videodisc Training Curriculum combines the benefits of our Video-Based Training with the flexibility of microcomputer access. Designed as a one-on-one tutor, our interactive system asses¬ ses the training needs of each student and dynamically tailors the training to his/her specific needs, thus eliminating redundant training. Through engaging exercises and interactive video, we are able to increase student comprehension while reducing train¬ ing time. Developed by the Computer Technology Group and Interactive Training Systems, the curriculum uses the latest laser videodisc technology—including IBM PC, color moni¬ tor and Interactive Training System Controller. PUBLIC AND IN-HOUSE SEMINARS. Both public and in-house seminars are offered on a wide variety of UNIX and ‘C’ Language subjects, including: UNIX Overview • UNIX Fundamentals for Non-Programmers • UNIX Fundamentals for Programmers • Shell as a Command Language • C Language Programming • Shell Programming • Using Advanced UNIX Commands • UNIX Internals • UNIX Administra¬ tion • Advanced ‘C Programming Workshop • Advanced ‘C’ Programming Under UNIX • Berkeley UNIX Fundamentals and “csh” Shell. Call toll-free: (800) 323-UNIX or in IL (312) 987-4082 310 S. Michigan Ave., Chicago. IL 60604 COMPUTER" TECHNOLOGY GROUP Telemedia, Inc. TM UNIX is a Trademark of Bell Laboratories Circle No. 64 on Inquiry Card INDUSTRY INSIDER Five more roses by Mark G. Sobell The cover for the brochure for IBM’s “Personal Computer In¬ teractive Executive” (PC/IX) depicts a single rose standing in a vase. Add five more roses and you have the cover for the new IBM “Virtual Machine Interactive Ex¬ ecutive” (VM/IX) brochure. Preliminary reports indicate that similarities between the two systems don’t stop with the manual covers. After all, PC/IX and VM/IX are both versions of System III ported by Interactive Systems Corporation (ISC). VM/IX runs on IBM’s main¬ frame System/370 under the host operating system, VM/SP. This is IBM’s fourth UNIX system in what appears to be a coordinated thrust into the UNIX market. Com¬ patibility with PC/IX provides users with a migration path: a con¬ sistent operating environment from micro to mainframe. Although not as comprehensive, this path provides an alternative to the AT&T 3B line of machines. And it may grow more com¬ prehensive yet: look to PC/XT 370, a PC capable of serving as a workstation for an IBM 370, to communicate directly with VM/IX in the not-too-distant future. IBM cautions that VM/IX is a controlled release available only on a limited basis, but there can be little doubt of where it’s head¬ ed. One of the limiting factors cited by IBM is general lack of technical experience with the pro¬ duct at local IBM branch offices. As IBM technical representatives learn more, VM/IX is likely to become more widely available. Of necessity, IBM has packag¬ ed the System/370 with a Series/1 front-end processor to assist in communications. The Sys¬ tem/370 can only accept syn¬ chronous, half-duplex, EBCDIC communications, but the Series/1 interface allows VM/IX users to utilize asynchronous, full-duplex, ASCII lines. One puzzling question that arises about this UNIX port, though, is: “Why did IBM go with System III and not System V UNIX?” There has been specula¬ tion that IBM is trying to establish System III as the standard in the face of AT&T’s System V push. What’s more likely is that ISC and IBM could not get their hands on a copy of System V when the port was started. If this is the case and sales of VM/IX go well, IBM will probably be announcing an upgrade to System V as soon as ISC is able to complete the port. VM/IX itself is plain old (old?) System III without any icing. It contains no Berkeley enhance¬ ments (no vi, no Cshell, no more, no Berkeley mail). But, in addition to good old ed, ISC has provided INed as a system editor. The lpr printer spooler, meanwhile, has been replaced with a table-driven, general-purpose spooler named print that you can use to queue any output or input for any device. An important area not ad¬ dressed by the VM/IX release is 68 UNIX REVIEW SEPTEMBER 1984 Circle No. 28 on Inquiry Card THE CODATA DIFFERENCE A Major Improvement in OEM Microcomputers. The CODATA 3300 is a powerful 16-bit, 68000-based, MULTIBUS system that can effectively accom¬ modate up to ten users. It’s a com¬ plete UNIX system that runs hill ANSI standard FORTRAN-77, RM/ COBOL, BASIC+, SMC BASIC, APL, and PASCAL.Tlie 3300 provides up to 33 megabytes of unformatted on-line storage via an integrated, high speed Winchester drive, and a removable, quad-density 5-1/4" floppy disc system. The 3300 fea¬ tures 320 Kbytes of parity pro¬ tected RAM. An expanded CODATA 3300, with 84 megabytes of disc storage is priced at S13,500.The 3300 is also available as a 12-megabyte system for as low as S7,800. LET US SHOW YOU THE CODATA DIFFERENCE. Write or call us for more information. Tith so many microcom- puters on the market, and v* with each manufacturer claiming to have the solutions to everyone’s problems, why are more and more OEM users choosing CODATA? Very simply because the CODAIA 3300 works! That’s an important part of what we call THE CODATA DIFFERENCE - a refreshing, new concept in OEM marketing. More performance...Lower price...Extended warranty. We’ve increased the performance of die CODATA 3300 and, at the same time, we’ve lowered die price. That means our CODATA multi¬ user, multi-tasking 16-bit computer systems have price/performance ratios nobody else can match. We’re so confident in our system’s integ¬ rity that we’ve extended die war¬ ranty on every CODATA 3300 to 180 days. That’s die longest war¬ ranty 7 in die business and, let’s face it, you’ve got to be pretty sure of your product to guarantee it for six kill months. We’re sure. These are more elements of THE CODATA DIFFERENCE. An uncomplicated pricing policy. We have only two price sheets: one for suggested retail, the other for OEM prices. Simple, straight¬ forward, easy-to-understand. Be¬ yond that, diere are no quantity commitments, no bill-backs, no hassles. Full support and technical assistance if needed. Our customers select the CODATA 3300 because it fulfills dieir needs, because it does what we say it will do, and because we have taken great pains to assure that it is functionally simple and capable of performing its assigned tasks widi no problems. But, if technical support is required it’s only as far away as your phone and available at a moments notice via our TOLL FREE number during normal busi¬ ness hours in every 7 U.S. time zone. A multi-user, 33-megabyte system for only $ 9 , 600 . CONTIL CODATA 285 North Wolfe Road, Sunnyvale, CA 94086 1-800-521-6543. In California: 1-800-221-2265 KEYBOARD AND MONITOR OPTIONAL w r INDUSTRY INSIDER penetration of academic en¬ vironments. During the ’50s and ’60s, IBM was masterful at getting students used to working with its machines. As the students went into industry, their familiarity with IBM ultimately brought IBM into many data processing shops. If IBM is involved in UNIX for the long term and is making a serious attack on the UNIX market, it will need to provide a system that four- year schools can sink their teeth into (read as “Berkeley UNIX”). CONCLUSIONS Chalk up another big one for UNIX. When Big Blue starts carry¬ ing AT&T software on its large machines, you can bet it is respon- Compatibility with PC/IX provides users with a migration path: a consistent operating environment from micro to mainframe. ding to pressure from some of its major customers. And IBM, at least in the past, has set the trend in operating systems (look at what the introduction of PC-DOS did to CP/M). IBM’s announcement of VM/IX, on the heels of the PC/IX announcement, makes a strong case for a soaring UNIX market. Mark G. Sobell in the author of “A Practical Guide to the UNIX System ” (Benjamin/Cummings , 1984). His 10 years in the computer industry include programming and technical writing experience. Mr. Sobell has been in¬ volved in UNIX for four years and is currently a consultant in the San Francisco Bay Area. ■ ®CG[p/A\EZA\[mi[L[lB PERFORMANCE aooc3 PORTABILITY to am ISAM [P/a\(H[!3/a\@E sot3 am UNBEATABLE tHSOGE c-tree BY FAIRCOM 2606 Johnson Drive Columbia MO 65203 The company that introduced micros to B-Trees in 1979 and created ACCESS MANAGER™ for Digital Research, now redefines the market for high per¬ formance, B-Tree based file handlers. With c-tree™ you get: • complete C source code written to K & R standards of portability • high level, multi-key ISAM routines and low level B-Tree functions • routines that work with single-user and network systems • no royalties on application programs $395 COMPLETE Specify format: 8" CP/M® 5/4" PC-DOS 8" RT-11 for VISA, MC or COD orders, call toll free 1-800-232-3344 Access Manager and CP/M are trademarks of Digital Research, Inc. c-tree is a trademark of FairCom. © 1984 FairCom 70 UNIX REVIEW SEPTEMBER 1984 Circle No. 29 on Inquiry Card Only Micro ware's OS-9 Operating System Covers the Entire 68000 Spectrum MICROWARE’S OS-9 UNIX ROM-BASED FLOPPY-DISK BASED DISK-BASED SMALL-SCALE LARGE-SCALE CONTROL PERSONAL INDUSTRIAL TIMESHARING TIMESHARING SYSTEMS COMPUTERS SYSTEMS SYSTEMS SYSTEMS HAND-HELD HARDWARE/SOFTWARE SINGLE USER MEDIUM-SCALE COMPUTERS DEVELOPMENT SYSTEMS MULTI-TASKING SYSTEMS TIMESHARING SYSTEMS SMALL SYSTEMS LARGE 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¬ 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 Microwares C compiler tech¬ 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 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 and memory efficiency. Applica¬ tion software can be built 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 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. 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 OS-9 MICROWARE SYSTEMS CORPORATION Microware Japan, Ltd 1866 NW 114th Street 3-8-9 Baraki, Ichikawa City Des Moines, Iowa 50322 Chiba 272-01, Japan Phone 515-224-1929 Phone 0473(28)4493 Telex 910-520-2535 Telex 299-3122 OS*9 is a trademark of Microware and Motorola. Unix is a trademark of Bell Labs. Circle No. 30 on Inquiry Card RULES OF THE GAME Seller beware by Glenn Groenewold Consider this scenario: you’ve created and marketed a program which has run beautifully on your computer and during extensive beta testing. However, an undetected bug produces calamitous effects if the program is run on the Goliath ZlOOx system. When one user does this, the ensuing crash results in the loss of inventory figures for a year- end sale, forcing cancellation of the event and the loss of thousands of dollars. Or consider this: under a juicy contract, you have written the documentation for Goliath’s system. Unfortunately there is an ambiguity in the wording of one of the key sections of your manual that a user misinterprets, resulting in a costly mistake. The user sues Goliath, naturally, and Goliath in turn sues you. If this sounds far-fetched, con¬ sider that during the past 30 years or so, one of the major developments in American law has been the increasing ease with which consumers — even bystanders — can sue producers and and providers of products and services. More and more, members of our society have shown a tendency to run to the courts to seek compensation for a whole range of grievances. And lest you think no one would bother to go to court over your product because of the small amount of -\ _ J money involved, your’re probably already aware that there’s a a type of lawsuit known as a class action in which a handful of product users can represent everyone who uses the product. As recently as the early 1950s, it was still rather difficult for a consumer to sue successful¬ ly for a defective product. Former¬ ly, there were a number of rules of law which in effect protected pro¬ ducers and providers of goods and services. From the standpoint of contract law, there was a rule which said that only an immediate party to a contract could sue under it. This privity requirement often made it impossible to sue a manufacturer, since most sales transactions took place between the consumer and a dealer without directly involving the manufacturer. Negligence suits were also not generally regarded as a profitable means of pro¬ ceeding against a manufacturer because a number of legal re¬ quirements too complicated to discuss here served to insulate the manufacturer from this type of liability. But things have changed. Bar¬ riers to successful consumer lawsuits have been dropping right and left. For one, the privity re¬ quirement has been eroded to the point where there’s not much left. This has opened the way for con¬ sumer suits on a contract basis. For another, the requirements for negligence suits have been liberalized. And there is still another basis for consumer lawsuits, products liability, which originated in the idea of imposing legal liability for inherently hazar¬ dous products or situations — such as the manufacture of ex¬ plosives or the keeping of dangerous wild animals. Over the years, products liability has been expanded to the point where it can even apply to defective computer programs. LIABILITIES Liability of one party to pay damages to another ordinarily arises under one of two distinct areas of law. First, there is liabili¬ ty arising out of a contract. Though this requires that there be 72 UNIX REVIEW SEPTEMBER 1 984 Brains. Knowledge. Experience. Powerful hardware and the most advanced operating system can’t replace them. At Uniq Digital Technologies, we decided you should have them all. The power of the Digital’s VAX “ superminis. The sophistication of the UNIX “ operating system. Plus, the Uniq staff of design experts to work with you and bring it all together. Behind every Uniq UNIX package is a complete support plan. Support that includes the broadest variety of UNIX flavors offered by any Vendor—including the latest versions from AT&T and Berkeley. Additional capabilities include custom driver development, kernel modification and training classes in basic UNIX user skills, system administration and advanced C language programming. We’ve established a Customer Technical Assistance Center staffed with experienced software engineers to provide solutions to those critical calls. And our on-line diagnostics system is designed to find the problems before the solutions get expensive. Uniq also offers software tools, including UNIFY* relational data base, Unicalq electronic spreadsheet, compilers and other software development and office automation products. Today you can’t only depend on the computer environment to solve your company’s problems. You need to look beyond them to the most important part of the package. Support. Uniq support. For more information on how Uniq can make it all work for you, call or write for our free descriptive brochure. UNIX is a trademark of AT&T Bell Laboratories VAX is a trademark of Digital Equipment Corporation UNIFY is a trademark of Unify Corporation Copyright 1984. Uniq Digital Technologies uniq DIGITAL TECHNOLOGIES 28 South Water Street. Batavia. IL 60510 • (312) 879-1008 We make it work. AUTHORIZED COMPUTER DISTRIBUTOR Presenting the most important part of Uniq’s UNIX package. Circle No. 31 on Inquiry Card U RULES OF THE GAME a contract, these are plentiful enough. Every time we purchase something, we are automatically party to a contract of sale which can give rise to certain rights and obligations. The other broad area of law under which legal liability com¬ monly comes into existence is call¬ ed torts. Though the term often strikes non-lawyers as faintly amusing, there’s nothing funny about being on the losing end of one of these lawsuits. The point to remember is that tort liability has nothing to do with contracts; it springs from the obligation we have to refrain from harming others. These days, the tort actions we most frequently hear about are lawsuits based on negligence — personal injury suits being prime examples. But there is another branch of tort law which also con¬ cerns us, that of products liabili¬ ty. While at one time this was an exceedingly restricted basis for lawsuits, it’s been expanded dramatically in recent years. Pro¬ ducts liability can be a potent weapon for the dissatisfied con¬ sumer, because it doesn’t involve proving that the manufacturer was negligent — only that the pro¬ duct was defective. PROTECTING YOURSELF What all this means is that so¬ meone who provides a product or service these days is going to have to deal with the prospect of being sued by somebody whose very ex¬ istence is unsuspected. And even an unsuccessful suit can be a ma¬ jor pain for the defendant. So what can you do? First of all, you must figure out what sort of legal hazard you may be exposed to. This will de¬ pend upon the type of activity you’re engaged in. For instance, if you are selling a product, you will have to be concerned about con¬ tract liability. Most importantly, this means warranties. At this point, it becomes dif¬ ficult to be specific, because con¬ tract law is primarily a state mat¬ ter, providing us with 50 different Products liability can be a potent weapon for the dissatisfied consumer because it doesn't involve proving that the manufacturer was negligent — only that the product was defective. versions (not to mention assorted territories). Though almost all states and territories have adopted a set of laws known as the Uniform Commercial Code, many have made their own changes so that the laws are no longer really uniform. The important thing to remember is that if you do business across state lines, you’ll be held to the requirements of every state in which you sell your product. Generally, you must be con¬ cerned with two kinds of warran¬ ties. Express warranties are easy to understand. If you represent that your program will do certain things on the Goliath ZlOOx, you can be sued for breach of warran¬ ty if it doesn’t. Implied warranties can be trickier. There are several of these, but the most important is the warranty of fitness fora par¬ ticular purpose. Let’s say, for in¬ stance, that you’re selling soft¬ ware under a trade name such as Goliath Sooper-Speller through retail outlets primarily devoted to Goliath products. It certainly would be reasonable for a buyer to assume that your software was designed for use with the Goliath computer. If in truth your pro¬ gram causes the Goliath system to crash, you could have a date in court. But suppose instead that you’re licensing your software, not selling it. Now the law gets more complex. As regards your licensee, you have various con¬ tractual obligations, and your licensee can sue you for breach of contract. Other people who are ultimately damaged through the use of your software would prob¬ ably have to sue you on a tort basis, though, either on a product liability or a negligence theory. In some states, they may be able to collect damages for such things as lost potential profits, but this is not true in every state. The war¬ ranties of the Uniform Commer¬ cial Code have no application under a license, however. Once you’ve figured out what kind of liability you might have, you can decide what to do to try to protect yourself. If you’re a seller, you can attempt to get out from under any warranties by us¬ ing language such as, “Seller makes no warranty of any kind, express or implied, concerning the use of this product.’’ This may or may not work, depending on the situation and the state law you’re faced with, but it probably can’t do any harm. (If you figure that you have significant potential liability under a warranty, it’d be a good idea to have a chat with a lawyer.) You can also try to limit your liability under contracts, 74 UNIX REVIEW SEPTEMBER 1984 Circle No. 32 on Inquiry Card Gould ... Innovation and Quality in UNIX-based Systems The Firebreathers from Gould blast the competition into oblivion. With blazing performance. Great leaps in raw performance are rare in the computer world. Usually, changes occur in incre¬ ments of half-a-MIP or so. Now real Firebreathers roar into the arena, quadrupling the best the competi¬ tion has to offer. With scorching speed. These creatures don 't run a little faster. Running real production code supplied by VAX™ users, our PowerNode™ 9000 bench¬ marks at 4.5 times faster than the VAX 11/780... at a comparable price! Even our second-in-line PowerNode 6000 runs 1.5 times faster. But with all this power and speed, the PN6000 has a dainty footprint... 60% less than the VAX 11/780. With sizzling simplicity. Even the hottest firebreather won't fly if it’s hard to run. Ours are UNIX*-based, so ease of use and compatibility become part of the power. Plus we offer the “Compatibility Suite”, application software packages which are con¬ sistent across our entire Gould PowerSeries™ product line.. .the widest range of UNIX-based sys¬ tems in the world. numbers that surpass all expecta¬ tions. Call 305-797-5459 for a test flight on the Firebreathers. Main¬ frame performance disguised as a supermini. The scorching perform¬ ance you expect from Gould. Gould Inc., Computer Systems Division Distributed Systems Operation 6901 West Sunrise Boulevard Ft. Lauderdale, FL 33313 * UNIX is a trademark of AT&T Bell Laboratories ™PowerNode and PowerSeries are trademarks of Gould Inc. ™VAX is a trademark of Digital Equipment Corp. More than a myth. We know these claims sound outrageous. Make us prove them. Give us your benchmarks and production code. We ll show you XENIX Communications Available NOW! s 295 00 Put your computers on speaking terms. igD 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! 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 • 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 35 CP/M—80. MSDOS. and CP/M—86systems; IBM PC H /XT. Kaypio, Osborne. Televideo. Victor. Apple" II—CP/M. Heath. Vector. Sanyo. Eagle. Molecular. Altos, and many others, 1 Modem7 protocol for remote bulletin boards 1 Auto-dial/Answer and Hangup supported on Hayes Smartmodem 300/1200 and compatibles 1 Programmable batch file capability * Unattended file transfer/auto logon • Translation tables for input and output 6 CENTURY CALL OR WRITE FOR FREE PRODUCT CATALOG 9558 South Pinedale Circle Sandy. Utah 84092 O F T W A R E (801) 943-8386 we make it easy tor you. Circle No. 33 on Inquiry Card CP/M is a registered TM of Digital Research Computer Scientists The Lawrence Livermore National Laboratory is a research and development facility operated by the University of California for the U.S Department of Energy. Located in the San Francisco East Bay Area, the Laboratory employs 8,000 individuals engaged in challenging basic and applied R&D projects. The Laboratory has current openings for application and systems programmers with Unix experience to work in the following areas; NETWORKING: Be part of the effort to develop a network connecting distrib¬ uted resources throughout the Laboratory to obtain efficient computer-to- computer communications. One such major resource is the LLNL Octopus Network which currently contains eight of the latest generation supercompu¬ ters, including the Cray-XMP. SCIENTIFIC WORKSTATION DEVELOPMENT: On this program you will be part of a team to develop an intelligent terminal to be used for interactive work and communication with other workstations, computer centers and networks. The professionals we are seeking for these challenging assignments should have a BS degree in computer science, electrical engineering, or a related field. Requires at least one year Unix and "C” programming experience and the abil¬ ity to work effectively with other group members. For Systems Programmers, an interest in all aspects of systems design, development, implementation and maintenance is essential. To apply for these positions, qualified applicants should direct their resumes to: Sue Porter, Professional Employment, Lawrence Livermore National Laboratory, P.O. Box 5510, Dept. KUR-914, Livermore, CA 94550. U.S. Citizenship is required. An equal opportunity employer m/f/h/v. such as licensing agreements, by including a clause stating that the other party is to hold you harmless for any damages. There are two routes you can take to try to protect yourself from tort liability: first, you can do your best to avoid marketing a defec¬ tive product or being negligent in Barriers to successful consumer lawsuits have been dropping right and left. providing a product or service. Second, you can consider insur¬ ance. Obtaining useful coverage can be a problem in a burgeoning new field where the risks are not clearly understood. Even when available, policies may be pro¬ hibitively expensive or may be so riddled with exclusions as to be practically worthless. If you elect to go for insurance, search out a knowledgeable broker whom you feel you can trust, and ask lots of questions. As if all this hasn’t been suffi¬ cient to guarantee insomnia, there are other legal hazards lurking in businessland that we haven’t discussed. You’ll have to keep a wary eye on anti-trust laws for in¬ stance, if you intend to do ex¬ clusive licensing. Franchising, meanwhile, has a whole list of perils all its own. But these and other horrors will have to wait for future consideration. University ty ol callt Z n n a re Livermore I^Xboratory ^ A Nationa Glenn Groenewold is a Califor¬ nia 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 ■ 76 UNIX REVIEW SEPTEMBER 1984 \N'A" • \N' , atoWW as.^° •-% alS essV> ^ ^ ,^ c o^ a( ®po\o<3' ca ' >( 0 ^ «$&&* (ese at SO tt* a '*£#*’''*<** «* #jJ°o ^ ® e a CS/TMX CS/RMX REPORT WRITER CS/RMX QUERY Cincom Systems, the industry leader in data base/ data communication software systems, passes the power of its proven high performance software technologies for mainframe and minicomputers to the world of UNIX. CS/XTEND, our new fully integrated family of development and decision support components, makes it easy to create and implement even the most complex applications. And, our experience and expertise in developing quality software ensure that you get the high performance you need while using a minimum of machine resources. CS/XTEND includes integrated solutions for professional system developers as well as productivity tools for non-technical information users: CS/DBX —a high performance shared Data Base Executive with the power to handle multiple users concurrently accessing any number of files. CS/XPORT— a Distributed System Interface that links computers so they can share data, providing the foundation for distributed data base networking. UNIX is a trademark of AT&T Bell Laboratories CS/TMX —a powerful Terminal Management Executive that simplifies interactive programming by making programs independent of the terminal, and provides overall network management. CS/RMX —an easy-to-use Retrievals Management Executive that provides relational access to the data base for interactive inquiries and report writing by both end-users and computer professionals. CS/XPRESS —a dynamic Application Builder that lets non-programmers automatically generate, maintain and access custom-built files of information. CS/XTEND is fully compatible with Cincom’s TOTAL® Data Base Management System. That means you can implement applications to operate on different types of computers using identical data base techniques. Find out today how CS/XTEND extends the power and performance of your UNIX system. Simply call or write, Cincom Ventures Division, 2300 Montana Avenue, Cincinnati, Ohio 45211. 800 - 543-3010 (In Ohio:513-661-6000) Circle No. 65 on Inquiry Card Cincom Systems Excellence in Software Technology. DEC—>T0 IBM/SNA Full SNA capability for your DEC com¬ puter! Comboard'“/SNA gives your ter¬ minals access to IBM interactive ap¬ plications. Data can be transferred be¬ tween systems, all in the complete fully supported package. Comboard/SNA from Software Results. Proven and reliable, Comboard/SNA is a single-board 256kb communications computer that plugs into your DEC Un¬ ibus. Teamed with Comboard software the system is a cost-effective solution to troublesome SNA communications prob¬ lems. Your DEC emulates an IBM PU Type 2 communication node. You have a full gateway into your SNA without passing through a secondary network. For further information call or write Soft¬ ware Results... the leader in DEC to IBM communications. COMBOARD Communications Results from SOFTWARE RESULTS CORPORATION Call Toll-free 1-800-SRC-DATA U-800-772-3282) In Ohio call collect. 1-614-267-2203 2887 Silver Drive Columbus, Ohio 43211 Telex: 467-495 SRC DATA Cl COMBOARD » a Tiod.moik ol Soliwar. RmuII, Corporation DEC UNIBUS It a Trodomark ol Digital Cqulpmonl Coip Circle No. 35 on Inquiry Card 80 UNIX REVIEW SEPTEMBER 1984 w /usr/lib Americanized edition offered in my April/May col¬ umn reveals what can happen when authors allow their material to be tampered with and then do not review the result. But back to the real Banahan and Rutter book. Since this issue of UNIX REVIEW centers on system administration, we turn to the chapter on “Maintenance” to see how they approached the topic. Because the book is aimed at being introductory, the chapter is not intended to be a full system ad¬ ministration manual, but an explanation of the ideas a good system administrator should know. The ex¬ planation of how the system starts up and shuts down lends important insight into what goes on in these two important activities, rather than dwelling on details about the procedure. Details system administrators will want to know are included in Chapter 8, “The Process Environ¬ ment,” and Chapter 9, “Libraries.” Published by Sigma Technical Press, in Cheshire, and distributed by John Wiley & Sons, Ltd., Sussex, this book should be distributed in the US — and all copies of the other version should be withdrawn. Mike Banahan, in a telephone call from London, said he and Rutter erred in refusing to have anything to do with the US edition of the book once they were informed (!) changes would be made to it. He said they now know the error of their ways. I hope John Wiley & Sons learns soon, too. The Table of Contents for UNIX — The Book 1. In the Beginning (12pp) 2. Files and Simple Commands (30pp) 3. The Editor, Ed (17pp) 4. C (28pp) 5. The UNIX Filestore (12pp) 6. Software Tools (13pp) 7. Text Preparation (20pp) 8. The Process Environment (17pp) 9. Libraries (17pp) 10. Maintenance (19pp) Appendices A. General Commands (20pp) B. The Editor (6pp) C. Shell Syntax (1 lpp) D. Standard Libraries (25pp) E. System Calls (8pp) F. The ovp program (6pp) Answers to questions (2pp) References (1 p) Index (2 pp) REAL WORLD UNIX The trouble with Real World UNIX (Sybex, 1984, 209pp, $16.95) is that author John D. Halamka ap- parently doesn’t know regular UNIX, let alone “real world UNIX.” In contrast to Banahan and Rutter, Halamka confuses the relationship of the shell to UNIX: UNIX comprises two basic elements , the shell and the kernel, the “outside"and the “ inside" of the system, (p. 11) Not stating that the shell is a program that can be replaced by other programs might seem a polite fic¬ tion intended to allow the authors to get on with in¬ troductory remarks, but it can cause readers to misunderstand a major source of UNIX flexibility — the fact that the shell can be any program, even /usr/games/rogue. Real World UNIX , could have used a technical writer — or a freshman composition grader — to clean up its act a bit. The statement “UNIX and Ethernet have been developed for each other....” sounds like a ludicrous technical error until it final¬ ly dawns that the writer really meant the two are compatible, complementary, and that Ethernet can link UNIX systems. Gee, whiz. It is harder to attribute as bad writing the state¬ ment, “UNIX provides ‘record locking’...’’ Thanks to John Bass there is a /usr/group standard for record locking, but vanilla UNIX has no such thing. AT&T Technologies and the University of California at Berkeley will no doubt be surprised to learn that “System V [has] an extended shell developed at the University of California at Berkeley” (p. 12). It is well-known that many of the System V.2 utilities are warmed-over rewrites of Berkeley utilities, but the System V shell is the Bourne shell. I regard a book as dangerous when, in addition to typographical errors (a relatively minor sin) and technical errors (a much greater sin), there are er¬ rors of judgement. Because UNIX is a flexible com¬ puting environment, users who use the full system need to have a good idea of what are and are not good practices. The applications example Halamka in¬ cludes on page 21 is a prime example of showing a u N i UniPress Product UPDATE LATTICE® C NATIVE AND CROSS COMPILERS FOR THE 8086 Outstanding software development tools Lattice C Cross Compiler to the IBM-PC ■ Highly regarded compiler producing fastest and tightest code for the 8086 family. ■ Use your VAX or other UNIX machine to create standard Intel object code for your 8086 (IBM-PC) ■ 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 included. ■ Send and Receive communication package optionally available. Hosted On Prices: VAX/Unix and VMS $5000 MC68000/8086 3000 Send and Receive 500 Lattice C Native Compiler for the 8086 ■ Runs on the IBM-PC under MS-DOS 1.0 or 2.0. ■ Produces highly optimized code ■ Small, medium, compact and large address models available. ■ Compiler is running on thousands of 8086 systems. Price: $425 COMING SOON Amsterdam Compiler Kit ■ Package of compilers, cross compilers and assemblers. ■ Full C and pascal language. ■ Generates code for VAX, PDP-11, MC68000, 8086 and NSC 16000. ■ Hosted on many Unix machines. ■ Extensive optimization. Price: Full system $9950 Educational Institution 995 See us at UNIX SYSTEMS EXPO/84, Los Angeles, Booth #544 U N Plink—For Lattice Native ■ Full function linkage editor including overlay support. Price: $395 OEM terms available • Much more Unix software, too! • Call or write for more information. UniPress Software, Inc. 2025 Lincoln Highway, Edison, NJ 08817 201-985-8000 • Order Desk: 800-222-0550 (outside NJ) • Tfelex 709418 Mastercard and Visa Lattice is a registered trademark of Lattice. Inc. Unix is a trademark of Bell Laboratories. MS-DOS is a trademark of Microsoft. Circle No. 36 on Inquiry Card SEPTEMBER 1984 UNIX REVIEW 81 Tektronix And Oregon — A Winning Combination • Outstanding Careers • Affordable Housing • Clean Air We have it all. Join us. TEKTRONIX is listed among the 100 best companies to work for in America and we have some outstanding career opportunities avail¬ able for Software Engineers. Our experienced Software Engineers are involved in generating new codes, making improvements and making bug fixes to UNIX™ kernel, device drivers, commands, utilities, and network pro¬ grams. Our primary focus is on the 4.2 BSD enhancements. The individuals we’re seeking must possess leadership potential in a UNIX™ environment, be highly skilled as a C programmer, have in-depth knowledge of UNIX™ internals, VAX and PDP-11 architectures, along with related peripherals. An advanced degree is preferable, but the equivalent in related experience is acceptable. TEKTRONIX is a Fortune 500 company that provides its professionals with competitive salaries, generous benefits that include profit sharing, health and dental insurance, and liberal educa¬ tional assistance. Oregon offers natural unspoiled beauty, affordable housing, and unsurpassed outdoor recreation. For immediate consideration, please send your resume to Michele Goza, M.S. 46-943, Tektronix, Inc., P.O. Box 500, AMK1, Beaverton, OR 97077. We are an equal opportunity employer m/f/h. UNIX is a TM of Bell Laboratories. Tfektronix COMMITTED TO EXCELLENCE Circle No. 37 on Inquiry Card if /usr/lib bad practice. It shows the root directory, and sprouting from it are two directories, payables and receivables. Even being charitable and believing that each of these directories is on its own file system, this business of cluttering up the root directory with sen¬ sitive names seems to be asking for someone who is a security risk to attempt something evil. On the other hand, if sensitive directories such as payables and receivables were in fact on the root file system, the author is asking for trouble. Consider, for exam¬ ple, a system failure, in which a damaged root file Halamka is not using the file system with the same sensitivity with which it was designed. system superblock might mean the difference be¬ tween not having payables or not having receivables — or both. Halamka is not using the file system with the same sensitivity with which it was designed. The bad choice of directory allocation is further compounded on page 24 where we see, as one of the earliest commands introduced: rm /payables/monolith_ind It seems unlikely anyone would wish to remove a payables file without an awfully good reason. None is given. The lack of good judgement in choosing a more realistic example makes a mockery of the book’s very title. There is a chapter on system administration as long as the one in Banahan and Rutter, but there all similarity ends. Typographic errors (at least I hope they were typographic) abound in the examples of /etc/passwd entries. The colon-separated fields have blanks after the colons — no doubt added for readability — but not for technical accuracy. When I first saw the example: ceo: sdfsd34: 1: 1: John Halamka: /usr/ceo it seemed unlikely that the encryption algorithm would stand for a blank in the field, and when I ex¬ perimented, it did not work. Halamka also includes the pronouncement that 82 UNIX REVIEW SEPTEMBER 1984 userids must be a unique number “from 1 to 255.“ The system I am writing this review on has userids as high as 340, and another system I use has userids in the 900s. These are not simply integers the system uses — they can also be helpful organizational numbers for system administration use. However, don’t go wild using userid numbers since the size of /usr/adm/wtmp reflects the magnitude of the largest userid. One last nit before I leave off with this book. On page 103, the author states: C, the language in which UNIX itself is written , is very complex and difficult to learn. But, on page 163, in the Appendix on “UNIX Resources,” we do not find an entry for Kernighan and Ritchie’s C book nor anyone else’s — even Kochan’s quite readable book. I think the problem is that the author himself does not know C. I generally put notations about the qualities of books on the title pages to remind me of where to find things. For this book, the page was practically obliterated with inked notations detailing errors. For information on “real world” UNIX try books by Banahan and Rutter, Bourne, McGilton and Morgan, Sobell — but not this book. The Table of Contents for Real World UNIX Introduction (9pp) 1. Introduction to Hardware and Software Con¬ cepts (8pp) 2. UNIX Concepts (18pp) 3. Using the UNIX Shell (35pp) 4. System Administration (20pp) 5. Shell Programming (15pp) 6. Real World Hardware and Software (29pp) 7. The Future of UNIX (1 lpp) Appendices A. UNIX Resources (18pp) B. One-Minute UNIX (2lpp) C. Glossary (15pp) Index (5pp) A BOOK ON C A1 Kelley and Ira Pohl have put together a book on C (Benjamin Cummings, 1984, 362pp, $21.95) UniPress Product UPDATE EMACS* MINIMACS Powerful Text Editing Software for MS-DOS™, UNIX™ and VMS™ EMACS ■ Acclaimed Gosling Version ■ Runs under UNIX, VMS, and MS-DOS ■ Full screen multi-window editor allowing several files to be edited simultaneously. ■ Extensible and customizable via macros and built-in MLISP programming language. ■ C, Pascal, and MLISP programming assist. ■ Communicates with UNIX and VMS systems. Allows shell/DCL windows, and command execution with output directed to a window. For example, Emacs permits program compilation with source code in one window and compiler errors in another for ease of debugging. ■ EDT emulation on VMS, optional on UNIX. ■ Available on a wide range of hardware configura¬ tions including the VAX, 4.1/4.2, System III/V, Sun, Pyramid, Plexus, Cyb, Callan, Masscomp, Apple Lisa, Tandy Model 16, Pixel, Dual, Apollo, Integrated Solutions, Perkin Elmer, HP9000, NCR Tower, Cadmus, Momentum, Charles River Data, Fortune and more. Prices: UNIX: $395/binary • $995 source VMS: S2500/binary • $7000/source MS-DOS: $375/binary • $995/source See us at UNIX SYSTEMS EXPO/84, Los Angeles, Booth #544 U N I MINIMACS ■ Faster and smaller model Gosling Emacs available for Unix. ■ Full screen editing with multiple windows. ■ Full EMACS macro capability and keybindings. Communicates with Unix via command execution with output directed to a window. ■ Minimacs brings the powerful capabilities of the finest screen editor to smaller machines. ■ Minimacs minimizes your resource load and is much smaller than the vi editor. Price: $375/binary • $795/source. OEM terms available. • Much more Unix software, too! Call or write for more information. UniPress Software, Inc. 2025 Lincoln Highway, Edison, NJ 08817 201-985-8000 • Order Desk: 800-222-0550 (outside NJ) Telex 709418 • Mastercard and Visa Emacs and Minimacs aie trademarks of UniPress Software, Inc Unix is a trademark of Bel) Laboratories VMS is a trademark of Digital Equipment Corp MS-DOS is a trademark of Microsoft Circle No. 38 on Inquiry Card SEPTEMBER 1984 UNIX REVIEW 83 w /usr/lib that is basically quite good. They start off in a rather troublesome way, though, with a system dependent program! The results, as captured by Mark Horton’s script program follow: % cc trad.c -o trad ; trad llehw ,od!ro% Pretty wonderful, eh? It is supposed to say: hello, world The “%” jammed up against the “odlro” is the prompt, since there was no newline character anywhere in the control string — a bit of carelessness, perhaps. I thought I was in for yet another bad book on C but I’m happy to report that the authors later turned me into a believer. Their technique of presenting a program follow¬ ed by a step-by-step dissection of each significant point is quite good. Their programming style is also good, but some of their examples are almost as ques¬ tionable as the first one discussed here. Also, I strongly disagree with their first exam¬ ple of recursion: main( ) { printf("The universe is never ending!"); main( ); } This is infinite regression that continues until the RUB key is mercifully pressed, but it is not a true recursion as there is no test condition that stops the regression. That the authors encourage the reader to “try the program’’ without indicating how to stop it once it is running is strange indeed, and it is distur¬ bingly reminiscent of the first example program cited earlier. But then again, Kelley and Pohl are charming in the preprocessor section of the same chapter where they present the following “syntactic sugar”: ^define EQ = = as a suggestion to guard against the potential con¬ fusion of logical equivalence = = and assignment =. ONE DAY CAN SAVE YOU YEARS I OF SOFTWARE DEVELOPMENT EXPENSE Learn how object-oriented programming and Objective-C,™ an evolutionary enhancement of C Language, will dramatically increase the productivity of your programming staff by making software reusability a practical reality. OVERVIEW FOR EXECUTIVES Stamford , CT October 2, 1984 Washington , DC October 29, 1984 All text materials and lunch are included in the $200 tuition fee. Enrollment is limited. Call for registration, information and additional course listings. Productivity Products International 27 Glen Road Sandy Hook, CT 06482 (203) 426-1875 TOWER" POWER Give your Tower more Power! • 80MB and 300MB cartridge disk subsystems • 160MB and 300MB fixed media disk subsystems • DIBOLIX™ - DIBOL™ for UNIX™ • UNIFY™ • Personal Secretary™ Word Processor Contact: SHA Computers, Inc. RD#3, Box 51, Tait Road Saratoga Springs, NY 12866 ( 518 ) 587-5886 Trademarks: Tower. NCR Corporation; DIBOLIX, C/DIBOL Ventures; UNIX, AT&T; DIBOL, Digital Equipment Corporation; UNIFY. Unify Corporation; Personal Secretary, Finished Software. Circle No. 38 on Inquiry Card Circle No. 39 on Inquiry Card 84 UNIX REVIEW SEPTEMBER 1984 SOFTWARE DEVELOPERS LESS THAN $400 WILL TURN YOUR PC INTO A POWERFUL DEVELOPMENT WORKSTATION. Until now, software developers who wanted the power of high-priced develop¬ ment systems had to pay a high price for it. There was no choice. Now, there’s a solution. . .whether you’re developing programs to run on minicom¬ puters or micros, and regardless of what target operating system you’re using. If an IBM® PC, PC XT™, or compatible is part of your development environment, the uNETix Software Development ToolKit will increase your productivity. LANTECH SYSTEMS has put an end to the “no choice’’ problem with a collection of powerful software products which make your PC a versatile, but low cost develop¬ ment workstation. The uNETix Software Development Tool- Kit contains: • uNETix SFS —the powerful multi-tasking, UNIX™ compatible operating system, which is at the heart of the LANTECH SYSTEMS product line. The unique “Win¬ dow Management” feature provided with uNETix allows easy integration of applica¬ tions software and permits data to be moved between various window processes (such as the Emulator or Editor described below). • VT100® Terminal Emulator (VTTY) — permits up-loading and down-loading of data between your PC and a larger mini or mainframe computer. This function, of course, means that larger-scale develop¬ ment tasks can be run on more powerful machines, while permitting you to pro¬ cess other tasks locally. • TEXT EDITOR — allows powerful, full¬ screen editing at the workstation level or you can use your familiar mainframe edi¬ tor through the terminal emulator. Several popular editors are available. The LANTECH SYSTEMS uNETix Soft¬ ware Development ToolKit is the solution to your software development needs, at an affordable price of $399. Quantity discounts are available. Optional Lattice® C Compilers are avail¬ able from LANTECH SYSTEMS to develop programs locally to run under uNETix, or PC DOS™. Programs developed for uNETix can, of course, be easily ported to other UNIX environments. Lattice C Cross Com¬ pilers are also available for a variety of minicomputers. To order your ToolKit, or to get more in¬ formation contact: LANYM3HI SYSTEMS INCORPORATED 9635 WENDELL ROAD, DALLAS, TEXAS 75243 (214) 340-4932 EX. 200 uNETix is a trademark of Lantech Systems. Inc IBM is a registered trademark of International Business Machines UNIX is a trademark of Bell Laboratories, AT&T Technologies VT100 is a trademark of Digital Equipment Corp. Lattice is a registered trademark of Lattice, Inc. PC DOS is a trademark of International Business Machines. XT is a trademark of International Business Machines Minimum system configuration is IBM PC with 512K RAM. monochrome or color display RS232 poo required lor V~100 connection Circle No. 40 on Inquiry Card w /usr/lib Even experienced C programmers nod at times about those two, and spend sleepless hours trying to track down the error. My overall feeling is that the book leans a bit heavily in the direction of number crunching. In say¬ ing this, I confess that my bias is toward character crunching, the activity I observe most frequently in modern computing environments. Kelley and Pohl do venture into data structures topics, such as tree traversal, though, and I do view this as a distinct plus. This book is a good comprehensive introduction to C if page 3, with the system dependent example program, is skipped. The table of contents follows. Table of Contents for A BOOK ON C 0. Starting from Zero (4pp) 1. An Overview of C (12pp) 2. Syntax and the Lexical Level 3. Declarations, Expressions, Assignment, Data Types (33pp) 4. Flow of Control (37pp) 5. Functions (26pp) 6. Branching Statements, Bitwise Expressions, and enum (26pp) 7. Pointers, Arrays, and Strings (37pp) 8. Recursion, Functions as Arguments, and the Preprocessor (28pp) 9. Structures, Unions, and typedef (27pp) 10. Structures and List Processing (29pp) 11. Input/Output and the UNIX Environment (40pp) Appendix: ASCII Character Codes (lp) Index to Selected Programs and Functions (3pp) Index (8pp) Jim Joyce is President of International Technical Seminars, Inc., a firm committed to UNIX training, and founder of the Independent UNIX Bookstore. For answers to your questions about books, call 415/621-1593. CCA EMACS.THE MOST POWERFUL SCREEN EDITOR FOR UNIX AND VAX/VMS. No other text editor gives you so much power, speed, and functionality as CCA EMACS™. Or makes editing so easy. Close to 400 built-in commands let you do any task with only a few keystrokes. Even things that are impossible on other editors. And with our full extension language, Elisp™, you can custom¬ ize CCA EMACS to meet your program requirements. Multiple windows is another CCA EMACS plus. So you can manage concurrent processes and move information from one window to another. And Unix is a trademark of Bell Laboratories VAX and VMS are trademarks of Digital Equipment Corporation CCA EMACS and Elisp are trademarks of CCA Uniworks, Inc. CCA EMACS is sup¬ ported by a full online documentation package that includes a novice tutorial. So any user can quickly utilize all the power of CCA EMACS. CCA EMACS runs on Berkeley Unix™ (4.1 BSD and 4.2BSD), Bell Unix (System HI and System V), and VAX/VMS™ and requires 500 K of address space. Prices for a full source license range from $350 to $2400. For more information, or to find out how to get a trial copy, call Gwendolyn Whittaker at (617) 492-8860. CCA Uniworks, Inc. “ A Crowntek Company Four Cambridge Center, Cambridge, MA 02142 Circle No. 41 on Inquiry Card 86 UNIX REVIEW SEPTEMBER 1984 See Software. Dick is a programmer. Dick is bored. Harried. Dick strug¬ gles with trace chores. Debugging routines. Nonexistent documentation. Hidden bugs. So Dick is four months behind schedule. And customers are upset when bugs slip through. They yell and make Dick upset. They make Dick’s boss upset. -*1 Nobody is very happy. See Software I VI I J I Jane is a happy program- VV4 - LA * mer. She uses ANIMATOR™ It’s a VISUAL PROGRAMMING” aid for MICRO FOCUS™ LEVEL II COBOL.™ It runs on a micro. It makes child’s play of test and debugging tasks. With ANIMATOR Jane sees a picture of the program explaining itself. In real time. In COBOL source code. ANIMATOR tracks the program’s exact execution path. Including sub¬ routine branches. Jane can have the program run fast. Or slow. Or stop. With one key. This makes it easy to spot problems. Insert fixes. Set break¬ points. Instantly. Jane’s programs are best sellers. They’re delivered on time. With no hidden bugs. Jane’s boss likes this about Jane. Because he doesn’t Run, Software, like customers to yell at him. I Y.1 1 F 1 This software vendor just • went public. Because he doubled productivity. Eliminated bugs. Cut costs. Produced terrific applications. Beat the competition to market. And customers don’t yell at him anymore. All thanks to ANIMATOR. See ANIMATOR now. © 1984 Micro Focus Inc. All Rights Reserved. LEVEL II COBOL. ANIMATOR. VISUAL PROGRAMMING. MICRO FOCUS and the MICRO FOCUS Logo ore trademarks of Micro Focus Ltd. Let ANIMATOR help you do better work. And speed your applications to market. Write for more information. Or call (415) 856-4161. Right now. MICRO FOCUS 2465 E. Bayshore Rd., Suite 400, Palo Alto, CA 94303 2465 East Bayshore Rd., Suite 400, Palo Alto, CA 94303 I’d like more information Name_ . Title- Company _ Address_ City_ Phone_ _ State_ . Zip_ UR-9/84 Circle No. 42 on Inquiry Card THE UNIX GLOSSARY Words to the wise by Steve Rosenthal # — in most implementations of UNIX, this is the shell prompt to the superuser. It differs from other prompts so as to remind the superuser that he or she is in a special mode rather than operating as an ordinary user. ac — the standard system com¬ mand to report accounting infor¬ mation collected during normal system operation. The summary information can be used to charge users for CPU time and memory use. accton — the command telling the system to keep accounting infor¬ mation that details when users login and out and what processes are created and killed. In most im¬ plementations, invoking accton (usually as /etc/accton) only sets the system to collecting the data. To retrieve it, use such standard programs as prtacct or acctcms, or you can write your own soft¬ ware to assign charges and handle billing. When accton is used, it is generally invoked as part of /etc/rc during initialization. adduser — a command available to system administrators on some UNIX systems to add a new user to the system. The same task may be done in a less automated way by editing the /etc/passwd file. bin — the login name for the user who owns the /bin and /usr/bin directories and files. Normally, this is the system operator, who is also the superuser with login name root. It is considered good administrative practice for bin to own /bin and /r/bin. boot device — the name of the storage unit (usually including any subdevice and block number) from which the boot program reads the UNIX kernel or any stan¬ dalone test program. chgrp — the command employed by the superuser to change the group ownership of a file or direc¬ tory. In installations undergoing reorganization, this command can get frequent use. chown — the command used by the superuser to change the ownership of a file or directory. clri — a maintenance command employed by the superuser to remove inodes directly. In most cases, the use of this command has been replaced by fsck. The task performed by clri, or the equivalent part of fsck, is needed only when the file system has become corrupted by a system crash or hardware failure. cpio — a utility program used to copy files to and from backup devices. It is an updated version of the tar tape archive program. crash — a program employed by the superuser (or in single-user mode) to look at a memory dump (core image) of the system when the system goes down. It is a utili¬ ty primarily of interest to dedicated experts. cron — a command that creates a daemon (an automatically ex¬ ecuting program) that invokes commands at specified dates and times. The commands to be ex¬ ecuted are listed in /usr/lib/cron- tab. The cron command is usual¬ ly invoked as part of the etc/rc script executed as part of the in¬ itialization process. date — the command the superuser uses to set the system date and time. The usual form is: date yymmddhhmm.ss Many systems now have real-time clocks that automatically keep and set the date and time. Or¬ dinary users can use date to display the current date and time by simply entering the command without arguments. dcheck — utility program 88 UNIX REVIEW SEPTEMBER 1984 OASYS provides a “One-Stop Shopping” service for software developers and managers in need of proven, cost effective, cross- and native- development tools. OASYS can save you time, energy and money! We understand what it means to be a developer. Over the past 3 years, we’ve built over 1MB of working code. We not only develop our own tools, but also specialize in evaluating, selecting and distributing the best complementary tools from other suppliers. Our tools are currently in use in over 1,000 installations worldwide on micro-, mini-, and mainframe computers for a variety of 8-, 16- and 32- bit UNIX (and non-UNIX) systems. Most likely, we have what you’re looking for (even if it doesn’t appear in the tables shown). But, if we don’t, we'll be glad to tell you who does. So, call or write today for more information and start shopping the smart way, the fast way, the economical way. “The One-Stop Shopping Way.” ACROSS TOOLS PRODUCTS 68000 16000 8086/88 68000 16000 8086/88 68000 16000 8086/88 68000, 16000, 8086/88, Z8000, 680X, 808X, Z80 68000, 8086/88 808X, Z80 (1) WE DISTRIBUTE PRODUCTS FOR: GREEN HILLS SOFTWARE, VIRTUAL SYSTEMS, COMPLETE SOFTWARE, PACER SOFTWARE; SOFTWARE MANUFACTURERS (2) HOST OPERATING SYSTEMS INCLUDE: VMS, RSX, RT-11, PRIMOS, UNIX V7, III, V, BSD 4.1, 4.2, UNOS, IDRIS, XENIX, MS/DOS, VM/CMS, CPM 68K (3) OTHER TARGETS ARE: M6801-6803, 6806, 6809, 8080, 85. 28, 35, 48, 51; Z-80 (4) ALL ASSEMBLERS INCLUDE LINKER, LIBRARIAN AND CROSS-REFERENCE FACILITY (5) AVAILABLE ON: CALLAN, OMNIBYTE. CHARLES RIVER DATA, PLEXUS. SAGE, FORTUNE. WICAT ... to name a few. ■/UNIX NATIVE TOOLS □flSVS 60 ABERDEEN AVENUE CAMBRIDGE, MA 02138 (617) 491-4180 NATIVE ASSEMBLERS FOR 68000s <« 5 > SYMBOLIC C SOURCE CODE DEBUGGER C-TIME PERFORMANCE UTILITY UP/DOWN LINE LOAD UTILITIES COMMUNICATION UTILITIES BASIC-TO-C TRANSLATOR C-BASED FLOATING POINT MATH PACKAGE . . . AND MORE TRADEMARKS: UNIX IS A TRADEMARK OF BELL LABORATORIES. XENIX AND MS/DOS ARE MICROSOFT CORPS; IBM/PC. VM/CMS. AND IBM 370 ARE INT'L BUSINESS MACHINES; VAX. PDP-11. LSI-11. VMS. RSX. AND RT-11 ARE TRADEMARKS OF DIGITAL EQUIPMENT CORP. CPM 68K IS DIGITAL RESEARCHES; PRIMOS IS PRIMES; UNOS IS CHARLES RIVER DATAS; IDRIS IS WHITESMITHS LTD Circle No. 66 on Inquiry Card U GLOSSARY employed by the superuser (or in single-user mode) to check the in¬ tegrity of the directory structure. The same function is now done at most installations by the fsck pro¬ gram. The dcheck program works by verifying that the number of directories claiming an inode as a member is equal to the number of links recorded in the inode. /dev — the directory listing all devices known to the system. To add additional devices, the superuser invokes the mknod A new breed in speed The only UNIX compatible operating system that supports 11 simultaneous users on 1 IBM PC XT O nly NCI COHERENT offers powerful multiuser capability with UNIX compatibility. NCI made COHERENT a multipurpose operating system. We extended it to suit a wide variety of applications. For example, it can now be used to turn a PC into a data multiplexer or an inexpensive database machine in a local area net¬ work. NCI COHERENT can also be used for high speed protocol conver¬ sion and process control. We've even written a real-time version of COHERENT, exclusive to NCI, which will run on an intelligent peripheral board. NCI has enhanced the COHERENT kernel making it much faster. Then we added com¬ mands that make programming easier, including a source code control system, plus many UNIX System V features. We also gave it exclusive support for a wide variety of hardware and PC compatibles. NCI COHERENT comes with full technical support and complete documentation, organized in the UNIX manner. A variety of licensing options are available including runtimes, pro¬ duction runtimes, and driver kits. Remember, when you license COHERENT your license includes multiuser and our low license fees make your ap¬ plication far more economically feasible. The NCI technical design team that engineered the im¬ provements to COHERENT is also available on a contract basis. Performance engineered into every product. NETWORK CONSULTING INC. Suite 110, 3700 Gilmore Way, Burnaby, B.C. Canada V5G 4M1 Phone: (604) 430-3466 ‘UNIX is a trademark ol Bell Laboratories. COHERENT is a trademark of Mark Williams Co. IBM PC and IBM PC XT are trademarks of International Business Machines Corp. command (normally stored as /etc/mknod) to add the necessary information about a new device. dump — the name of the standard system program for archiving copies of the files on disk as a hedge against system crashes or accidental file deletions. The files can be recovered from archives with the restor command. The dump utility can save an entire system of files or a subset thereof. It can be invoked on one of ten dif¬ ferent levels. Only files modified since a dump of higher level will be saved, thus allowing selective backup. The full dump, of level 0, is known as the epoch dump. epoch — a complete dump of the UNIX system, including all the user and system files. An epoch — or level 0 — dump, is done periodically to provide a starting point for regenerating the system in case of a serious system crash. /etc — one of the major system directories, used primarily for storing administrative programs and lists. /etc/passwd — the system file listing user names, encrypted passwords, userids, groupids, home directories and other infor¬ mation about each authorized user. To add a new user, the system administrator creates a new line in the password file (either directly or by using the adduser command), creates a home directory for the user and gives the user ownership of the new directory. /etc/rc — the standard file con¬ taining a shell script to be ex¬ ecuted by init as part of the pro¬ cess of going to multiuser mode. Normally, this file contains in¬ structions to mount directories, start daemons (system programs that run automatically) and per¬ form such regular housekeeping as purging temporary files. /etc/ttys — the system file speci¬ fying which terminals should be Circle No. 45 on Inquiry Card ► Circle No. 58 on Inquiry Card State of the art software and operating systems. Tailor made consultant services. Lachman Associates, Inc. is a custom systems soft¬ ware consulting firm... fifty professionals, repre¬ senting two hundred man-years of UNIX experience. LAI is a system in itself; each field consul¬ tant is linked to account and project managers within the organization. The complete UNIX resource. We provide complete UNIX development services for hire. Our expertise also spans all of the common PDP-11, VAX and IBM/370 operating systems. LAI has been instrumental in a number of major UNIX ports, as well as numerous projects involving: • high-reliability • development of a hetero¬ geneous networking system • advanced graphics software • product analysis Our related services include market studies, customized technical training, technical docu¬ mentation and software research and development. Human engineering. We tailor our skills and experience into an under¬ standing of client require¬ ments. With this knowledge, we tailor projects completely from providing contract programmers to supplement your existing staff to total project responsibility, including system specification, design, implementation, acceptance testing and training. operating systems develop¬ ment • a distributed transaction processing system • development of a new UNIX-like operating system • local area net¬ works • distributed file system research . a UNIX front- end processor • device drivers • relational database systems • compilers • advanced debuggers • a multi-processor imple¬ mentation of UNIX • data communications • real-time systems • processor archi¬ tecture evaluation • system performance measurements L A Chicago Denver New Jersey C H M Lachman Associates, Inc Corporate Offices 645 Blackhawk Drive Westmont, IL 60559 312 986-8840 UNIX is a trademark of Bell Laboratories. PDP-11 and VAX are trademarks of Digital Equipment Corporation In the market for UNIX''* hardware? software? perhaps a whole system? Maybe you’re not sure? In any case remember RULE #1: USERS KNOW (with a little help) Whatever you re about to buy, it's always smart to talk to someone who already uses it. At B.A.5.I.S. we routinely use a score of UNIX v software and hardware configurations. Our staff can tell you about the strengths, weaknesses, and quirks of our hardware and software products...from a user's perspective. Remember, whether you need a big system, a little system, or just a piece of a system, ask someone who uses big systems, little systems, and all the pieces: a.n.s.i.s. B.fl.S.I.S. “The UNIX M Users” 1700 Shattuck Avenue Suite 1 Berkeley, CA 94709 (415) 841-1800 UNIX v is a trademark of Bell Laboratories. Circle No. 46 on Inquiry Card UNIX PROFESSIONALS Our clients, nationally based, are seeking software specialists, systems engineers, and program¬ mer analysts for interesting projects both corporate and consulting. Excellent benefits, salaries range up to $70,000. We are an executive search firm, specialists in the growing com¬ puter industry and marketing development to service UNIX professionals. PLEASE CALL OR SUBMIT A RESUME IN CONFIDENCE TO: N.M. PRO DATA LTD. 172 MADISON AVENUE, SUITE 304 NEW YORK, N.Y. 10016 212-679-7966 ATTN: MARLENE SAFERSTEIN Circle No. 47 on Inquiry Card Q£Jial The new, sophisticated, interactive programming system for UNIX Workstations Super Minicomputers (VAX) and the IBM Personal Computer Suitable for: Artificial Intelligence Rapid Prototyping Data Systems Design NIAL Systems Limited 20 Hatter St., Kingston, Ontario Canada K7M 2L5 1-613-549-1432 1-800-267-0660 (U.S.) Q'Nial is a registered trademark of Queen’s University at Kingston checked for logins and further in¬ structions. Along with specifying active terminals, the list provides terminal numbers and a method for establishing baud rate (ter¬ minal speed). find — the command for locating files in directories and subdirec¬ tories matching specified criteria. It can find files by name, owner, mode, age, size and several other criteria. It is often used by the system administrator when file space grows tight or runs out to see if anyone is hogging space or if there are files that have not been used recently that can be archived offline. fsck — a command used for checking the integrity of the root file system or any other file system specified in the file /etc/checklist. This command checks for duplicate or missing links, bad blocks, an incorrect free list, and other defects. In most cases, when fsck finds an error, it will suggest a fix and ask for confirmation. fsdb — a file system debugger pro¬ gram used by people who feel competent to manually recon¬ struct file systems or alter disk records. Though an alternative to fsck for fixing the file system after a crash, fsdb requires a more detailed knowledge of the system. icheck — a utility program that checks the integrity of the inodes and free block list of a file system. The same task is now done at most installations by fsck. These programs are mostly used when there is some cause to suspect a problem in the file system, such as after a system crash or hardware error. logbook — a record of the actions taken by the system operator along with status information from the system. At large installa¬ tions, especially those with multi¬ ple operators, keeping a log is essential to maintaining orderly backups and keeping the system running smoothly. 92 UNIX REVIEW SEPTEMBER 1984 Circle No. 48 on Inquiry Card The Right Machine. 68000 The Right Operating System. UNIX The Right Language. Eiscal-2 Perfect Tming. Oregon Software 6915 S.W. Macadam Avenue, Portland, Oregon 97201 For Technical Information and Price, Call Toll-Free: 1 - 800 - 874-8501 In Oregon, Call: (503) 226-7760 UNIX is a trademark of Bell Laboratories. Circle No. 49 on Inquiry Card V GLOSSARY mkfs — the command used by the system administrator to create a new file system. After a file system is created, it must be mounted before it becomes accessible to the system. mknod — the command employed by the superuser to add devices to the system. The pro¬ cess, called “making a node,” adds appropriate entries to the /dev system directory. mount — to add a file system to a directory in the existing root file system. This process is usually done by the superuser, either dur¬ ing system startup or when disks or tapes are changed on removable-media devices. A new file system must be created with mkfs before it can be mounted for the first time, and if it is to be associated with a new directory, that entry must first be created with mkdir. multiuser — the normal state of a UNIX system, allowing more than one user to run jobs at various consoles. When UNIX is first booted up, however, it nor¬ mally comes up in single-user mode to allow the system operator to perform housekeeping and system maintenance. passwd — a command that the superuser can employ to change anyone’s password. Some ad- ministators supply new users with an initial password, but others leave the password initially blank and let users pick their own. However, the supervisor may fre¬ quently be called upon to use this command to assign a new password to users who have forgotten their existing ones. Nor¬ mal users can also use passwd to change their own passwords. real — when referring to system timing (as, for example, reported by the time command), “real” refers to absolute elapsed time — as it is seen from the outside world. This is also called “wall- clock” time. root — the user name for the superuser, so called because he or she “owns” the root directory. Some system commands can on¬ ly be executed by root. Also, root serves as the name of the highest directory in the file system, writ¬ ten /. MBPS SOFTWARE PROVIDES THE APL - UNIX® SOLUTION: DYALOG APL UNIX® based - fully functional commercial APL including nested arrays, upper and lower case data sup¬ port for the UNIX® environment, dynamic workspace size, external functions (callable subroutines written in other languages) full screen editor, error trapping, com¬ mercial formatter and a host of other desirable features. DYALOG APL is available for a variety of UNIX® computing environments including VAX®. PE, Gould. 3 B Series', NCR Tower, Zilog, Fortune, Perq, Ridge 1 , Pyramid 1 , and Sun'. For further information about DYALOG APL on your 68000, 16032 or 8086 base system, call or write today. MIPS Software Development. Inc. 31555 West 14 Mile Road Suite 104 Farmington Hills, MI 48018 313-855-3552 UNIX" in a trademark ol Bell Liborutnries VAX’ in a trademark ol Digital Equipment Corporation. I Call lot A\ailahilit\ naDD to of the many configurations made possible with FUSION. ■ With FUSION, any user on any system can perform file transfer, remote login, and remote execution. ■ FUSION offers a choice of two standard protocols—XNS or TCP/IP. Some cus¬ tomers have even developed private protocols. ■ Aid you can create your own application programs, using FUSION utilities. ■ FUSION accommodates all major LAN boards, too. So network interface is no obstacle. For further information please contact: Network Research Corporation 1101 Colorado Ave. Santa Monica, CA 90401 (213) 394-7200 (800) 541-9508 FUSION is a licensed trademark of Network Research Corporation. network research corporation See us at UNIX SYSTEM EXPO/84, Los Angeles, September 12-14, Booth #103 Circle No. 57 on Inquiry Card SECURITY TALKS The computers were really only storage organs to serve a com¬ munications facility. The indirect costs were trivial. It was primari¬ ly a question of upfront capital cost. Compared with the size of the company, this cost was absolutely trivial, just lost down in the noise level. The direct cost of even very good protection is not particularly high. REVIEW: What do you do when breaches occur? MORRIS: We have an organiza¬ tion within the company called the Assets Protection Organiza¬ tion where, theft of information is treated in exactly the same way as theft of physical assets. When a breach occurs, it’s routinely reported to the Assets Protection Organization. Things have ad¬ vanced to the point where com¬ puter break-ins are treated just like any other theft or interference — illegal acts that are treated as such. REVIEW: Do you think many of these breaches are malicious or not? MORRIS: I have never myself en¬ countered a genuinely malicious act, but I’ve read about them in the newpapers. I think the motivation for most of the kind of stuff you read about in the newspapers is one of two things: it’s either high school kids playing games or it’s crooks stealing. REVIEW: And even there, they're not particularly inclined to be destructive to other things: they're just trying to steal what they're trying to steal. MORRIS: Certainly. I think they just want to steal the stuff and get out. REVIEW: Would you say a little bit about the impact of UUCP on system security? MORRIS: Sure. I think UUCP makes the problem wider. First off, anything that makes access to a computer easier makes the security problem more difficult. Secondly, there is a tendency for the security of the networks — that is, of every computer on the system — to be that of the weakest. This brings up another impor¬ tant administrative problem. If Without SoftShell, learning to live with UNIX" could be a real trap. SoftShell is a convenient interface which guides you gracefully through UNIX. If you’re new to UNIX, or have the task of training new users, SoftShell simplifies its complexity. If you’re already a UNIX fan, you’ll love SoftShell because it augments your system. You’ll find yourself further exploring the great depth and ver¬ satility of UNIX. Available for UNIX System-Y, Berkeley 4.2 and IBM’s PC/IX, SoftShell is an invaluable tool for users at all levels of expertise. For information, contact Logical Software, Inc., 17 Mount Auburn Street, Cambridge, MA 02138, (617) 864-0137. UNIX is a trademark of AT&T Bell Laboratories. L LlL *-°9 ,ca f Software Inc. LLLL See SoftShell at UNIX EXPO in New York City, Oct. 16-18, Booth #617 Circle No. 44 on Inquiry Card 100 UNIX REVIEW SEPTEMBER 1984 you’re going to admit other com¬ puters onto the common network, then you have a stake in their security. If all the machines are within the same company, for example, the administration is going to have to insist that all those computers come under some known standards. REVIEW: In order to rationally approach the problem, UUCP in particular was distributed for a long time with permissions set so that people from remote sites could copy files from the host system. I gather that arrange¬ ments are being made for future releases of UUCP to be sent out in a form that is more restrictive. MORRIS: I’m not sure what form it’s being sent out in. The only thing I know for sure is that the 20 or 30 inhouse computers I have some contact with cannot be per¬ suaded from a remote place to send you any file at all if there was not a previous arrangement. They send files only from one particular directory, so that in order to let someone have a file, you would first have to put a copy of it in that directory. REVIEW: One concern that's been expressed to me relates to Ethernet and other local area net¬ works. In general, if passwords are sent over such a network, one machine with a promiscuous listening mechanism would be able to gather the passwords of anybody who signed on while it was listening. MORRIS: Oh yes, sure. But you assume in an Ethernet that you’ve got some control over who’s on the net. I mean, if you don’t and there’s promiscuous access to a local area network, all hell breaks loose. You’ve just got your stuff lying on the sidewalk. I don’t know of any situation like that. There is one other subject that’s related both to UUCP and the local area network. That is, in both of these situations, what real¬ ly happens is that the computer gets a message that it trusts is true. This confidence is some¬ times unwarranted. In all of these situations, fraudulent forged messages are possible. REVIEW: This is another mech¬ anism that should be classified with Trojan Horse programs. MORRIS: Not a bad idea. Be¬ cause, for example, with UUCP, you cannot find out who calls you up. But you can find out who they Things have advanced to the point where computer break-ins are treated just like any other theft or interference. said they were. So I can write up my own version of a UUCP pro¬ gram, run it, and thus tell the machine I call up that I’m some¬ body else. They’d have a heck of a job trying to get beyond that information. So you get a message and you place a measure of trust in it because you estimate what the risks are in leaving the message. REVIEW: I have one major ques¬ tion left, and it's the most open- ended of the set. What do you see as the future of security manage¬ ment? MORRIS: As time goes on, I think we’re going to see increased awareness and perception of the risks and exposures. I think that’s going to happen faster than any really important technical devel¬ opments. I doubt, for example, that encryption will become a very big part of all this, because encryption has been around for a long time. So instead of relying on encryption, I think that when peo¬ ple begin to estimate costs, there will be a strong impetus to write better software. I think a program of the general nature of UUCP will be written with specific require¬ ments laid out in advance. There’s a strong, growing interest in information protection. Everywhere around I see the sub¬ ject getting more and more atten¬ tion at all levels — higher levels than in the past. So I am fairly optimistic. REVIEW: Are we seeing it show up, for example, in MBA programs in the various universities? MORRIS: Oh, yes. I give talks all the time. I’ve given six or eight talks this year alone — govern¬ ment and nongovernment, indus¬ trial, university and conference audiences. I very rarely accept an invita¬ tion from an outside company. The last time I did, it was a very large company, and sitting in on my talks was the president of the company and every vice presi¬ dent. REVIEW: The point is: they had already come to the same conclu¬ sion you had. That is. they already saw that the problem was largely an administrative one. MORRIS: Completely. I was very pleased with that. Those people are on the right track, and they will have no problems at all. I could have walked out at the beginning of my talk and simply said, “Hey, just the fact that you guys are here means that you SEPTEMBER 1984 UNIX REVIEW 101 SECURITY TALKS know what the problem is and how to solve it.” Security is not strictly a mat¬ ter of administrative policy, though. I would like to talk about what I think is the most important of all the technical solutions put into place — the notion of the auto - trace. I consider that supremely important. Whatever software you have on a computer that attempts to foil unauthorized disclosure might work, or it might not work. If it doesn’t, you’ve perhaps lost some information, but what is Computer and information security is primarily an economic problem. characteristically much more im¬ portant is that you may have lost something and not even know you’ve lost it. But if you put a lot of investment in setting up audit trails, you can at least find out when something has happened, and find out from the records how it happened. In that way, you can at least close the door after the horse is gone, which is a whole lot better than not closing the door at all. REVIEW: Or not even noticing that the horse is missing. ■ Coming up in October • Is it still UNIX? • Front-end schemes. • Measures for comparability. • Reasons behind mainframe interest in UNIX. • The CAE connection. • Historical perspectives. 102 UNIX REVIEW SEPTEMBER 1984 THE INDEPENDENT UNIX* BOOKSTORE OVER 60 UNIX AND C ITEMS IN STOCK INCLUDING ■ UNIX BOOKS The UNIX System by Stephen R. Bourne (Addison-Wesley) Operating System Design: The XINU Approach by Douglas Comer (Prentice-Hall) The UNIX Programming Environment by Brian Kernighan and Rob Pike (Prentice-Hall) A Practical Guide to the UNIX System by Mark G. Sobell (Benjamin/Cummings) ■ C BOOKS The C Puzzle Book by Alan R. Feuer (Prentice-Hall) The C Programming Language by Brian W. Kernighan and Dennis M. Ritchie (Prentice-Hall) Learning to Program in C by Thomas Plum (Plum-Hall) C Programming Guide by Jack Purdum (Que Corp.) ■ C and vi REFERENCE CARDS ■ PERIODICALS UNIQUE UNIX Review World UNIX & C ■ vi POSTER, UNIX SHELL POSTER ■ T-SHIRTS “UNIX is a Trademark of Bell Laboratories” “-rwxrwxrwx” “grep for it” ”awk: bailing out near line 1 ” ■ NEW ITEM UNIX Coffee Mug “UNIX” in blue on outside “is a Trademark of Bell Laboratories” THE inside lip imprint Porcelain mug, kiln-fired permanent color Call or write for a complete catalog Mail and phone orders only. We ship anywhere in the U.S. Contact us for shipping elsewhere. A Division of * UNIX Is a Trademark of Bell Laboratories International Technical Seminars 520 Waller Street San Francisco, CA 94117 (415) 621-1593 Circle No. 59 on Inquiry Card CALENDAR SEPTEMBER September 11-14 UNIX Systems Expo/84, Los Angeles, CA. Contact: Computer Faire. Inc., 611 Veterans Boulevard, Redwood City, CA 94063. 415/364-4294. orCFI in Newton. MA. 617/965-8350. September 19-21 UNIX Systems Exhibition 84, Cambridge. England. Contact (Organized for the EUUG and /usr/group by): Network Events Limited. Printers Mews, Market Hill, Buckingham, MK181JX. England. (0280) 815226. OCTOBER October 2-4 East Coast Computer Faire. Boston, MA. Contact: Computer Faire. Inc. (see September 11-14). October 16-18 UNIXEXPO. The UNIX Operating System Exposition. New York. NY. Contact: National Expositions Co.. Inc., 14 West 40th Street, New York, NY 10018. 212/391-9111. October 25-28 The Second PC Faire, San Francisco. CA. Contact: Computer Faire, Inc. (see September 11-14). NOVEMBER November 14-18 Comdex, Las Vegas, NV. Contact: The Interface Group, Inc., 300 First Avenue. Needham, MA 02194. 617/449-6600. JANUARY 1985 January 22-25 UniForum, The International Con¬ ference of UNIX Users, Dallas, TX. Contact: UniForum/Professional Exposition Management Co.. 2400 East Devon Avenue, Des Plaines, IL 60018. 800/323-5155. TRAINING CALENDAR SEPTEMBER September 5 AT&T Technologies, Hopewell, NJ: "UNIX System Screen Editor vi." Contact: AT&T Technologies, Corporate Education & Training, PO Box 2000, Hopewell, NJ 08525. 800/221-1647. September 5 AT&T Technologies, Sunnyvale, CA: “Fundamentals of the UNIX Operating System for Programmers.” Contact: AT&T (see September 5). September 5-7 CAPE Seminar, Austin, TX: "A User- Oriented Evaluation Three-Day Seminar: UNIX.” Contact: Center for Advanced Professional Educa¬ tion, 1820 East Garry St., Suite 110, Santa Ana, CA 92705, 714/261-0240. September 5-7 Digital Seminar Program, New York, NY: “Comprehensive Overview of the UNIX Operating System.” Contact: Digital Educational Services, 12 Crosby Dr.. Bedford, MA 01730. 617/276-4949. September 6 AT&T Technologies, Lisle, IL: “Over¬ view of the UNIX System." Contact: AT&T (see September 5). September 10 AT&T Technologies, Sunnyvale, CA: “Shell Command Language for Programmers.” Con¬ tact: AT&T (see September 5). September 10 AT&T Technologies, Lisle, IL: “Fun¬ damentals of the UNIX Operating System for Users." Contact: AT&T (see September 5). September 10 AT&T Technologies, Hopewell, NJ: "UNIX System Document Preparation.” Contact: AT&T (see September 5). September 10 NCR Education Seminars, Dallas, TX & Dayton, OH: “UNIX Operating System." Contact: NCR Education Center, 101 West Schantz Ave., Dayton, OH 45479. 800/841-CASE, or in Ohio, 800/845-CASE. September 10 NCR Education Seminars, New York, NY: “C Programming.” Contact: NCR (see September 10). September 10 Pulsetrain Seminar. New York. NY: “PROLOG Programming Seminar.” Contact: Pulsetrain, Attn: John Malpas, 747 Greenwich St., New York. NY 10014. 212/255-2385. September 10-12 Computer Technology Group, San Francisco, CA: "UNIX Fundamentals for Non- Programmers.” Contact: CTG, Telemedia, Inc., 310 S. Michigan Ave., Chicago, IL 60604. 800/323-UNIX or in Illinois, 312/987-4082. September 10-14 Bunker Ramo Information Systems. Trumbull, CT: “Advanced C.” Contact: Bunker Ramo Information Systems, Training Ser¬ vices Group, Trumbull Industrial Park. Trumbull, CT 06609. 203/386-2223. September 10-14 Structured Methods Seminar, New York, NY: “UNIX System Workshop.” Contact: Structured Methods, Inc., 7 West 18th St., New York. NY 10011. 800/221-8274, or in NY, 212/741-7720. September 10-14 Uniq Digital Technologies Seminar, Chicago, IL: “The UNIX Operating System.” Contact: Uniq Digital Technologies, Attn: Dennis Meyer, 28 South Water St., Batavia, IL 60510. 312/879-1566. September 11 Computer Technology Group. New York, NY & Washington, DC: “UNIX Overview.” Con¬ tact: CTG (see September 10-12). September 12-14 CAPE Seminar, Philadelphia. PA: “A User-Oriented Evaluation Three-Day Seminar: UNIX.” Contact: CAPE (see September 5-7). September 12-14 Computer Technology Group, New York, NY & Washington, DC: “UNIX Fun- 104 UNIX REVIEW SEPTEMBER 1984 Everything You Need To Know About UNIX . .. But Don't Know Where To Ask The Unix Operating System Exposition & Conference October 16,17,18,1984 Sheraton Centre Hotel- Conference Marina Expo Complex- Exposition Learn To Earn at the Conference Program A penetrating, multi-track slate of seminars focusing on the most vital technical and business areas of UNIX has been developed by noted UNIX advocate, James Joyce, President, International Technical Seminars. Attending the conference will help you achieve a full understanding of what is destined to be the major computer operating system for the coming decades. UNIX EXPO The comprehensive, practical business/learning event designed solely and specifically to address the myriad business and technical aspects of the UNIX OPERATING SYSTEM. UNIX EXPO is the national trade show that will bring ISO's, sophisticated end- users, technical personnel, OEM's, software dealers, and other resellers face-to-face with the leading suppliers to the industry at the exposition, and the leading UNIX authorities at the conference program. By attending this three day forum, you can be prepared to position yourself at the vanguard of the UNIX revolution. Inspect - Compare - Question - Select all of the UNIX products and services on display at the 350 booth exposition. The nation's leading suppliers of UNIX and UNIX-like hardware, software, peripherals and services are anxious to talk business with you. Meet the Leaders in the Expanding UNIX Universe For three days in October, New York City, the heart of the largest computer marketplace in the world, will become the core of the UNIX universe; creating an unparalleled opportunity for you to meet and exchange ideas, theories and information with your colleagues. Expand Your Horizons At the Job Fair PENCOM SYSTEMS, the national recognized leader in UNIX recruiting will host a special JOB FAIR at UNIX EXPO where exhibiting firms will disseminate information regarding employment opportunities. Your career objectives can be discussed, and meetings with company representatives scheduled. Return to: National Expositions Co., Inc. 14 W. 40 St. N.Y., N.Y. 10018 □ I am interested in attending UNIX EXPO. □ I am interested in exhibiting in UNIX EXPO. Please send me full details. UNIX EXPO Company Address _ Want All The Details?... Just Ask Contact NATIONAL EXPOSITIONS —or— return coupon City _ State Zip L Or Call: 212/391-9111, for immediate information Circle No. 60 on Inquiry Card damentals for Non-Programmers.” Contact: CTG (see September 10-12). September 12-14 Digital Seminar Program, New York, NY: ‘‘The C Programming Language.” Con¬ tact: Digital Educational Services (see September 5-7). September 13 AT&T Technologies, Lisle, IL: “Shell Command Language for Users.” Contact: AT&T (see September 5). September 13-14 Computer Technology Group, San Francisco, CA: “Shell as a Command Language.” Contact: CTG (see September 10-12). September 17 NCR Education Seminars, Dallas, TX: ‘‘UNIX System Administration.” Contact: NCR (see September 10). September 17 NCR Education Seminars, Dayton, OH: “C Programming.” Contact: NCR (see September 10). September 17-19 Computer Technology Group, New York, NY & Washington, DC: ‘‘UNIX Fun¬ damentals for Programmers.” Contact: CTG (see September 10-12). September 17-21 Bunker Ramo Information Systems, Trumbull, CT: “Intro to UNIX.” Contact: Bunker Ramo (see September 10-14). September 17-21 Computer Technology Group, San Francisco, CA: “C Language Programming.” Con¬ tact: CTG (see September 10-12). September 17-21 Plum Hall Training, Princeton, NJ: “C Programming Workshop.” Contact: Plum Hall, 1 Spruce Ave., Cardiff, NJ 08232. 609/927-3770. September 17-21 Uniq Digital Technologies Seminar, Chicago, IL: “UNIX System Administra¬ tion.” Contact: Uniq (see September 10-14). September 18-21 Integrated Computer Systems Seminars, Washington, DC: ‘‘Hands-on UNIX Workshop.” Contact: Integrated Computer Systems Seminars, 6305 Arizona Place, Los Angeles, CA 90045. 800/421-8166, or in CA, 800/352-8251. September 19-21 CAPE Seminar, San Francisco, CA: ‘‘A User-Oriented Evaluation Three-Day Seminar: UNIX.” Contact: CAPE (see September 5-7). September 20-21 Computer Technology Group, New York, NY & Washington, DC: “Shell as a Com¬ mand Language.” Contact: CTG (see September 10 - 12 ). September 24 AT&T Technologies, Sunnyvale, CA: “C Language for Experienced Programmers.” Con¬ tact: AT&T (see September 5). September 24 AT&T Technologies, Lisle, IL: “Soft¬ ware Development Under the UNIX System.” Con¬ tact: AT&T (see September 5). September 24 AT&T Technologies, Lisle, IL: “UNIX 106 UNIX REVIEW SEPTEMBER 1 984 System Device Drivers.” Contact: AT&T (see September 5). September 24 NCR Education Seminars, Chicago, IL: “C Programming.” Contact: NCR (see September 10 ). September 24 NCR Education Seminars, Dayton, OH: “UNIX System Administration.” Contact: NCR (see September 10). September 24-25 Computer Technology Group, San Francisco, CA: “Shell Programming.” Contact: CTG (see September 10-12). September 24-26 CAPE Seminar, Denver, CO: “A User-Oriented Evaluation Three-Day Seminar: UNIX.” Contact: CAPE (see September 5-7). September 24-28 Bunker Ramo Information Systems, Trumbull, CT: “C Programming.” Contact: Bunker Ramo (see September 10-14). September 24-28 Computer Technology Group, New York, NY & Washington, DC: “C Language Pro¬ gramming.” Contact: CTG (see September 10-12). September 24-28 Structured Methods Seminar, New York, NY: “C Programming Workshop.” Con¬ tact: Structured Methods (see September 10-14). September 24-28 Uniq Digital Technologies Seminar, Chicago, IL: “C Programming Language.” Contact: Uniq (see September 10-14). September 25 Computer Technology Group, Chicago, IL: “UNIX Overview.” Contact: CTG (see September 10-12). September 25-28 Integrated Computer Systems Seminars, Washington, DC: “Programming in C: Hands-on Workshop.” Contact: ICSS (see September 18-21). September 26 AT&T Technologies, Lisle, IL: “UNIX System Tools.” Contact: AT&T (see September 5). September 26-28 Computer Technology Group, Chicago, IL: ‘‘UNIX Fundamentals for Non- Programmers.” Contact: CTG (see September 10 - 12 ). September 26-28 Computer Technology Group, San Francisco, CA: “Using Advanced UNIX Commands.” Contact: CTG (see September 10-12). OCTOBER October 1 AT&T Technologies, Sunnyvale, CA: “Shell Command Language for Programmers.” Con¬ tact: AT&T (see September 5). October 1 AT&T Technologies, Hopewell, NJ: “Fun¬ damentals of the UNIX Operating System for Users.” Contact: AT&T (see September 5). October 1 AT&T Technologies, Lisle, IL: “Fun¬ damentals of the UNIX Operating System for Pro¬ grammers.” Contact: AT&T (see September 5). October 1 NCR Education Seminars, New York, NY: “UNIX Operating System.” Contact: NCR (see September 10). Circle No. 61 on Inquiry Card ► BEAT OUR BENCHMARK GET THIS WATCH. Take the Plexus Challenge. Everybody in the UNIX-based supermicro business talks performance. Only Plexus dares to prove it... with the Plexus Challenge: Show us a UlMIX-based supermicro that can beat Plexus—running any recognized bench¬ mark (or even your own application code*) -and we'll present you with this elegant Heuer chronograph valued at $485.00. How do we dare make this offer? Simple: our multiprocessor architecture and highly-tuned version of UNIX leave the single-CPU competition in the dust. Multibus architecture and intelligent I/O processors let you expand modularly from IPIUEXIUS 5 to 40 users—without changing a single byte of object code. Are you thinking "Fine, but I really don't need all that performance"? Well, some of our customers tried other hardware first. They used to think the same thing. Challenge details: This offer is extend¬ ed to bona fide OEM's, value-added resellers, and volume end-users in the multiuser commercial UNIX systems market. Limit one award per company. Offer expires Jan. 31,1985 unless with¬ drawn earlier. For complete rules and parti¬ cipation information, call (800) 556-1234 Ext. 560 (in Calif. (800) 441-2345 Ext. 560) Supermicros built for speed. Plexus Computers Inc.. 3833 North First Street, San Jose, CA 95134 •Subject to prior approval © 1984. UNIX is a trademark of AT&T Bell Laboratories. Multibus is a trademark of Intel Corp. ADVERTISERS INDEX Accucom Data.16 Aim Technology.21 Applix. 9 AT&T Technologies.10 BASIS.92 Century Software.76 Cincom. 79 Codata.69 Computer Cognition.24 Computer Consoles, Inc.48 Computer Corp. of America. 86 Computer Faire.61 Computer Methods. 11 Computer Technology Group.67 Convergent Technology.Center Spread COSI.19 Cray Research. 77 Emerald City Inc. 47 Faircom.70 Gould. 75 Handle Corp. 15 Heurikon.98 Hewlett-Packard.50, 51 Human Computing Resources.13 IB.C.Cover IV Image Network. 56 57 ITS.103 JMI.41 Korsmeyer Electronic Design.96 Lachman Associates. 91 Lantech.85 Lawrence Livermore Labs.76 Logical Software.100 Manx Software.25 Mark Williams. 17 Micro Focus.87 Microware Systems.71 MIPS Software. 94 Network Consulting. 90 Network Research. 99 NIAL Systems. 92 Oasys.89 Oregon Software. 93 Plexus. 107 Prodata. 92 Productivity Products.84 Quality Software.108 Relational Database Systems.5, 6 , 7 Relational Technology Inc.65 Rhodnius. 31 Santa Cruz Operation.Cover III Scientific Placement. 66 SHA Computers.84 Soft Faire. 97 Software Results.80 Southwind Software. 95 Tektronix.82 Telecon. 94 Telos Consulting Services.96 Unify.cover II, 1 Unipress Software.81, 83 Uniq Digital. 73 Unisoft. 45 UNIX EXPO. ... 105 User Training Corp. 66 Visual Technology.58, 59 Xidak. 49 LOTUS 1-2-3* MOVE OVER QUALITY SOFTWARE ANNOUNCES Q-CALC (version 3.0) • spreadsheet • data management • forms processing • graphics PLUS it runs on UNIX For more information write/call Quality Software Products 348 S. Clark Dr. Beverly Hills, CA 90211 213-659-1560 ‘Lotus 1-2-3 is a trademark of Lotus Development Corp. Circle No. 69 on Inquiry Card BACK ISSUES AVAILABLE June/July 1983.□ August/September 1983.□ October/November 1983.□ December/January 1984.□ February/March 1984.□ April/May 1984.□ June 1984.□ July 1984.□ August 1984.□ All back issues are $4.95, including postage and handling. Enclose payment or credit card information or call 206/271-9605. Name_ Company_ Address_ City _ State _ Zip _ M/C or VISA_ Exp. Date_ AUGUST 1984 UNIX REVIEW . t s'' tL ,X i 5 «",*'# T ,r\e^ „ot^^s> e " .,r a"°f^ ea 0 y &!£?*'*■ ( \c\n9 .„ >f n>: ^5 s^' 0 o''* 1 ' sol^^V’ 6 ' , s i' lU ’ 0, „ ,V^ ie,p , r o# fl , c 0 t»%»li' e sf>^ e^%e ^ e1 et lU*VS> 5 ?' rSf^' <$<>** 0 u^ e V *’>^ s ' ffl -S.'Sjfi'**' S ^ lt1 $s>' 0 »\ cofl ' ?U ' V^s** ®l9» 4 Circle No. 76 on Inquiry Card UNIX HORSEPOWER! There are a lot of UNIX based systems on the market today claiming to be "SUPERMICROS". But do they really have what it takes to run multi-user UNIX well? The IBC ENSIGN™ does and here's why: FAST MEMORY: No computer running at any clock speed can run faster than it's overall memory design. The ENSIGN has up to 8MB of 120nsec memory with dual bit error correction. With IBC's proprietary memory management all of this memory runs with no wait states as fast as the 68000 CPU will go. Compare this to other systems running only small cache memories at full speed. Other multiple user systems cannot load all their programs into a small cache memory. Their systems slow down considerably under a heavy multi-user load. supports SMD type 8" hard disks with much faster seek times and transfer rates than 514" hard disks usuallyfound in personal desk top computers. THE RESULTS: The IBC ENSIGN runs multi-user UNIX at performance levels not attainable by other supermicros. Call IBC and get a copy of IBC's multi-user bench¬ marks—benchmarks that test 8 users running large CPU programs, with heavy disk I/O and heavy serial I/O simultaneously. You'll find that nothing can compare tc INTELLIGENT SERIAL I/O CONTROLLER: Even the fastest CPU will slow down when it's trying to handle interruptions from multiple on-line users. The ENSIGN provides slave serial I/O CPU's and FIFO buffering for both input and output. The result is the ENSIGN'S ability to support up to 32 users, with heavy serial I/O demand, while leaving the main 68000 CPU free to run with little serial I/O overhead. INTELLIGENT DISK CONTROLLER AND HIGH PERFORMANCE DISK DRIVES: The ENSIGN has a slave CPU to handle all disk operations, plus 16Kof disk buffering. IBC's proprietary disk DMA allows high speed data transfer to main memory without slowing down the main CPU. Further, the ENSIGN If you want to run multi-user UNIX on a high performance system with up to 32 users, 8MB memory, and over 1,000MB disk storage, see the IBC ENSIGN. Outside The USA JSC/ Integrated Business Computers 21621 Nordhoff Street Chatsworth, CA 91311 (818) 882-9007 Telex No. 215349 Within The USA JSC/ DISTRIBUTION 1140 36th Street Suite 212 Ogden, Utah 84403 (801)621-2294 UNIX is a trademark of Bell Laboratories Circle No. 67 on Inquiry Card