Text preview for : SP-2023_UNICOS_Internal_Reference_Manual_for_CRAY-2_Computer_Systems_5.0_.pdf part of cray SP-2023 UNICOS Internal Reference Manual for CRAY-2 Computer Systems 5.0 cray UNICOS 5.0_1989 SP-2023_UNICOS_Internal_Reference_Manual_for_CRAY-2_Computer_Systems_5.0_.pdf



Back to : SP-2023_UNICOS_Internal_R | Home

Introductory Material
Examining Kernel Code


This section describes the structure of the UNICOS kernel source
code, and gives some tips on how to examine the code for
debugging purposes.



Structure of kernel source code
In the released system, the kernel source code is in the directory
lusrlsrcluts. (This directory should not be accessible to users.)
This manual describes the source code in this directory and its
subdirectories. Associated definition files (include files, also
called header files) are also described; they are found in the
source directory lusr/include/sys.

This manual does not describe the software in other directories
(for example, the TCP/IP source code).

The uts directory contains the following subdirectories:

Subdirectory Description

boot Boot subdirectory
cf Configuration subdirectory
fs File system subdirectory
io I/O subdirectory
md Machine-dependent subdirectory
os Operating system subdirectory

The directory uts also contains files used in building the kernel;
for example, the file osdef.s is the kernel's version of the
assembler definition file used in building the kernel.




SP-2023 5.0 CRAY PROPRIETARY 7
Examining Kernel Code UNICOS Internal Reference Manual for CRAY-2 Computer Systems




Figure 1 shows the structure of the lusrlsrcluts directory.




boot cf fs io md os

Figure 1. Structure of the uts directory

The directory lusr/include/sys is the system include file
subdirectory. It contains the include files needed to build the
kernel.

The remainder of this subsection describes the contents of the
subdir~ctories.




The boot subdirectory

This subdirectory contains the source files boot.c, booth.s, and
boot.mk. It also contains the UNICOS boot program, osboot, if
that program has been built.



The cf subdirectory

This subdirectory contains the following files and subdirectories:

File Description

Makefile Kernel makefile.
conf.c Configuration file.
name.c File that contains the date and time of the kernel
generation, as well as system jnformation returned




8 CRAY PROPRIETARY SP-2023 5.0
UNICOS Internal Reference Manual for CRAY-2 Computer Systems Examining Kernel Code




File Description

by the uname(2) system call. name.c is edited at
kernel compilation time to reflect the uname
information; this editing is done in the kernel
makefile.
hconf.h Hardware configuration file; used for configuring
devices for the foreground processor.
lib Subdirectory containing UNICOS object files used
in building the kernel.
Iibtcp Subdirectory containing TCP/IP object files used
in building the kernel.
libnfs Subdirectory contain~g UNICOS NFS object files
used in building the kernel.

For more information on these files, or on system configuration in
general, see the UN/COS System Administrator's Guide for
CRAY-2 Computer Systems, publication SO-2019.



The fs subdirectory

This subdirectory contains the file-system-specific portiO!1 of the
file system switch (FSS) in the directories c2, proc, and sl.

The directory c2 contains the file system routines for the native
file system (C2FS).
The directory proc contains the file system routines for the /proc
file system.
The directory sl contains the file system routines for the
SUPERLINK file system (SLFS). (Only the kernel-level code for
SUPERLINK is in the UNICOS 5.0 release; customers wishing to
obtain SUPERLINK must order it as a separate product.)

See "File System Switch," page 53, for more information on these
file systems.




SP-2023 5.0 CRAY PROPRIETARY 9
Examining Kernel Code UNICOS Internal Reference Manual for CRAY-2 Computer Systems




The io subdirectory

This subdirectory contains the UNICOS device drivers. For
example, device drivers for the disks, the HYPERchannel, and the
CPUs are located in this subdirectory.



The md subdirectory

This subdirectory contains the machine-dependent code in the
UNICOS kernel; this code includes routines for context switching,
error processing, and interrupt handling. All of the kernel
assembly language files are in this subdirectory.



The os subdirectory

This subd~ectory contains the routines that are the core of the
UNICOS operating system.



The lusr/include/sys subdirectory

This directory contains the include files that the UNICOS kernel
uses when it is being built.



Kernel data structures
The kernel data structures, also referred to as tables, hold
important information for the kernel. For example, the process
table is an array that holds information about active processes on
the system. The "Kernel Data Structures" section, page 15,
describes some important data structures in UNICOS.




10 CRAY PROPRIETARY SP-2023 5.0
UNICOS Internal Reference Manual for CRAY-2 Computer Systems Examining Kernel Code




Tips for examining kernel code
This subsection describes the use of the ctags(l) command with
the tag feature of the ex(l) and vi(l) editors to search for kernel
routines.



Creating an index of kernel routines

To print an index of kernel routines, listing the routine name, the
location of the definition, and the line number of the definition,
perfonn the following operations: