USENIX SUMMER 1991 TECHNICAL CONFERENCE & EXHIBITION: TUTORIAL PROGRAM

Carolyn Carr carolyn at usenix.ORG
Wed May 22 08:08:46 AEST 1991


       	USENIX SUMMER 1991 TECHNICAL CONFERENCE & EXHIBITION
	             Nashville, Tennessee

                MULTIMEDIA FOR NOW AND THE FUTURE  

		     **TUTORIAL PROGRAM**


RESERVE YOUR HOTEL ROOM NOW! ROOMS ARE GOING FAST!

If you wish to receive a brochure, contact:

                        USENIX Conference Office
                        22672 Lambert St., Suite 613
                        El Toro, CA  92630
                        Telephone # (714) 588-8649
                        FAX # (714) 588-9706
                        email address:  judy at usenix.org


MAKE YOUR HOTEL RESERVATIONS EARLY!  Opryland Hotel and most other 
hotels in the area will be SOLD OUT due to the International Country 
Music Fan Fair (with the must-see Grand Masters Fiddlers Convention).

Special rates have been arranged for USENIX attendees at the hotels
listed below.  Call the hotel of your choice DIRECTLY.  BE SURE TO
MENTION that you are attending the USENIX Conference/Exhibition to take
advantage of the group discount.  A one night's deposit is required
for each room reserved.

*Opryland Hotel (Headquarters)
 2800 Opryland Drive, Nashville, TN 37214
 615/889-1000

 "Traditional Room" rates:     Single:  $114	Double:  $129
 "Golden Terrace" room rates:  Single:  $144	Double   $159

*Shoney's Inn of Music Valley (Nearby with shuttle services available)
 2420 Music Valley Drive, Nashville, TN 37214
 615/885-4030

              Room Rates: Single or Double Room:  $84

*Sheraton Music City Hotel
 777 McGavock Pike, Nashville, TN 37214
 615/885-2200

	      Room Rates:  Single or Double Room: $92

***********************************************************************

TUTORIAL PROGRAM
Monday and Tuesday, June 10 & 11

*****
Special Note for Full-Time Students

A limited number of seats in each tutorial has been reserved for
full-time students at a special fee. For complete details contact
the USENIX Conference Office at 714/588-8649. 

*****

M1
Programming in Perl
Instructor:     Tom Christiansen, CONVEX Computer Corporation

INTENDED AUDIENCE: This tutorial is designed for programmers who 
do substantial amounts of shell programming.  It is especially suited 
for system administrators in a heterogeneous environment.  Some 
experience in sh, sed, awk, or the C language is assumed.  

While shell scripts are one of UNIX's strengths (because they are 
constructed from small, efficient, single purpose tools), these shell 
scripts quickly grow in complexity, until they become cumbersome, 
hard to understand, modify and maintain.

Perl is a publicly available and highly portable language written by 
Larry Wall that looks much like interpreted C combined with many 
of the best features of sh, sed, awk, and several other popular 
programming languages.  It is particularly suited for system 
management tasks, but is rich enough for many general programming
problems as well.  Because perl is one program, rather  than a
conglomeration of dozens of others, it is usually clearer and 
easier to express oneself in perl than in sh and its allies, and often 
more efficient as well.  Topics of this tutorial include a detailed 
description of the syntax and semantics of the perl language, its data 
types, operators, flow control, regular expressions, I/O facilities, 
networking features, and system call interfaces.  Comparisons 
between perl and other UNIX tools are made and issues of style, 
efficiency, and traps and pitfalls of the language are explored.  In-
depth examples of complete programs, especially those relevant to 
system administration, are provided.

Tom Christiansen left the University of Wisconsin, where he had 
been a system administrator for 6 years, with an MS-CS in 1987.  He 
joined CONVEX Computer Corporation in Richardson, Texas.  There he 
is a software development engineer in the Internal Tools Group, 
designing software to streamline software development and systems 
administration, and to improve system security.


M2
An Introduction to the TCP/IP Protocol Suite
Instructor:     Richard Stevens, Consultant

INTENDED AUDIENCE:  This tutorial is for UNIX users and 
programmers interested in learning about the TCP/IP protocol suite.  
No networking knowledge is assumed.

