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