coggs@boulder.UUCP (Bob Coggeshall) (12/10/85)
THE 1986 WINTER USENIX TECHNICAL CONFERENCE The 1986 Winter USENIX Technical Conference scheduled for January 15- 17, 1986 in Denver, Colorado is sponsored by the USENIX Association. The USENIX Conferences are dedicated to fostering the development and communica- tion of research and technological information and ideas pertaining to UNIX* and UNIX-related items. The USENIX Association is a not-for-profit organization of AT&T licen- sees, sublicensees, and other persons formed for the purpose of exchanging in- formation and ideas about UNIX and UNIX-like operating systems and the C pro- gramming language. All technical sessions and tutorials will be held at the Denver Marriott - City Center, the Conference Headquarters. For further in- formation or to receive a complete registration package please contact: USENIX CONFERENCE OFFICE P.O. BOX 385 SUNSET BEACH, CA. 90742 (213) 592-1381, (213) 592-3243 TECHNICAL SESSIONS Emphasis will be placed of three topic areas in a workshop-oriented setting, scheduled as follows: Wednesday, January 15...............Window Environments and UNIX Thursday, January 16...................UNIX on Big Iron Friday, January 17.........................Ada** and the UNIX System *UNIX is a trademark of AT&T Bell laboratories **Ada is a registered trademark of the U.S. Government-Ada Joint USENIX UNIX TUTORIAL PROGRAM AND INFORMATION The USENIX Association is once again offering its well respected program of intensive UNIX tutorial sessions. These sessions focus on essential areas of UNIX technology, providing in-depth coverage of a number of areas. These are not "market overview" discussions- the tutorial sessions are taught by leading experts, aimed at an audience of software professionals and technical managers, and should be immediatly applicable to UNIX systems development and maintenance. This is your opportunity to learn from an expert at reasonable cost and at a convenient time. Several of the tutorials are directly related to the workshops being presented at the Conference. In order to allow atten- dees to register for a tutorial and a related workshop, most tutorials are scheduled on a day adjacent to the related workshop. Attendance will be lim- ited, and pre-registration is strongly advised. On site registration will be allowed, but only if space permits. WEDNESDAY, JANUARY 15th 9:00AM-5:00PM TECHNICAL SESSION: WINDOW ENVIRONMENTS AND UNIX This meeting will explore the design and integration of UNIX-based window systems and their applications. Three sessions and a panel discussion have been organized. TUTORIALS: 1 DESIGN CONSIDERATIONS FOR SNA COMMUNICATIONS UNDER UNIX INSTRUCTOR: DANIEL FISHER, SYSTEMS STRATEGIES, INC. One of the major design considerations a developer must address when in- tegrating SNA or other communications protocols into a UNIX-based system is the distribution of software system components. This presentation will define the three basic options open to the developer for placement of software com- ponents: utilization of user space; integration at the kernel level; and board level integration. The relative advantages and disadvantages of each alterna- tive will be discussed in detail. Sample implementations of an SNA/3270 emu- lation and an X.25 emulation on UNIX-based systems will then be presented, followed by a discussion of the concept of streams implementation currently under development at AT&T Information Systems and its future implications as they relate to UNIX users. 2 UNIX DEVICE DRIVER DESIGN (4.2BSD) INSTRUCTOR: DANIEL KLEIN, CONSULTANT This course is designed for people who wish to become familiar with the fun- damentals of designing UNIX device drivers. A knowledge of the major struc- tures and internals of 4.2BSD UNIX is a desirable prerequisite for this tu- torial, although a specific knowledge of the finer details is not required. This tutorial will cover the major aspects of driver design, implementation, and device integration. Both DMA and programmed I/O device drivers will be covered, as well as block and character (buffered and unbuffered) interfaces. We will outline the design and implementation of structured I/O devices (i.e. disk drives), and semi-structured devices (i.e. tape drives and serial commun- ications links). This course will also discuss all aspects of adding a new device to the kernel (i.e. autoconfiguration, special files, device tables, and debugging). The intended audience for this course is systems programmers who will be actively engaged in the maintenance or design and implementation of UNIX device drivers. Although this course will be geared towards 4.2BSD, a comparison between the Berkeley and Bell Labs approaches will be offered. Users of System III or System V will therefore find this course to be informa- tive. 3 SYSTEM V INTERPROCESS COMMUNICATION APPLICATION PROGRAMMING INSTRUCTOR: DR. JON H. LaBADIE, AUXCO This tutorial will be targeted toward application programmers who wish to know how and why to use the interprocess communication (ICP) facilities described in the UNIX System V Interface Specification. Syntax and examples of the use of the seven types of IPC facilities will be discussed. The facil- ities to be covered include: semaphores, message queues, shared memory, named and unnamed pipes, signals, and process waiting and exit status. 4 ADA* - FROM THE TOP: AN INTRODUCTION INSTRUCTOR: PUTNAM P. TEXEL, TEXEL & COMPANY This tutorial is designed for those individuals familiar with a procedure oriented high order language, but do not have much familiarity with Ada. The level of the tutorial is applicable for managers who need to understand Ada concepts and software engineers taking their first look at this most powerful and expressive language. 5 UNIX SYSTEM V INTERNALS INSTRUCTORS: MAURY BACH AND STEVE BUROFF, AT&T INFO. SYSTEMS This tutorial is a survey of the internal structure of AT&T's UNIX System V, and it is intended for people who maintain, modify, or port UNIX systems. The tutorial will discuss existing UNIX kernel concepts such as I/O system, file system, and process and memory management, as well as new features to be in- cluded in the next release of System V, such as the file system switch, streams, remote file sharing, and shared libraries. Attendees should have a good working knowledge of the UNIX system; basic kernel knowledge is recom- mended. THURSDAY, JANUARY 16th 9:00AM-5:00PM TECHNICAL SESSION: UNIX ON BIG IRON During this session we will discuss the use of UNIX on two new classes of systems- very large single processor machines such as the Cray-1, and systems with many processors such as the Alliant. Topics which will be included: % Implementation of UNIX in these environments % Operational and performance issues % Interaction between the basic design of UNIX and these environments % Using the UNIX environment on large systems for application production TUTORIALS 6 INTRODUCTION TO 4.2BSD INTERNALS INSTRUCTOR: DR. THOMAS W. DOEPPNER, JR., BROWN UNIVERSITY This tutorial is geared to the programmer with a good knowledge of UNIX pro- gramming in C, but with little or no experience with UNIX internals. The course will cover process management, high-level I/O (including the file sys- tem), low-level I/O (i.e. device drivers), virtual memory, interprocess com- munication and networking. After taking the tutorial, the individual will have a basic knowledge of the structure of 4.2BSD and should be able to make his or her way through kernel code. 7 WINDOWING SYSTEMS IMPLEMENTATIONS INSTRUCTOR: DAVID ROSENTHAL, SUN MICROSYSTEMS, INC. The course is intended for developers of UNIX window manager applications. It will survey the range of current window systems, concentrating on the programmer's interface, the imaging model, and their support for interaction techniques. Familiarity with C and the UNIX programming environment will be assumed. 8 LANGUAGE CONSTRUCTION TOOLS ON THE UNIX SYSTEM INSTRUCTOR: STEPHEN C. JOHNSON, AT&T BELL LABORATORIES This tutorial is intended for C programmers who want to become familiar with the language development tools available on the UNIX system. The course will be directed towards application designers who may wish to use these tools to make front ends for their applications, rather than towards "traditional" com- piler writing. Specific topics covered include: designing a language recog- nizer, the lex and yacc programs, symbol table issues, error reporting and recovery, strong type checking, and testing. Several in-class exercises will be given to lead the students through the construction of a simple front end. 9 ADVANCED C PROGRAMMING INSTRUCTOR: WILLIAM C. STEWARD, AUXCO This tutorial will be directed toward applications programmers with at least six months experience in the C language. Its focus is on the theories behind C language syntax, which will be illustrated with programming examples. The topics for discussion include: multi-dimensional arrays, pointers to arrays, structures and pointers to structures, pointers to functions, and dynamic memory allocation and linked lists. FRIDAY, JANUARY 17th 9:00AM-5:00PM TECHNICAL SESSION: ADA AND THE UNIX SYSTEM The Ada and UNIX session will educate and inform UNIX users about the new programming language Ada and Ada mavens about the UNIX system. The prelim- inary agenda includes an introduction to the world of Ada with projections about Ada's future growth, a demonstration of a large real- time Ada applica- tion running under UNIX, and a variety of technical papers on the use of Ada with UNIX systems. No prior experience with Ada is required; talks and presentations will help you understand Ada itself and its relation to UNIX programming and environments. The technical paper sessions will include talks comparing C and Ada under UNIX systems, approaches to providing the standard Ada system interfaces to UNIX systems, Ada run-time systems implemented in UNIX environments, revision control and library management systems specially adjusted for the problems of Ada programs, and several common UNIX facilities re-implemented in Ada. Both European and American authors will be represent- ed. Papers will stress the problems and opportunities UNIX systems provide for Ada environments and may help you see some UNIX capabilities. TUTORIALS 10 ADVANCED TOPICS ON 4.3BSD INTERNALS INSTRUCTORS: MIKE KARELS AND MARSHALL KIRK McKUSICK UNIVERSITY OF CALIFORNIA, BERKELEY This tutorial is directed to systems programmers who have taken a course on 4.2BSD internals or who have had at least a year of experience working on the 4.2BSD kernel. The tutorial will cover the performance work done for 4.3BSD and will also discuss recent and planned changes to the kernel interfaces and facilities. The intent of the tutorial is to present a wide variety of ma- terial at a descriptive level. Presentations will emphasize code organiza- tion, data structures, and algorithms. 11 UNIX NETWORKING INSTRUCTOR: BRUCE BORDEN, SILICON GRAPHICS, INC. Local area networks (LAN's) are slowly finding mass acceptance with the entry of IBM into the competition. In October or November, industry analysts expect IBM to announce yet another LAN, probably based on the 802.5 standard but with unknown protocol software. This tutorial will cover the 802.X standards and the most common protocols in use today and expected for the future. Sun's NFS and AT&T's distributed file systems will be compared. Berkeley's Socket im- plementation will be compared with AT&T's Streams. This tutorial is directed at experienced UNIX users and developers with knowledge of Ethernet (802.3) and IP/TCP. It is not an introductory tutorial, and will not teach attendees how to program Berkeley 4.X networks. 12 MANAGING A LOCAL AREA NETWORK INSTRUCTORS: EVI NEMETH AND ANDY RUDOFF UNIVERSITY OF COLORADO, BOULDER This tutorial is a summary of all the things we (and many others) have learned over the past couple of years in managing a growing local area net- work. It is intended for system administrators and others involved in plan- ning, configuring, installing, and maintaining a networked UNIX facility. The tutorial emphasizes 4.2/4.3BSD networks, yet includes issues that are global to all networks. Topics to be covered are: building the network including hardware/software installation; global management schemes including source code management, login management, resource management; distributed tools to make these chores easier; security; accounting; heterogeneous hardware (IBMs and others); other protocols (non TCP/IP). 13 INTRODUCTION TO UNIX SYSTEMS ADMINISTRATION INSTRUCTOR: ED GOULD, MT XINU The basics of administering a UNIX system will be covered. The tutorial will be oriented mainly towards Berkeley VAX UNIX systems, but the principles, and some of the examples, will apply to System V, 2.9BSD, and other systems. To- pics covered will include system startup and shutdown, resource management, performance and tuning, the UNIX file system, and security, as well as others. The tutorial is designed for systems administrators, not for systems program- mers. A rudimentary knowledge of UNIX is assumed. 14 WRITING PORTABLE C PROGRAMS INSTRUCTOR: DR. TOM PLUM, PLUM HALL, INC. Today the C programming language is widely used to implement portable appli- cations programs. But there are many pitfalls for the unwary, some obvious, but some very subtle. If you are not aware of the issues, it is easy to write programs that will not operate correctly in another hardware architecture, or another UNIX version, or another version of the C compiler. It then becomes expensive to move the application to a new machine. This course will teach you to recognize the trouble spots and avoid the pitfalls. You will learn to write truly machine-and system- independent code, and to protect yourself when this is not possible. This course is intended for experienced C application developers. If you are involved in the development of software which is to be used or distributed of a variety of systems, you should take this course. Daily Registration Fees One Day Two Days Three Days Member Fee (Pre-reg, before 12/27) $150 $250 $300 (Late, after 12/27) 200 300 350 Non-Member (Pre-reg) 180 280 330 (Late) 230 330 380 Student (Anytime) 75 125 150 ($30 of non-member rate may be used to pay 1986 USENIX membership dues.)