The tutorial covers the following material:

Introduction:  packet switching, client-server model, OSI model, 
encapsulation, and multiplexing.

TCP/IP protocols:  RFCs, Internet addresses, subnet addresses, 
address resolution (ARP, RARP), IP, ICMP, IP routers, broadcasting 
problems, UDP, TCP, port numbers, buffering and out-of-band data, 
and flow control.

The TCP/IP Internet:  current topology, NSFNET, regional and 
international networks.

Applications:  routing in the Internet, Domain Name System (DNS), 
ping, traceroute, bootstrapping diskless workstations (BOOTP), 
remote login (TELNET, rlogin), file transfer (FTP, TFTP), electronic 
mail (SMTP), and network management (SNMP).

Richard Stevens received his Ph.D. in Systems Engineering from the 
University of Arizona in 1982.  He is the author of the book UNIX 
Network Programming.  Currently he is an author and independent 
consultant residing in Tucson, Arizona.


M3
An Introduction to C++
Instructor:    Robert Murray, AT&T Bell Laboratories

INTENDED AUDIENCE:  The audience is assumed to be technical (as 
opposed to managerial).  A fairly complete knowledge of C is 
assumed.  Knowledge of object-oriented programming or data 
abstraction is not required.

A survey of the main features of C++ (including features added in 
Releases 2.0 and 2.1) is presented, along with some short examples 
that show how to use the features effectively.

Most use of C++ falls into one of three flavors:  a better C, data 
abstraction, or object-oriented programming. We will examine all 
three, starting with the features and paradigms that are closest to C, 
progressing to the more advanced, and more powerful features.  We 
also discuss the relationship between ANSI C, C++, and the current 
activities of the ANSI C++ committee.

Rob Murray is a Supervisor in the C++ Software Systems Department, 
AT&T Unix System Laboratories Inc.  His job responsibilities include 
giving presentations on C++ to research and development 
organizations across Bell Labs, and investigating advanced C++ 
compilation techniques.


M4
UNIX System V Release 4.0 Internals Part I:  Virtual Memory and 
File Systems
Instructors:   Steve Buroff, AT&T and Mike Scheer, ProLogic 
Corporation.

INTENDED AUDIENCE:  This tutorial is intended for people who 
maintain, modify, or port the UNIX system or who are interested in 
learning about its internals.  Attendees should have a good working 
knowledge of UNIX applications programming and the C language; 
those with knowledge of UNIX internals will particularly benefit from 
the focus on new and changed features of Release 4. 

Two abstractions that most distinguish the System V Release 4 
kernel from its predecessors are the Virtual File System (VFS) and 
Virtual Memory (VM) system.  This tutorial gives a comprehensive 
overview of both, and analyzes the fork, exec, and exit system calls, 
emphasizing their implementation as applications of VFS and VM.

Steve Buroff is a Distinguished Member of Technical staff at AT&T.  
He received his Ph.D. in Computer Science from Illinois Institute of 
Technology.  He has worked on UNIX  kernel development including 
multi-processor systems, demand paging, and real-time features.

Michael Scheer is a Principal Member of Technical Staff at ProLogic 
Corporation. His work includes distributed operating systems, file 
systems, and symmetric multiprocessing. He was previously a 
Member of the Technical Staff at AT&T Bell Laboratories, where he 
was lead developer for the Remote File Sharing kernel in System V 
Release 4.0, and contributed to the designs of the virtual file and 
virtual memory subsystems. Mike received his M.S. degree in 
Computer Science at the University of Vermont in 1982.


M5
Programming the X Window System, Version 11
Instructor:     Oliver Jones, Saber Software, Inc.

INTENDED AUDIENCE:  This tutorial is for software developers and 
other people interested in UNIX-based graphical user interfaces who 
are beginning the process of learning to program using the X Window 
System.  A working knowledge of UNIX and the C programming 
language are the only prerequisites.

This tutorial covers the fundamental mechanisms provided by 
M.I.T.'s X Window System.  After completing this course, attendees 
should be able to develop simple applications in X.  More 
importantly, attendees will learn enough of X to be able to make 
sense of the X Toolkit, OPEN LOOK, OSF/Motif and other higher-level 
software for developing graphical user interfaces.

The tutorial addresses the "how" and "why" of the following parts of 
X:
	Network connections	
	Windows and screen real-estate
	Graphics	
	Exposures
	Text	
	Color
	Images	
	The X Protocol
	Mouse and Keyboard input	
	Inter-application communication
	X Events, solicitation and handling

The tutorial places an emphasis on software design considerations, 
especially those which relate to application performance.  In the light 
of X's central dogma, "Mechanism, not Policy," the course discusses 
how to exploit the various features of X, and why they work the way 
they do.

Oliver Jones has been teaching the X Window System for several 
years.  He is the author of Introduction to the X Window System, a 
textbook on the subject.  He is professionally involved with the 
development of X-based user interfaces for programming 
environments.

M6  NEW!
An Introduction to UNIX System Security
Instructor:     Matt Bishop, Dartmouth College

INTENDED AUDIENCE:  This new tutorial is intended for UNIX users 
and system administrators who are concerned about system security; 
no knowledge of UNIX security features is assumed.

* What is security (security policies, mechanisms, requirements)?
* Basic security mechanisms (permissions, setuid, encryption, 
  passwords, etc.)
* File system auditing (scanning for illicit setuid programs, looking
  for unexpected changes)
* Password security (password cracking, choosing good passwords, 
  how the password hash works, shadow password files)
* Users and superusers (how to work safely as root, the risks of 
  Trojan horses and computer viruses, environment, etc.)
* Network security (UUCP, the Internet, file transfer, remote logins, 
  etc.)
* Security in programming (which library calls to avoid, safe 
  environments, dangerous programming practises)
* Miscellaneous (restricted user environments, user and staff 
  responsibilities and awareness, etc.)

Matt Bishop has been working on issues of security in UNIX since 
1980.  After graduating from Purdue University, he worked at the 
Research Institute for Advanced Computer Science at NASA, where 
he specialized in computer security.  Currently he is at Dartmouth 
College, teaching operating systems, computer security, 
cryptography, and software engineering.  He is a member of the 
Privacy and Security Research Group, which studies issues related to 
security on the Internet, and has chaired the last two UNIX Security 
Workshops.


M7  NEW!
UNIX Programming Tools
Instructor:     Kenneth Ingham, Consultant

INTENDED AUDIENCE:  This new tutorial is aimed at programmers 
familiar with basic Unix topics, and preferably those who are familiar 
with the C programming language.

The Unix Operating system comes with a great variety of tools which 
allow programmers to produce cleaner, more accurate code with less 
work.  The knowledge of when and why to use these tools is not 
covered in the manuals users must learn this for themselves, 
usually by trial and error.  Additionally, while the manuals are good 
references, they are not often best for learning the fundamentals of 
the Unix programming tools.

This tutorial not only teaches how to use specific Unix tools, but 
offers insight into why.  It covers tools such as lex, yacc, make, and 
awk, each of which can assist the Unix programmer in doing their job 
with greater facility.  The tutorial employs detailed examples to 
illustrate the tool being covered.

Kenneth Ingham has worked with Unix for eleven years, spending 
the last six years as a systems programmer at the University of New 
Mexico.  He has taught classes for the University, for UniForum, and 
for companies in New Mexico.  He is the author of the book UNIX Tool 
Building (Academic Press).  Currently Kenneth is a freelance 
consultant, teaching classes on Unix and doing other interesting 
projects.


M8  NEW!
OSF/1 Internals
Instructor:     Thomas W. Doeppner Jr., Brown University

INTENDED AUDIENCE:  This new tutorial benefits the individual who 
is involved with porting or supporting the OSF/1 operating system, 
as well as those who are simply interested in what the OSF/1 kernel 
is all about.  It assumes a general knowledge of how UNIX systems 
are organized and some previous exposure to UNIX internals (such as 
an earlier USENIX tutorial on UNIX internals).

OSF/1 is a newly released implementation of UNIX.  It is based on 
technology derived from Mach, Berkeley UNIX, and more.  

