TUTORIAL PROGRAM
Monday and Tuesday, JUNE 21 AND 22, 1993
USENIX SUMMER 1993 TECHNICAL CONFERENCE
JUNE 21-25, 1993
CINCINNATI CONVENTION CENTER
CINCINNATI, OHIO
You may choose from among twenty tutorials, both full and half
day, covering topics essential to your professional development.
Of these twenty, twelve are offered at USENIX for the first time
and a thirteenth is updated in coverage! The USENIX
Association's well-respected tutorial program offers you intro-
ductory as well as advanced, intensive and practical tutorials.
Tutorials are presented by skilled instructors who are hands-on
experts in their topic areas. All tutorials offer printed ma-
terials to support your understanding and provide reference at a
later time. The USENIX tutorial program meets the needs of pro-
fessionals who require an immediately practical learning experi-
ence. Attend the tutorials at Cincinnati and benefit from this
in-depth exploration and skill development in essential areas of
UNIX-related technology.
USENIX tutorial program attendance is limited. Pre-registration
is strongly recommended.
SPECIAL NOTE FOR FULL-TIME STUDENTS
Your Immediate Attention Is Requested!
A limited number of spaces in each tutorial are
reserved for full-time students at the special fee of $50.00 per
tutorial. You MUST telephone the USENIX Conference Office, +1
(714) 588-8649 during office hours of 8:30 am-5:00 pm Pacific
Time Monday-Friday, to confirm availability and make a reserva-
tion. You will receive a reservation code number. This number
MUST appear on your Registration Form. Your registration form
with full payment and a photocopy of your current student I.D.
card MUST arrive within 14 days from the date of your reserva-
tion. If your registration form and payment do not arrive by
that date, your reservation will be cancelled. This special fee
is non-transferable.
MONDAY, JUNE 21
9:00 am - 5:00 pm (includes box lunch)
M1 HOW NETWORKS WORK - NEW!
M2 OSF'S DISTRIBUTED COMPUTING ENVIRONMENT (DCE)
M3 THE KERBEROS APPROACH TO NETWORK SECURITY - REVISED!
M4 ESSENTIAL UNIX PROGRAMMING
M5 UNIX SVR4.2 INTERNALS, PART 1: PROCESS AND VIRTUAL MEMORY
SYSTEMS AND MP SUPPORT - NEW!
M6 INTRODUCTION TO THREADS, POSIX PTHREADS, AND
OSF/DCE THREADS - UPDATED!
M7 UNIX POWER TOOLS - GETTING THE MOST OUT OF UNIX - NEW!
Morning 1/2 day 9:00 am - 12:30 pm (includes box lunch at 12:30 pm)
M8 SECURITY AND THE X WINDOW SYSTEM - NEW!
M9 TOPICS IN SYSTEM ADMINISTRATION - 1 - NEW!
Afternoon 1/2 day: 1:30 pm - 5:00 pm (includes lunch at 12:30 pm)
M10 MANAGING THE DOMAIN NAME SYSTEM
M11 TOPICS IN SYSTEM ADMINISTRATION - 2 - NEW!
TUESDAY, JUNE 22
9:00 am - 5:00 pm (includes box lunch)
T1 SYMMETRIC MULTIPROCESSING AND CACHING IN UNIX KERNELS
T2 THE DISTRIBUTED COMPUTING ENVIRONMENT REMOTE PROCEDURE CALL SYSTEM
(DCE RPC) - NEW!
T3 SENDMAIL: INSIDE AND OUT - NEW!
T4 UNIX NETWORK PROGRAMMING
T5 UNIX SVR4.2 INTERNALS, PART 2: FILE SYSTEMS, I/O AND STREAMS - NEW!
T6 THE WINDOWS NT ARCHITECTURE - NEW!
T7 ACHIEVING SECURITY IN AN INTERNET ENVIRONMENT - NEW!
T8 TCL AND TK: A NEW APPROACH TO X11 AND GUI PROGRAMMING
T9 INSTALLING, CONFIGURING AND ADMINISTERING X SYSTEMS - NEW!
TUTORIAL DESCRIPTIONS
FIRST TIME OFFERED!
M1
HOW NETWORKS WORK
Vincent C. Jones, Consultant
Intended Audience: Designers and technical managers responsible
for planning or implementing distributed systems or networked ap-
plications. Attendees are assumed to be familiar with networking
fundamentals and TCP/IP.
This is not an introduction to networking! This tutorial ties
together the theoretical background and practical implications
which underlie the selection of an appropriate interconnectivity
architecture. The goals are many. First to show how all the
protocols in the TCP/IP suite work together in an internetworking
environment to meet user application needs. (For example, why
some X windows applications will never be useful over a wide area
network, even at Gigabit data rates.) Second, to explore exist-
ing internetwork limitations. (For example, how the definition
of Committed Information Rate in Frame Relay can make or break an
application.) Third, to allow planning for future problems. (For
example, how to minimize the pain when it becomes necessary to
replace IP.) Last, to enable effective architecture decisions.
(For example, we will offer criteria for selecting a bridge over
a repeater or router.)
Emphasis is on the internetwork infrastructure needs of TCP/IP,
with an eye to the future of networking and the potential need
for coexistence with or migration to Open Systems Interconnection
(OSI) networking. Specific topics include:
% The role of repeaters, bridges, routers and protocol conversion
gateways and how each performs its functions.
% Routing algorithms for bridges, routers and mail delivery: how
they work and how they impact network price, performance and size
limits.
% Link choices for internetworks, including X.25, frame relay, and
cell relay. The role of SLIP and PPP in today's networks.
% Address resolution and directory service protocols and their impact
on performance, reliability, manageability, naming, and addressing.
Dr. Vincent Jones is an independent consultant specializing in
the use of TCP/IP and OSI to support distributed processing ap-
plications in multivendor environments. He comes with over twen-
ty years of practical experience in the application of data com-
munications and computer networking to meet real user needs.
Dr. Jones is author of the book MAP/TOP Networking: A Foundation
for Computer Integrated Manufacturing (McGraw-Hill), co-author of
GOSIP Made Easy (Corporation for Open Systems), and an invited
contributor to the Auerbach Local Area Network Handbook and to
the Chief Information Officer Journal (Auerbach).
M2
OSF'S DISTRIBUTED COMPUTING ENVIRONMENT (DCE)
David Chappell, Chappell and Associates
Intended Audience: Those who need an introduction to DCE, in-
cluding those who must develop applications for, support, market,
or plan for DCE or distributed systems in general. A general
knowledge of networking fundamentals is assumed. Some background
in a high-level programming language will be helpful, but not re-
quired.
The Distributed Computing Environment was created by the Open
Software Foundation as a vendor-neutral infrastructure for dis-
tributed computing. Among the vendors promising support for DCE
are IBM, DEC, HP and many others. Running over any transport
protocol, DCE provides solutions for the key problems in creating
distributed systems.
The goal of this tutorial is to give participants an understand-
ing of what services DCE provides and how. The tutorial intro-
duces DCE via a description of each of its component technolo-
gies, including:
% a protocol for remote procedure call (RPC)
% directory services
% a distributed file service
% protocols for network security
David Chappell is principal of Chappell & Associates, a training
and consulting firm focused on vendor-neutral networking. He has
written and taught many courses on distributed computing and re-
lated topics to clients in North America and Europe, and has
served as a consultant on numerous communications projects.
Among his current projects, David is a consultant to OSF involved
with OSF's Distributed Computing Environment and Distributed
Management Environment. His previous experience includes
software engineering positions with NCR Corporation and Cray
Research. David holds an MS in Computer Science from the Univer-
sity of Wisconsin-Madison.
M3
THE KERBEROS APPROACH TO NETWORK SECURITY
Dan Geer, Geer Zolot Associates and Jon A. Rochlis, MIT
Intended Audience: Systems administrators who are concerned
about, or must mitigate, the inherent lack of security and ac-
countability in conventional UNIX network services environments;
systems developers who are responsible for networked workstation
environments, particularly those whose environments include net-
works which are not themselves physically secure (i.e. Ropen
networksS); and technical managers in enterprises where the flow
of electronic information is at the core of the enterprise and
must be protected without imposing the costs of a security
culture.
We focus on the practical challenges of providing security for
the cooperative electronic workplace, which aspires to location
and scale independence in the client-server idiom. We begin by
describing network security from a general point of view, so that
you will understand the kinds of threats which result from
operating conventional systems in an open environment. We then
describe effective approaches to meeting these threats, emphasiz-
ing the practical over the theoretic. We then point out some
common fallacies, such as, the idea that your organization's
security is materially dependent on close control of external ac-
cess (rather then competent internal security).
Primarily we explain the Kerberos network security system, though
we touch on public-key techniques, e.g., the X.509 authentication
model and the Internet's Privacy Enhanced Mail (PEM). Kerberos
is the core of the Open Software Foundation's Distributed Comput-
ing Environment (OSF/DCE), and we thoroughly discuss the DCE ex-
tensions and enhancements to Kerberos that made it into the de
facto standard for network security. We stress throughout the
nuts-and-bolts of making this work in your environment, including
administration and integration of new technology with existing
environments. By the end of the day, you will be able to go home
and start work on a computing environment that is both open and
accountable.
Daniel E. Geer, Jr., recently a member of the Technical Staff of
Digital Equipment Corporation's External Research Program, is now
at Geer Zolot Associates. 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 environ-
ment, including the work that forms the basis for this tutorial.
He holds a BS in Electrical Engineering and Computer Science from
MIT and a ScD in Biostatistics from Harvard University.
Jon A. Rochlis is a Technical Supervisor for MIT Distributed Com-
puting and Network Services which runs MITnet and the Athena com-
puting environment (including its Kerberos realm). Previously he
worked on development of the Amber and Multics operating systems.
Mr. Rochlis received his BS in Computer Science and Engineering
from MIT.
M4
ESSENTIAL UNIX PROGRAMMING
Richard Stevens, Consultant
Intended Audience: Programmers and system administrators who
want to learn more about the essentials of UNIX programming.
Some programming experience in C is assumed.
This tutorial covers current UNIX programming concepts required
for systems programming. It does not cover the basic functions
that most programmers are familiar with (open, lseek, standard
I/O, etc.). Rather it focuses on the poorly documented features
that tend to be least understood. Although current standards
such as POSIX are mentioned, the tutorial focuses on two real-
world implementations of the various standards: 4.4BSD and System
V Release 4.
The topics covered are: current UNIX standards, process control
(race conditions, sessions, job control), signals (POSIX.1 signal
handling, unreliable signals, interrupted system calls), record
locking, I/O multiplexing (select and poll), memory mapped I/O,
interprocess communication (comparison of various methods),
stream pipes, passing file descriptors, and pseudo terminals.
Richard Stevens is author of the books Advanced Programming in
the UNIX Environment (1992) and UNIX Network Programming (1990).
He received his PhD in the area of image processing from the
University of Arizona. From 1982 until 1990 he was Vice-
President of Research and Development with Health Systems Inter-
national. Currently he is an author and independent consultant
residing in Tucson, Arizona.
M5
UNIX SVR4.2 INTERNALS, PART 1: PROCESS AND VIRTUAL MEMORY SYSTEMS
AND MP SUPPORT
John R. Levine, Institute for Advanced Professional Studies
Intended Audience: People who maintain, modify, or port the UNIX
system, as well as to those who are interested in its internal
structure to better understand how to construct efficient and
portable applications. Attendees should have a working familiari-
ty with UNIX programming at the system call level and with the
ANSI C language.
We present an overview of the structure of the system with em-
phasis on aspects new in SVR4.2. Topics include the overall sys-
tem structure and the ways in which the various subsystems fit
into and support that structure, along with the internal inter-
faces that make SVR4.2 more extensible than its predecessors.
The first day concentrates on:
The Process Subsystem: The UNIX process abstraction provides sys-
tem calls, signals, job control, fork, exec, wait, and other
process-related facilities. We also discuss the new SVR4.2 gen-
eric scheduler and the specific scheduling models provided (sys-
tem, real-time, and time sharing).
Virtual Memory: The virtual memory subsystem provides the storage
associated with the UNIX processes. It supports both traditional
system call disk I/O and page fault initiated I/I with a common
buffering and transfer mechanism. We examine the structures that
support kernel and user address spaces and their use from system
calls and the pager.
Multi-processor Support: SVR4.2 includes integrated support for
multiple CPUs in the same system, with a multi-processor
scheduler and locks to insure consistency in shared data struc-
tures. We examine the MP additions to the scheduler, the locking
structure, and an overview of how data structures are protected
by locks.
John R. Levine has been writing, lecturing, and consulting on
UNIX topics since 1975. As a member of the IAPS staff, he has
frequently lectured on UNIX system internals. His books range
from Graphics File Formats to UNIX for Dummies. He also
moderates the usenet comp.compilers interest group and edits
several series of technical computer books.
M6
INTRODUCTION TO THREADS, POSIX PTHREADS, AND OSF/DCE THREADS
Nawaf Bitar, Kubota Pacific Computer
Intended Audience: Developers interested in learning about
threads in general, threads architectures and programming models
in particular. It is especially useful for developers who anti-
cipate working with the OSF/DCE and/or the evolving POSIX
pthreads standard, both at the application and implementation
levels.
Multiple threads of control within a process can effectively be
used to express parallelism inherent in many applications and en-
vironments such as windowing systems and networked or distributed
systems. On multiprocessor architectures they also provide for
concurrent execution. The Open Software Foundation's Distributed
Computing Environment (OSF/DCE) uses threads as a basic building
block of the DCE architecture P all DCE components and many DCE
applications utilize the DCE threads component and are thus them-
selves multi-threaded.
The tutorial begins with a brief introduction to threads and the
circumstances under which they are useful. Discussion of popular
threads models follows. In particular, the light-weight and
variable-weight process models are covered as part of a discus-
sion on parallelism granularity. We then cover various threads
implementation architectures - user space, kernel, and multi-
plexed (two-level schedulers) - as used in DEC Threads (CMA),
OSF/1, and Solaris 2.0.
The tutorial continues with a presentation of threads programming
techniques including master/slave, client/server and workcrew
models. Short example programs will be presented in order to en-
sure that the models are well understood. Next is a presentation
of the POSIX 1003.4a pthreads interface and the issues that arise
at the interface level when introducing threads to UNIX. Prob-
lems concerning the use of fork and signals in the presence of
threads are discussed in detail.
The tutorial moves on to a presentation of the pthreads-based
OSF/DCE threads. In particular, extensions to pthreads including
specialized object attributes and exception handling are covered
in detail.
A discussion of how fine-grain parallelism can be supported con-
cludes the tutorial. This support is required primarily by com-
pilers that wish to perform automatic parallel decomposition of
programs. Further, we discuss why the current pthreads interface
is inadequate for this support, the required characteristics of
an implementation supporting fine-grain parallelism, and a new
compiler-visible interface and implementation architecture.
Nawaf Bitar is a Member of the Technical Staff at Kubota Pacific
Computer. He is currently working on developing a threads model
and implementation suitable for applications requiring very fine
grain parallelism granularity. Prior to joining KPC he worked on
Mach-based systems at HP, OSF and Apollo.
FIRST TIME OFFERED!
M7
UNIX POWER TOOLS - GETTING THE MOST OUT OF UNIX
Rob Kolstad, Berkeley Software Design, Inc
Intended Audience: Programmers, managers, and system administra-
tors wanting to learn more about the powerful development tools
available on UNIX.
This tutorial reveals the powerful tools available in UNIX for
bringing applications to rapid deployment and products to market.
The primary goal is to make the attendee aware of many of the
many electronic assistants the application developer can employ.
It also discusses issues of support, maintenance, and future
development. It touches as well upon legal issues of licensing,
liability, and protection.
The tutorial covers:
% Rapid prototyping
- Perl
- Lex and yacc
- Tcl and Tk
- Centerline products
% Source and object management
- Make and Imake
% File layout
- Tags (editor comments)
- File hierarchies
% Version management & revision control
- RCS
- CVS
- Group communication mechanisms
% Portability and Cross-Architecture Support
- Lint
- Programming for readability P Tindent
- Standardization
% Maintenance
- Patch
% Distribution
- CD/ROM
- Other media
% Protecting yourself
- Patents, Copyrights, and Licenses
- Software license servers
- Copy protection and encryption
Dr. Rob Kolstad is Program Manager at Berkeley Software Design,
Inc. Until recently he led development of Sun Microsystems' new
Backup Copilot product. Rob sponsored the first USENIX System
Administrators Workshop, and recently resigned his tenure as
secretary of the USENIX Board of Directors.
FIRST TIME OFFERED!
1/2 day: 9:00 am - 12:30 pm (includes lunch at 12:30 pm)
M8
SECURITY AND THE X WINDOW SYSTEM
Jeremy Epstein, TRW and Rita Pascale, ORA Corporation
Intended Audience: System administrators who want to understand
measures they can take to protect their systems, managers who
want to understand the risks and available solutions, and pro-
grammers who want to use securityenhanced X systems. No previous
experience with security is required. Some experience using X is
desirable, but not required.
As the X Window System increases in popularity so does concern
about its security. Some of the risks (such as weak authentica-
tion) are well known. Others are not. Vendors are slowly moving
forward in addressing the risks. X is an open, resource-sharing
system, and security measures are not easily retrofitted without
damaging interoperability. While measures can be taken (beyond
basic authentication), there are no quick and simple answers to
security in X.
This course explains the security risks involved in using X, some
of the solutions currently available, and others expected in the
future. Topics include threats, current technologies, authenti-
cation, access controls, auditing, privilege, and denial of ser-
vice. Use of authentication mechanisms is described in detail,
including xhost, MIT magic cookies, Sun's Secure RPC, and Ker-
beros. Vendor-specific extensions to X for access control and
privilege are presented. Alternate architectures are described
for multi-level secure X systems.
Jeremy Epstein is a researcher in highly trusted windowing sys-
tems at TRW. He has written nine papers on the subject of X and
security. Prior to joining TRW, he developed trusted UNIX sys-
tems for Addamax. Jeremy holds an MS CS from Purdue University
and is pursuing a PhD in Computer Security from George Mason
University.
Rita Pascale is a researcher in highly trusted distributed sys-
tems at ORA Corporation. Until recently, she worked on trusted
windowing systems at TRW. She is the author or co-author of four
papers on X and security. Rita holds a BS CS from Virginia Tech.
FIRST TIME OFFERED!
1/2 day: 9 am - 12:30 pm (includes lunch at 12:30 pm)
M9
TOPICS IN SYSTEM ADMINISTRATION - 1
Trent Hein, XOR Computer Systems and Evi Nemeth, University of Colorado,
Boulder
Intended Audience: System administrators who have a year or more
experience and wish to learn state-of-the-art information sur-
rounding the broad area of administration.
This half-day tutorial is presented in four sections:
Routing - This section provides background material on routing
both in a local area network and in the global Internet, in
preparation for learning about configuring dedicated routers.
The section covers the use and setup of routed and gated for
medium sized networks and debugging using ping, traceroute, and
tcpdump .
Configuring Cisco Routers - You've probably seen the router box.
And you've probably sent packets through it. But you've always
wondered how to configure this essential part of your network.
We'll talk specifics about configuring Cisco routers in the
TCP/IP environment, including various routing protocols and ac-
cess control lists.
SLIP - SLIP is the serial line IP protocol that can be used to
connect to a TCP/IP network via voice grade telephone lines.
This section shows how to get, use, and install SLIP including an
example of the necessary kernel reconfiguration on SunOS 4.x.
Modems - Using SLIP requires good modems at either end of that
voice grade phone line. This section reviews modern modems and
their capabilities. Also included are the configuration needed
to use modems for SLIP.
Trent Hein grew up in the UNIX system administration trenches at
the University of Colorado, Boulder. He spent Summer 1990 at
Berkeley working on the 4.4BSD port to the MIPS architecture. He
currently works as a consultant for XOR Network Engineering in
Colorado.
Evi Nemeth, a faculty member in Computer Science at the Universi-
ty of Colorado, has managed UNIX systems for the past 15 years,
both from the front lines and from the ivory tower. She is co-
author of the best-selling UNIX System Administration Handbook
(Prentice-Hall).
1/2 day: 1:30 pm - 5 pm (includes lunch at 12:30 pm)
M10
MANAGING THE DOMAIN NAME SYSTEM
William LeFebvre, Northwestern University
Intended Audience: Internet network managers who need to grasp
the intricacies of managing the Domain Name System (DNS). Atten-
dees should have a basic understanding of Internet Protocols and
a user's understanding of DNS. They should also be familiar with
number bases, bits, bytes, and machine representations of in-
tegers, but need not be sophisticated programmers.
This half-day tutorial explains how to administer the Internet
Domain Name System on a UNIX machine. It details the operation
of named and the resolver library, primary and secondary servers,
the format of DNS zone files, installation of the entire bind
package, and configuration and control of the named daemon. Time
will be made for a question-and-answer session.
William LeFebvre received his MS in Computer Science from Rice
University. He is currently the manager and analyst for the com-
puting facilities of the Electrical Engineering and Computer Sci-
ence Department at Northwestern University. William serves as a
director for the Sun User Group. He is also well known in the
network community for moderating the electronic digest Sun-Spots
from 1987 to 1989, and for founding the electronic mailing list
Sun-managers (which he still maintains).
FIRST TIME OFFERED!
1/2 day: 1:30 pm - 5 pm (includes lunch at 12:30 pm)
M11
TOPICS IN SYSTEM ADMINISTRATION - 2
Trent Hein, XOR Computer Systems and Evi Nemeth, University of Colorado,
Boulder
Intended Audience: System administrators who have a year or more
experience and wish to learn state-of-the-art information sur-
rounding the broad area of administration. The morning tutorial
Topics in System Administration-1 is not prerequisite to Part 2.
Administering DOS-based PCs in a TCP/IP environment - Are you
faced with integrating DOS PCs into your network environment?
This section covers available options and configuration specifics
of setting up and administering PCs using both FTP's PCTCP and
Sun's PCNFS products to do email, printing, filesharing, and
more. PCs under TCP/IP can be your friend, if you know how to
keep them happy.
Network Wiring - Connection hardware and raw media have changed
since the early days of thick coaxial cable for Ethernet. We'll
cover modern media, twisted pair concentrators, FDDI and CDDI,
ATM networks and some of the issues faced by sites needing to up-
grade their network base.
Intro to expect - Perhaps the greatest system administration tool
to come along since PERL, expect is a high-powered interpreted
dialogue language which can act like your hands on the keyboard
to perform tricky tasks while you're away, asleep or at play.
We'll talk about the basic constructs of the language and write
some sample programs.
Evi Nemeth, a faculty member in Computer Science at the Universi-
ty of Colorado, has managed UNIX systems for the past 15 years,
both from the front lines and from the ivory tower. She is co-
author of the best-selling UNIX System Administration Handbook
(Prentice-Hall).
Trent Hein grew up in the UNIX system administration trenches at
the University of Colorado, Boulder. He spent Summer 1990 at
Berkeley working on the 4.4BSD port to the MIPS architecture. He
currently works as a consultant for XOR Network Engineering in
Colorado.
TUESDAY, JUNE 22
9:00 am - 5:00 pm (includes box lunch)
T1
SYMMETRIC MULTIPROCESSING AND CACHING IN UNIX KERNELS
Curt Schimmel, Silicon Graphics, Inc.
Intended Audience: Targeted to system programmers with 6 months
or more of UNIX kernel internals experience, this tutorial is
ideally suited for those who will be porting the UNIX kernel to a
modern computer architecture in the future, those involved in the
design of new computer architectures that need to support the
UNIX operating system effectively or for anyone who wants to
learn more about operating systems and modern computer architec-
tures.
This intensive tutorial presents the issues involved with porting
the UNIX operating system to modern computer architectures. At-
tendees will gain an understanding of the design considerations
modern architectures present to the operating system and insight
into the design of new architectures intended to support the UNIX
operating system. Examples of modern RISC processors and the
computer systems built around them are used to illustrate the
concepts.
The first section of the tutorial investigates the effects of
various cache memory systems on the UNIX kernel. After an over-
view of cache system architecture is presented, four different
cache organizations ranging from pure virtual to pure physical
caches are studied including the tradeoffs of each, the impact on
the kernel, and how to modify the kernel to properly control the
cache.
The second section presents tightly coupled, symmetric multipro-
cessors. This includes a discussion of the mutual exclusion,
synchronization, race conditions, and deadlock problems as they
apply to the UNIX kernel. Several strategies for adapting the
UNIX kernel to run on a multiprocessor are then presented, rang-
ing from master/slave to multithreaded semaphore techniques,
along with the tradeoffs of each approach.
The third section builds upon the first two by examining cache
consistency in a multiprocessor system. An understanding of the
cache consistency problems and the effects on the kernel is
gained followed by an investigation of both hardware and software
cache consistency algorithms for different cache organizations
and multiprocessor kernel implementations.
The final section presents the differences between RISC Memory
Management Units and more traditional style MMU's. This includes
Translation Lookaside Buffer (TLB) management, referenced and
modified bit handling, and TLB flushing and replacement tech-
niques. Emphasis is placed on the effects on the kernel and the
algorithmic changes needed.
*This tutorial has been previously offered by the USENIX Associa-
tion with the title "UNIX on Modern Architectures."
Curt Schimmel is an Operating System Architect at Silicon Graph-
ics, Inc. He received his MS in Computer Science from the
Rensselaer Polytechnic Institute. He has worked in many areas of
UNIX kernel development and computer architecture on systems
ranging from microprocessors to multiprocessor supercomputers.
He has worked extensively in the areas of multiprocessor systems,
virtual memory, real-time, process management, and the design of
new CPU and cache system architectures.
FIRST TIME OFFERED!
T2
THE DISTRIBUTED COMPUTING ENVIRONMENT REMOTE PROCEDURE CALL SYSTEM
(DCE RPC)
Richard Mackey, Open Software Foundation
Intended Audience: Application programmers who want to write dis-
tributed applications using remote procedure calls. No prior
knowledge about distributed computing is assumed. A knowledge of
general networking issues will be helpful.
This tutorial gives attendees a strong overall sense of what the
Distributed Computing Environment Remote Procedure Call (DCE RPC)
system is and how one writes applications using it. The tutorial
describes the general structure of DCE RPC - the Interface Defin-
ition Language (IDL) and DCE RPC's application programming inter-
face (API). Next it describes how DCE RPC is used to build ap-
plications. We then examine the relationship between DCE RPC and
DCE's Directory (naming) and Security (authentication and author-
ization) services.
The DCE RPC system is a framework for building distributed appli-
cations in a heterogeneous computing environment. It allows pro-
grams to "call" subroutines that run on remote systems. DCE RPC
runs on a variety of UNIX and other systems. Also known as NCS
2.0, DCE RPC is the successor to Hewlett-Packard Apollo's NCS
1.5. DCE RPC was developed jointly by HP and Digital Equipment
Corporation. The entire DCE is licensed in source form by the
Open Software Foundation and is available in binary form from
various vendors.
Richard Mackey, a consulting engineer at the Open Software Foun-
dation, is a technical project leader and architect for the DCE
Release 1.1 project, and has been working on DCE since its incep-
tion. Prior to joining OSF, he worked on the Cronus Distributed
Computing Environment project at BBN in Cambridge, MA.
FIRST TIME OFFERED!
T3
SENDMAIL: INSIDE AND OUT
Eric Allman, University of California, Berkeley
Intended Audience: This is an intense, fast-paced tutorial.for
system administrators who want to learn more about the sendmail
program, particularly details of the configuration file, for pro-
grammers implementing new mail front-ends who want to know exact-
ly what sendmail can do for them, and for curious people who want
to know what sendmail is all about.
Sendmail is arguably the most successful UNIX-based mail transfer
agent in the world today. Originally distributed with the Berke-
ley Software Distribution, sendmail is now used by most UNIX ven-
dors. However, it has a reputation for being difficult to con-
figure and manage.
This talk uses the latest release of sendmail from Berkeley (ver-
sion 6) for examples. Version 6 includes many of the popular
features of IDA sendmail. Other versions of sendmail are dis-
cussed briefly. This tutorial does not cover mail front-ends
beyond their interface to sendmail.
After introducing a bit of the philosophy and history underlying
sendmail, we focus on these areas:
% The syntactic elements of the configuration file: mailers, options,
macros, classes, headers, precedences and priorities, trusted users,
key file definitions, and rewriting rules and rulesets.
% The flow and semantics of rulesets, including hints about debugging.
% An introduction to SMTP, how sendmail operates in an SMTP
environment, and SMTP interactions with UUCP.
% Day-to-day management issues, including alias and forwarding files,
special recipients (files, programs, and include files), mailing
lists, command line flags, tuning, and security.
% How sendmail interacts with the Domain Name Server.
% Interfacing sendmail to new mail agents.
Eric Allman is the original author of sendmail, several other perennial
favorites including syslog, the -me macros, and trek, as well as being
a major contributor to INGRES. He received his MS in Computer Science
from U.C. Berkeley in 1980. He is currently the Lead Programmer on
the Mammoth Project at U.C. Berkeley, where his duties include most
everything that needs doing.
T4
UNIX NETWORK PROGRAMMING
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 programmer with the
knowledge required to write network programs and to develop and
examine actual examples.
The tutorial covers the following material:
% Introduction (5%). The big picture, standards, UNIX process
handling,connections and associations.
% Berkeley sockets (80%). All the socket functions, TCP and
UDP client-server examples, reserved ports, stream pipes,
passing file descriptors, multiplexed I/O, out-of-band
data, raw sockets (ping and traceroute programs), broadcasting,
inetd superserver, constructing Internet addresses, and
possible socket changes with 4.4BSD.
% Remote procedure calls (15%). Sun RPC, comparison with
HP/Apollo RPC.
Richard Stevens is author of the books Advanced Programming in
the UNIX Environment (1992) and UNIX Network Programming (1990).
He received his PhD in the area of image processing from the
University of Arizona. From 1982 until 1990 he was Vice-
President of Research and Development with Health Systems Inter-
national. Currently he is an author and independent consultant
residing in Tucson, Arizona.
T5
UNIX SVR4.2 INTERNALS, PART 2: FILE SYSTEMS, I/O AND STREAMS
John R. Levine, Institute for Advanced Professional Studies
Intended Audience: Those who maintain, modify, or port the UNIX
system, as well as those interested in its internal structure so
as to better understand how to construct efficient and portable
applications. Attendees should have a working familiarity with
UNIX programming at the system call level and with the ANSI C
language. Part 1 of this tutorial on Monday is not prerequisite
for Part 2.
We present an overview of the structure of the system with em-
phasis on aspects new in SVR4.2. Topics include the overall sys-
tem structure and the ways in which the various subsystems fit
into and support that structure, along with the internal inter-
faces that make SVR4.2 more extensible than its predecessors.
The second day concentrates on:
File Systems: The virtual file system (VFS) interface generalizes
the traditional UNIX file system to support multiple disk file
formats as well as remote file systems such as NFS and pseudo-
files such as the /proc debugger interface and the STREAMS-based
pipes. We look at the structure of VFS and some of the specific
file systems that interface to it.
Block and Character I/O: The traditional block and character I/.O
continue to be the primary interfaces to device drivers. We look
at these interfaces along with new features such as installable
drivers and mappable device memory.
STREAMS: The STREAMS subsystem is a general and modular facility
for modular non-disk device drivers. We look at the basic struc-
ture of STREAMS, and how it supports terminal and network facili-
ties.
John R. Levine has been writing, lecturing, and consulting on
UNIX topics since 1975. As a member of the IAPS staff, he has
frequently lectured on UNIS system internals. His books range
from Graphics File Formats to UNIX for Dummies. He also
moderates the usenet comp.compilers interest group and edits
several series of technical computer books.
FIRST TIME OFFERED!
T6
THE WINDOWS NT ARCHITECTURE
Ted Demopoulos, Demopoulos Associates
Intended Audience: People who want to learn about the internal
architecture of Windows NT. Knowledge of very basic operating
system principles, such as the nature of virtual memory and
processes, is assumed. Familiarity with the internals of a
modern operating system, such as UNIX or VMS, is helpful although
not necessary.
Windows NT is a new portable operating system with features that
until recently were found mainly in research operating systems.
It currently runs on Intel, Mips, and DEC's Alpha architectures.
Attendees will gain an understanding of the goals, the philoso-
phy, and structure of Windows NT. The components of Windows NT
and how they work together to accomplish these goals are present-
ed. The tutorial concludes with a brief introduction to future
enhancements to NT, collectively code named RCairo.S Tutorial to-
pics include:
% The NT Kernel,
% The Object Manager,
% VM,
% I/O,
% Networking,
% Protected Subsystems.
Ted Demopoulos is the president of Demopoulos Associates, a con-
sulting company specializing in open systems education and con-
sulting. He holds an MS in Theoretical Mathematics from the
University of New Hampshire. Ted was employed by Apollo Computer
and Hewlett-Packard where he worked with distributed technologies
for five years. Lately he has been serving as a consultant to
the Open Software Foundation on distributed and operating system
technologies. He has followed the development of Windows NT
since its announcement and has been working with Windows NT since
Microsoft's pre-beta release last summer.
FIRST TIME OFFERED!
T7
ACHIEVING SECURITY IN AN INTERNET ENVIRONMENT
Rob Kolstad, Berkeley Software Design, Inc and Tina Darmohray, Lawrence
Livermore National Laboratory
Intended Audience: Valuable for system administrators, program-
mers, technical and operational managers, and all interested pro-
fessionals involved in securing computer networks and/or inter-
network gateways. Previous exposure to TCP/IP networks is a
prerequisite.
Often, the success of an enterprise depends heavily on digital
communications. Until now, the techniques and tools required to
secure a functional TCP/IP network have been an art - acquired
only through trial and error. This tutorial presents issues and
solutions surrounding the securing of functional internetwork
connections. This tutorial is oriented more toward UNIX than
other systems like VMS and VM.
The tutorial reviews the building blocks of distributed filesys-
tems, sendmail configuration, the Post Office Protocol, and In-
ternet connections. It then integrates the building blocks to
show how to construct an Internet firewall to connect your net-
work to the Internet, while isolating and mitigating security
problems. We conclude with a discussion of ethics and the kinds
of policies that can smooth the running of your networked site.
Topics include:
% Distributed Filesystems
% Sendmail
% Post Office Protocol
% Connecting to the Internet
% Firewalls
- Routers
- Gateway Hosts
- Proxy Users
- DNS
- Mail
% Ethics
% Internet Debugging
% Security Policies
Tina Darmohray has over a decade of experience as a UNIX system
administrator. She is the Lead for the UNIX System Administra-
tion Team at LLNL. Her group has responsibility for over 1,000
machines. In 1990, she installed the first firewall at LLNL and
has since consulted with a number of sites in the Bay Area. Pre-
viously, she worked for Sun Microsystems. She received her MS at
the University of California, Berkeley.
Dr. Rob Kolstad is Program Manager at Berkeley Software Design,
Inc. Until recently he led development of Sun Microsystems' new
Backup Copilot product. Rob sponsored the first USENIX System
Administrators Workshop, and recently resigned his tenure as
secretary of the USENIX Board of Directors.
T8
TCL AND TK: A NEW APPROACH TO X11 AND GUI PROGRAMMING
John Ousterhout, University of California, Berkeley
Intended Audience: People who wish to learn how to write scripts
for existing applications built with Tcl and Tk or who would like
to build new graphical-user-interface applications based on Tcl
and Tk. Prior experience with Tcl and Tk is not necessary nor is
detailed knowledge of any existing X toolkit. Please be familiar
with the C programming language and have basic knowledge about
the X Window System.
Creating good graphical user interfaces for the X Window System
is notoriously hard. With traditional tools you have to read
thousands of pages of documentation and write thousands of lines
of code to build even the simplest application. Tcl (a shell-
like scripting language) and Tk (an X11 toolkit and Motif-like
widget set based on Tcl) offer an alternative approach. With Tcl
and Tk you program GUI applications in a high-level scripting
language with a much simpler model of the X world. As a result,
applications can be built with less learning time and an order of
magnitude less code than with other toolkits. The Tcl language
is interpretive so you can also program and extend applications
at run-time. Different applications can issue Tcl commands to
each other in order to work together in interesting ways. This
gives Tcl and Tk greater power and flexibility than other toolk-
its. Lastly, you can extend the facilities of Tcl and Tk by
writing C code where it is needed, so there is no loss of func-
tionality or performance.
The course provides a complete top to bottom introduction to
Tcl and Tk. First, we offer an overview of Tcl and Tk and their
benefits. Then the Tcl scripting language is described in de-
tail, including its syntax and the most commonly used commands.
Thirdly, we discuss how to program the Tk toolkit using Tcl
scripts. We cover the major features provided by Tk, including
widgets, geometry managers, and communication between applica-
tions. Next, we describe how to write C code that interfaces to
Tcl and, in particular, how to build new Tcl commands with C pro-
cedures. Finally, we describe how to build new widgets and
geometry managers by writing C code that interfaces to Tk. The
course contains numerous examples of scripts and C programs to
illustrate the capabilities of the system.
John Ousterhout is a Professor in the Department of Electrical
Engineering and Computer Sciences at the University of Califor-
nia, Berkeley and the author of both Tcl and Tk. His interests
include user interfaces, operating systems, and distributed sys-
tems. Ousterhout is a recipient of the ACM Grace Murray Hopper
Award, the National Science Foundation Presidential Young Inves-
tigator Award, the National Academy of Sciences Award for Initia-
tives in Research, the IEEE Browder J. Thompson Award, and the
U.C. Berkeley Distinguished Teaching Award. He received a PhD in
Computer Science from Carnegie Mellon University in 1980.
FIRST TIME OFFERED!
T9
INSTALLING, CONFIGURING AND ADMINISTERING X SYSTEMS
Paul E. Kimball, Digital Equipment Corporation
Intended Audience: System administrators or interested users who
are building or maintaining X-based application environments. A
conversational familiarity with windowing environments and net-
working concepts is assumed. X programming experience is helpful
but not necessary.
Now that low-cost X terminals and inexpensive X workstations are
widely available, more and more system managers are faced with
having to support X networks. It's a challenge: users want
their workstations installed and customized, programmers demand
the latest development libraries, and through it all, security
and performance must be maintained. Since X systems depend on
the close cooperation of numerous separate software components,
troubleshooting problems is also more challenging than in monol-
ithic systems.
This tutorial covers the practical essentials of administering
and maintaining large networks of X workstations and X terminals.
From this course you will learn:
% How to obtain, install and build the X distribution
% How to start and configure the X server on workstations
% How to install and set up X terminals
% How X login sessions are started and controlled
% How to maintain security in X networks
% How to manage and install fonts and font servers
% How to customize the user's graphic environment
% How OPEN LOOK, OSF/Motif and other user interfaces fit
in the X environment
% How to cope with vendor-specific X features
% How software is distributed and licensed in a heterogeneous
X network
% How to maintain optimum performance in X networks
% How to troubleshoot common X problems
% Which files to edit to control an X system
Paul E. Kimball is the manager of technical support for Digital
Equipment Corporation's Independent Software Vendor Group in
Mountain View, CA. There he works with a team of engineers as-
sisting software developers in porting to Open Systems. Mr. Kim-
ball has 15 years of experience in graphics, window systems and
user-interface toolkits,. He is a frequent speaker at UniForum,
Xhibition, X World, UKUUG and other UNIX and X events. He has
been working and teaching with X and X Toolkits since 1986. Mr.
Kimball holds Engineering degrees from MIT and Princeton Univer-
sity.
*****************************************************************
For more information contact:
USENIX Association
Conference Office
22672 Lambert St., Suite 613
El Toro, CA 92630
Telephone (714) 588-8649
FAX: (714) 588-9706