732 - Writing Device Drivers for the UDI Environment
Course Overview
Writing Device Drivers for the UDI Environment is designed
for:
-
Experienced C programmers who would like to learn how to write device drivers
in the UDI environment.
-
Programmers who already know how to write device drivers for another version
of UNIX or any other multi-tasking operating system and who wish to learn
about UDI.
This course will cover the basic design and structure of a UDI Driver,
the underlying environment mechanisms supporting UDI and related MetaLanguages
that support I/O transactions in UDI. The GIO, Physical I/O, and
Management MetaLanguages are all covered in detail.
The Course will focus on the concepts and functions required to develop
a basic driver using the UDI environment. Emphasis will be placed
on having the student develop the necessary software packaging suitable
for distribution of a UDI device driver and will lead the student, through
a series of hands-on lab exercises, from the concept stage to completion
of a working UDI driver.
Writing Device Drivers for the UDI Environment is a high level
course that is taught with task-oriented lectures and hands-on labs. The
class is 5 days in length.
Course Objectives
By the end of this course, students will be able to:
-
Explain what is meant by the term "UDI Environment"
-
List the names and functions of the various components within the UDI architecture
-
Define the term "Metalanguage" and list the metalanguages available within
the UDI specification
-
Bind drivers to metalanguage interfaces and perform channel operations
as defined by the Metalanguage Environment Interface
-
List the names and functions of the core UDI services and functions including:
-
Define what is meant by the term "callback"
-
Explain how asynchronous services are handled in UDI
-
Implement asynchronous services using callbacks
-
Define the term "control block" and describe it's use within UDI
-
Use appropriate control block types to perform communications between a
wide spectrum of UDI driver components
-
Use the UDI Physical I/O services to effect physical I/O operations including:
-
Use commonly used PIO transaction list functions and macros
-
Creating PIO transaction lists
-
Invoke PIO transaction lists on specific devices
-
List the various ways that a UDI driver may be packaged and distributed
-
Install, build, and instantiate a UDI driver
Prerequisites
Students must have at least 6 months of experience programming in C using
system calls.
Students must have strong experience in operating system internals.
If a student does not have this experience, we strongly recommend attending
the following course before attending this UDI Drivers course:
721 - Introduction to SCO UnixWare 7 Internals
Currently in development:
Additional UDI courses on all MetaLanguages for various driver types including
NIC, SCSI and HBA.