Beginning with an overview on how the system is organized, the 
tutorial then focuses on the following areas:
        Process model
                Multithreaded processes
                Multiprocessor support
                Scheduling
        Virtual memory
                Address space representation
                Paging techniques
        File System
                "Virtual File System" architecture
                Parallelization of the file system
        Streams
                A new implementation of streams
                Transparent parallelization of streams components
        Sockets and networking
                Parallelization of sockets and networking
                A kernel interface between streams and sockets

Thomas W. Doeppner Jr. received his Ph.D. in Computer Science from 
Princeton University in 1977.   He has been on the faculty at Brown 
University since 1976, where his research interests are in operating 
systems and parallel programming. He has lectured extensively on 
UNIX internals over the past seven  years for the Institute for 
Advanced Professional Studies.  He authored the multi-day OSF/1 
internals course that is offered by OSF.


M9
Mach Overview
Instructor:    Avadis Tevanian, Jr., NeXT, Inc.

INTENDED AUDIENCE:  This tutorial is of interest to a wide range of 
people, from those working closely with Mach to those who would 
just like to find out more about Mach and its internals.  People 
interested in doing a port of Mach will find the tutorial especially 
useful.

This tutorial investigates the Mach Operating System and 
Environment.  Emphasis is on the Mach kernel internals, including 
design and implementation philosophies, virtual memory 
management, thread scheduling and inter-task communication.  Both 
machine independent and machine dependent parts of the kernel are 
examined, especially the machine dependent interfaces that must be 
implemented to port Mach to a new machine.  Finally, Unix 
compatibility as implemented within the Mach kernel is considered.

In addition to the Mach internals, the basic mechanisms available to 
users are studied, including an introduction to the basic user level 
services such as the Network Message Server, the Mach Interface 
Generator (MiG) and general  Mach programming hints.  The tutorial  
includes a discussion of the latest features available in Mach, future 
plans for Mach and Mach distribution.

Avadis Tevanian, Jr. is currently Chief Operating System Scientist at 
NeXT, Inc.  He has worked on the Mach system since its inception, 
being one of the original designers and a major contributor to its 
implementation.  He received his Ph.D. in Computer Science in 1987 
and received his M.S. in Computer Science in 1985, both from 
Carnegie-Mellon University.  Dr. Tevanian has worked on many ports 
of the Mach system and has written many papers and lectured 
extensively on various aspects of Mach.


T1
Advanced Topics in Systems Administration
Instructors:    Evi Nemeth, University of Colorado and Rob Kolstad, 
Sun Microsystems

INTENDED AUDIENCE:  System administrators in networked 
computing environments.  The ever-popular Nemeth and Kolstad 
Systems Administration tutorials almost always sell out.  Preregister 
early.

Networked environments give administrators some of their most 
painful migraines.  This session responds to many requests to offer 
material on advanced system administration including:  

  *Simple Network Management Protocol (SNMP) for network management
  *The Berkeley Internet Name Daemon for name resolution
  *RIP, EGP, gated and their configuration
  *The Network Time Protocol for keeping machines' clocks in step
  *Dialup SLIP for providing local network functionality to remote 
   users
  *Configuration of NFS clients for optimal network and CPU usage
  *State-of-the-art security (Kerberos IV and COPS)
   Advanced Sendmail configuration (complete with a verification 
   suite)

Dr. Rob Kolstad is a Software Manager at Sun Microsystems at the 
Rocky Mountain Technology Center in Colorado Springs, Colorado.  
Rob is secretary of the USENIX Board of Directors and sponsored the 
first USENIX System Administrators Workshop.

Dr. Evi Nemeth spent last year at Dartmouth College on leave from 
the University of Colorado at Boulder where she is on the Computer 
Science faculty.  She is co-author of the recent book The UNIX System 
Administration Handbook (Prentice Hall).


T2
UNIX Network Programming
Instructor:     Richard Stevens, Consultant

INTENDED AUDIENCE:  UNIX/C programmers interested in learning 
how to write programs that communicate across a network.  A basic 
familiarity with networking concepts and the TCP/IP protocols is 
assumed.  

The goal of the tutorial is to provide the basics required to write 
network programs and to develop and examine actual examples.  The 
tutorial covers the following:

* Introduction (5%).  Review of UNIX process handling, reliable 
  signals, coding a daemon process.  
* Berkeley sockets (45%).  All the socket system calls, TCP and UDP 
  client-server examples, reserved ports, stream pipes, passing file 
  descriptors, asynchronous I/O, multiplexed I/O, out-of-band data, 
  raw sockets (ping program), broadcasting (rwhod server), inetd 
  superserver, constructing Internet addresses, and possible socket 
  changes with 4.4BSD.
* System V Transport Layer Interface (20%). Comparison of TLI 
  functions to corresponding socket functions, TCP client-server 
  example, and the relationship of sockets and TLI in System V Release 
  4.
* Examples (30%).  Security in 4.3BSD, remote command execution, 
  pseudo-terminals and remote login, and remote procedure call 
  overview.

Richard Stevens received his Ph.D. in Systems Engineering from the 
University of Arizona in 1982.  He is the author of the book UNIX 
Network Programming.  Currently he is an author and independent 
consultant residing in Tucson, Arizona.


T3 
C++ Programming Style
Instructor:     Tom Cargill, Consultant

INTENDED AUDIENCE:  Programmers who are starting to program in 
C++ or have a reading knowledge and are looking for guidance on 
how to use C++ features in practice.  Knowledge of C++ language basics 
is assumed.  Advanced language features are clarified as needed.  
The material is code intensive, for programmers who like to read and 
understand programs.

C++ supports programming-in-the-large, allowing relationships 
between different parts of a program to be described.  The scope of 
C++ programming style therefore goes beyond traditional 
programming in-the-small issues.  This tutorial examines the use of 
C++ language features that often confuse a novice, including 
(multiple) inheritance, virtual functions, constructors, destructors, 
function and operator overloading, default arguments and static 
members.

Unwarranted use of the more powerful features leads to cluttered 
programs that are harder to comprehend or less efficient.  In this 
tutorial, we read a number of programs and discuss their 
organization and use of C++.  Together we critique the design, 
redesign where necessary, then recode.  Techniques range from 
simple rules of thumb about constructors to transformations that 
remove redundant inheritance.  Questions from data abstraction and 
object-oriented design to the expression of a given design in C++ are 
discussed.  Design and coding style guidelines are distilled from the 
examples.

Tom Cargill started programming in C++ at the Computing Science 
Research Center, AT&T Bell Labs, Murray Hill, NJ, when the language 
was called "C84."  He wrote one of the first major C++ programs, a 
family of portable, distributed debuggers.  He has continued to use 
and teach C++, presenting his experience in papers and tutorials at 
numerous technical conferences.  Tom is the author of Addison-
Wesley's TEC C++ course.  Currently a software consultant, based in 
Colorado, he holds a Ph.D. from the University of Waterloo.


T4
UNIX System V Release 4.0 Internals 2 Part II:  Streams I/O and 
Process Management
Instructors:    Mike Scheer, ProLogic and Steve Buroff, AT&T

INTENDED AUDIENCE:  Attendees should have attended "UNIX System 
V Release 4.0 Internals Part I:  Virtual Memory and File Systems," 
or have equivalent knowledge.  This is a newly revised tutorial and a 
source license is not required.

Streams is a framework for the modular implementation of character 
devices and network protocols.  The tutorial begins with a discussion 
of Streams, emphasizing features new for SVR4.  It continues with 
process management facilities.  For Release 4, process management 
includes a novel session management architecture that supports 
POSIX job control and the secure management of controlling 
terminals, configurable real-time and time-sharing schedulers, and 
the /proc file system, which provides powerful support for 
debuggers.

Michael Scheer is a Principal Member of Technical Staff at ProLogic 
Corporation. His work includes distributed operating systems, file 
systems, and symmetric multiprocessing. He was previously a 
Member of the Technical Staff at AT&T Bell Laboratories, where he 
was lead developer for the Remote File Sharing kernel in System V 
Release 4.0, and contributed to the designs of the virtual file and 
virtual memory subsystems. Mike received his M.S. degree in 
Computer Science at the University of Vermont in 1982.

Steve Buroff is a Distinguished Member of Technical staff at AT&T.  
He received his Ph.D. in Computer Science from Illinois Institute of 
Technology.  He has worked on UNIX  kernel development including 
multi-processor systems and demand paging.  He is currently 
investigating possible real-time enhancements to the UNIX system.


T5
Introduction to Programming With the X Toolkit Intrinsics
Instructor:    Paul Kimball, Digital Equipment Corporation

INTENDED AUDIENCE:  Programmers who are new to X Toolkits, or 
interested end-users who want a better understanding of the 
technology.  Attendees should have a good working knowledge of the 
X Window System Architecture, including the Xlib programming 
interface, or should attend the X Window System Tutorial. For the 
more advanced material, a good understanding of C language syntax 
and structures is required.

This tutorial provides a step-by-step practical introduction to 
programming with user-interface toolkits based on the MIT X Toolkit 
Intrinsics.  The X Toolkit Intrinsics are a significant enhancement to 
the X Window  System standard.  Shipped with X on the MIT tape, 
the Intrinsics provide facilities for constructing and employing 
workstation graphical user-interface tools ("widgets") such as scroll 
bars,  dialog boxes, buttons, etc.  This tutorial presents a detailed 
overview of the Intrinsics, and how to use them to build applications 
based on any of a number of common toolkits, including DEC 
windows XUI, OSF/Motif, The MIT Athena widget set and AT&T's 
OPEN LOOK GUI X-based Toolkit.  Each of the major Intrinsics 
routines and subsystems are discussed, including the latest Release 4 
enhancements.  Features of the several industry toolkits based on  
the X Toolkit Intrinsics are compared and their practical use 
discussed.  The tutorial ends with a discussion of object-oriented 
programming principles as implemented in the package.

Paul Kimball is an expert on graphics, window systems, user-
interface toolkits and CAD integration.  He joined Digital in 1984 as a  
Computer-Aided Design consultant and is now Group Consultant with 
the Independent Software Vendor support team in Mountain View, 
CA, where he assists software developers in porting to Open Systems.  
He has been working and teaching with X and X Toolkits since 1986.  
He holds Engineering degrees from MIT (1977) and Princeton 
University (1978).


T6
Network Security: The Kerberos Approach
Instructors:    Dan Geer, DEC and Jon A. Rochlis, MIT

INTENDED AUDIENCE:  Systems developers responsible for networked 
workstation environments, particularly those whose environments 
may include networks which are not themselves physically secure 
(i.e., "open" networks).  Systems managers concerned about the 
inherent lack of security for managing today's network-based 
environments (e.g., UNIX's .rhosts files).

Given the increasing importance of the information transmitted via 
the Internet, it is imperative to consider the basic security issues 
presented as large open networks replace isolated timesharing 
systems.

Tutorial attendees gain an understanding of the kinds of security 
threats which result from operating in an open environment, such as 
one comprised of a network of workstations and supporting servers.  
They are presented with approaches to meeting these threats.  The 
focus is on the Kerberos system developed at MIT, but public key 
techniques for ensuring privacy and authentication on an open 
network are also covered.  The X.509 authentication model studied as 
is the new Internet Privacy Enhanced Electronic Mail RFCs.

At  the conclusion of the tutorial, attendees should be able evaluate 
the vulnerability of their particular computing environments and 
applications, and know how to add an appropriate amount of 
security.

Daniel E. Geer, Jr. is now a member of the Technical Staff of Digital 
Equipment Corporation's External Research Program, working out of 
the Cambridge Research Laboratory.  For the previous 4.5 years, he 
was the Manager of Systems Development for MIT's Project Athena 
where he oversaw the creation of the Athena distributed computing 
environment, including the work that forms the basis for this 
tutorial.  He holds a Bachelor of Science in Electrical Engineering and 
Computer Science from MIT and a Doctor of Science in Biostatistics 
from Harvard University.

Jon A. Rochlis is an Assistant Network Manager for MIT Network 
Services, which runs the MIT campus network and network services 
including the Athena Kerberos realm.  Prior to working for MIT he 
worked on the Amber operating system for the S1 project at 
Lawrence Livermore National Laboratories, and the Multics operating 
system at Honeywell.  Mr. Rochlis received his Bachelor's in 
Computer Science and Engineering from MIT.


T7 NEW!
Introduction to Hypertext Systems and Hypermedia Applications
Instructor:     Paul Kahn, Brown University

INTENDED AUDIENCE:   This new tutorial assumes no previous 
experience with hypertext or hypermedia software. It is for 
managers, end-users, and software engineers interested in 
understanding hypermedia concepts and applying hypermedia 
software solutions in their work.

Hypertext/hypermedia, though among the most frequently heard 
and misunderstood concepts in the information industry, nonetheless 
has proven to offer substantial benefits to product developers and 
information consumers.  This in-depth workshop explores the 
concepts behind hypertext development, offers an overview of 
hypertext applications currently on the market, and provides 
attendees with a tutorial in the use of commercially available 
hypermedia systems.

Significant developments in the fifty year history of hypertext 
research are considered in terms of their influence on the current 
application software market.  An overview of the current hypertext 
applications in research labs and on the market follows.

Designing hypermedia materials means delivering information on the
computer screen.  We review the graphic design principles that affect 
hypermedia screen design in contrast to book and magazine design.  
Next is a detailed, practical tutorial in the use of three
commercially available hypermedia systems: HyperCard, IRIS
Intermedia, and DynaText.  Participants learn techniques for 
converting and organizing data, building links, and designing finished
educational applications.

Paul Kahn has been Project Coordinator at the Institute for Research
in Information and Scholarship at Brown University since 1985,
involved in the design and creation of hypermedia materials for
education.  He is also a partner in Dynamic Diagrams, Inc., a firm
specializing in the design of information graphics in print and
electronic media.  He has presented seminars and workshops on
hypermedia in the United States and Europe.  His writing on 
computer technology and information design has appeared in Byte, 
Publish, Optical Information Systems Journal, Journal of the 
American Society of Information Science, Hypermedia, Laserdisk 
Professional, many other professional journals as well as computer 
science conference proceedings.  He contributed to Hypertext and 
Literary Studies (MIT Press 1991) and is co-editor of From Memex to 
Hypertext:  Vannevar Bush and the Mind's Machine (Academic Press 
1991).


T8
The Network Computing System (OSF/DCE Remote Procedure Call)
Instructors:    Nathaniel Mishkin and Paul J. Leach, Hewlett-Packard; 
Richard Mackey, Open Software Foundation

INTENDED AUDIENCE:  No prior knowledge about distributed 
computing will be assumed.  A  knowledge of general networking 
issues will be helpful.  The tutorial should give attendees a good 
overall sense of what NCA/NCS is and how one writes applications 
using NCS.

The Network Computing System (NCS) is an implementation of the 
Network Computer Architecture (NCA), a framework for building 
distributed applications in a heterogeneous computing environment.  
NCS runs on a variety of Unix systems, VMS, and MS/DOS.  NCA/NCS's 
core feature is a Remote Procedure Call (RPC) mechanism that allows 
programs to "call" subroutines that run on remote systems.

This tutorial describes the general structure of NCA:  The Network 
Interface Definition Language (NIDL), the Network Data 
Representation (NDR) protocol, the NCA Remote Procedure Call 
(NCA/RPC) protocol, and NCA's object-oriented model of distributed 
computing and resource locating.  The tutorial also examines the 
Network Computing Kernel (NCK) runtime library and NIDL compiler, 
which are part of NCS.  Several sample NCS-based applications from 
simple examples to real live complex distributed systems like the 
NCS-based user registry are studied.

The tutorial describes NCS 2.0, a follow-on version of 
Hewlett-Packard Apollo's NCS 1.5.  NCS 2.0, developed jointly by HP 
and Digital Equipment Corporation, has been selected to be the RPC 
system for the Open Software Foundation's Distributed Computing 
Environment.

Nathaniel Mishkin is an senior consulting engineer at HP's 
Cooperative Object Computing Operation and is one of the architects 
and developers of NCS.  Mr. Mishkin received his Ph.D. from the Yale 
University Department of Computer Science in 1984.

Paul J. Leach, the founder of the NCS project, was one of the first 
engineers at Apollo Computer and is a principal architect of Apollo's 
DOMAIN operating system.

Richard Mackey, as principal engineer at the Open Software 
Foundation, is the technical lead in the areas of remote procedure call 
and threads technologies for OSF's Distributed Computing 
Environment (DCE) project.  Mr. Mackey served as a member of the 
DCE Request For Technology evaluation team and has delivered 
presentations on NCS and other DCE technologies to large audiences 
all over the world.


T9
New Kernel Facilities in 4.3BSD-Reno
Instructors:       Marshall Kirk McKusick and Michael J. Karels, 
University of California, Berkeley

INTENDED AUDIENCE:  This tutorial is directed to systems 
programmers that have taken a tutorial on 4.3 internals or who have 
had at least a year of experience working on the 4.3 kernel.  No 
source license is required for this tutorial.

This tutorial presents a detailed discussion of the new facilities that 
have been released in the 4.3BSD-Reno distribution. Presentations 
emphasize system organization, data structure navigation, and 
algorithms.  About 35% of the material from our previous USENIX 
tutorial, "Beyond 4.3BSD: Advanced Kernel Topics" is retained.

1)  Networking
        OSI protocols
        new networking buffering scheme
        routing and routing sockets
        TCP improvements (header prediction, compressed SLIP)
2)  POSIX
        termios
        process groups and controlling terminal
        new process structure
        new system call interface
3)  Filesystems
        virtual filesystem interface
        changes to the local filesystem
        new quota implementation
        NFS implementation
        memory-based filesystem
        dead filesystem
4)  System Interface Changes
        virtual memory
        bstreams
        get kernel info
        ktrace facility

Dr. McKusick did his graduate work at the University of California, 
where he received Masters degrees in Computer Science and 
Business Administration, and a Ph.D. in the area of programming 
languages.  While at Berkeley he implemented the 4.2BSD fast file 
system and was involved in implementing the Berkeley Pascal 
system.  He is currently the Research Computer Scientist at the 
Berkeley Computer Systems Research Group, continuing the 
development of future versions of Berkeley UNIX.  He is president of 
the USENIX Association and a member of the editorial board of UNIX 
Review.

Michael J. Karels is the Principal Programmer of the Computer 
Systems Research Group at the University of California, Berkeley.  
Since the release of 4.2BSD, he has been the system architect for 
Berkeley UNIX, continuing the development of new versions of BSD.  
Michael received his B.S. in Microbiology at the University of Notre 
Dame.  While a graduate student in Molecular Biology at the 
University of California, he was the principal developer of the 2.9BSD 
UNIX release of the Berkeley Software Distribution for the PDP-11.  
He is a member of the ACM, the IEEE,the Internet Engineering Task 
force and several POSIX working groups.

The speakers are co-authors of the book The Design and 
Implementation of the 4.3BSD UNIX Operating System.

***********************************************************************



To receive a brochure and information on registration and hotel,
please contact:

                        USENIX Conference Office
                        22672 Lambert St., Suite 613
                        El Toro, CA  92630
                        Telephone # (714) 588-8649
                        FAX # (714) 588-9706
                        email address:  judy at usenix.org


USENIX, the UNIX and Advanced Computing Systems professional and
technical organization, is a not-for-profit association dedicated to

  *  fostering innovation and communicating research and 
technological developments,
  *  sharing ideas and experience, relevant to UNIX, UNIX-related
and advanced computing systems
  *  providing a forum for the exercise of critical thought and
airing of technical issues.

Founded in 1975, the Association sponsors two annual technical
conferences, a once-a-year vendor exhibition, and frequent
symposia and workshops addressing special interest topics.  
USENIX publishes proceedings of its meetings, the bi-monthly 
newsletter ;login:, a refereed technical quarterly, 
Computing Systems, and is expanding its publishing role with
a book series on advanced computing systems.  The Association
also actively participates in and reports on the activities of
various ANSI, IEEE and ISO standards efforts.



More information about the Comp.org.usenix mailing list