GLOSSARY(9)
NAME
intro − introduction to glossary section
DESCRIPTION
This section contains a glossary of common HP-UX terms. References to other HP-UX documentation are included as appropriate. References to entities such as wait(2), sh(1), or fopen(3S) refer to entries in the HP-UX Reference manual. References to items in italics but having no parenthetical suffixes refer to other entries in the glossary. Finally, any references to italicized manuals refer to separate manuals that are included with your system.
.o ("dot-oh") A general name for an object file; also the format of an unlinked object file. See a.out.
absolute path name A path name beginning with a slash (/). It indicates that the file’s location is given relative to the root directory (/), and that the search begins there.
access Access to system resources is governed by three entities: the effective user ID, the effective group ID, and the group access list.
access groups The group access list is an additional set of group ID’s used only in determining resource accessibility. Access checks are performed as described below in file access permissions.
address In the context of peripheral devices, a set of values which specify the location of an I/O device to the computer. The exact details of the formation of an address differ between systems. On the Series 200 and 500, the address is composed of up to four elements: the select code, bus address, unit number (id), and volume number (id).
affiliation See terminal affiliation.
a.out a.out is the default output file name used by the linker, ld(1), and the C compiler, cc(1). It is also the format of executable object code files on HP-UX. The format is machine-dependent, and is described in the a.out(5) reference page for each implementation. Object code which is as yet unlinked is in the same format, but is referred to as a .o ("dot-oh") file.
archive A file which is made up of the contents of other files (such as a group of object (usually .o) files to be used by the linker, ld(1)). An archive file is created and maintained by ar(1), or by similar programs, such as tar(1) or cpio(1). (Note that tar(1) and cpio(1) files are not usually .o files.) An archive is often called a library.
ASCII An acronym for American Standard Code for Information Interchange. It consists of a set of characters including letters, numerals, punctuation, and control characters, each of which is represented internally by 7 bits (0 − 127).
asynchronous IO An IO operation for which the user process need not wait for completion before continuing execution.
backup The process of making a copy of all or part of the file system in order to preserve it should files be accidentally removed or destroyed (due to a power failure, hardware error, user mishap, etc.). This is a highly recommended practice.
block (1) The fundamental unit of information HP-UX uses for access and storage allocation on a mass storage medium. The size of a block varies between implementations. On the Series 200 it varies from 1K to 8K bytes; for the Series 500, see logical block size.
(2) On media such as 9 track tape which write variable length strings of data, block is equivalent to the size of those strings. Block is often used to distinguish from record with a block containing several records, with the number of records being the blocking factor.
block special file A special file associated with a mass storage device (such as a disc or a CS-80 tape cartridge drive) that transfers data by first putting it in the buffer cache and then passing it to the user process. If the user process requests data from a mass storage device that already has the data in the buffer cache, then no I/O to the mass storage device is necessary. Block special files may be mounted.
boot or boot-up The process of loading, initializing, and running an operating system.
boot area On the Series 200, a portion of a mass storage medium (block zero) on which the volume header and a small "bootstrap" program used in booting the operating system reside. The boot area is reserved exclusively for use by HP-UX.
On the Series 500, the portion of an SDF mass storage medium which contains an operating system.
boot ROM A program residing in ROM (Read Only Memory) that executes each time the computer is powered-up. The function of the boot ROM is to run tests on the computer’s hardware, find all devices accessible through the computer, and then load either a specified operating system or the first operating system found according to a specific search algorithm.
bus address A number which makes up part of the address HP-UX uses to "find" a particular device. The bus address is determined by a switch setting on a peripheral device which allows the computer to distinguish between two devices connected to the same interface. A bus address is sometimes called a "device address".
CS/80 or CS-80 A family of mass storage devices that communicate via a common protocol, CS/80 (Command Set ’80) command set. This family includes hard discs, removable discs, and tape devices.
character special file A special file associated with devices which transfer data by a means other than by using the buffer cache. Examples are printers, terminals, nine-track magnetic tapes, and discs accessed in "raw" mode (see raw disc).
child process A new process created by an existing process via the fork(2) or vfork(2) system call. The new process is thereafter known to the existing process as its child process. The existing process is the parent process of the new process. See parent process and fork.
command A stand-alone unit of executable code (a program), or a file containing a list of other programs to execute in order (a shell script). In HP-UX, commands are executed through a command interpreter called a shell, often sh(1) or csh(1). Arguments following the command name are passed on to the command program. You can write your own commands, either as executable programs, or as shell scripts (written in the shell programming language).
command interpreter A program which reads lines of text from standard input (typed at the keyboard or redirected from a file), and interprets them as requests to execute other programs. A command interpreter for HP-UX is called a shell. See sh(1) and csh(1).
configuration The ability to “customize” your kernel with the drivers, code, and tunable parameter values desired.
control character A member of a character set which produces action in a device other than printing or displaying a character. In the ASCII character set, control characters are those in the range 0 through 31, and 127. Control characters can be generated by holding down [CTRL], [CONTROL], or [CNTL] (depending on what the control key is labeled on your keyboard) and pressing a character key. These two-key sequences are often written as ctrl-d, for example, or ^D, where ^ stands for the control key. Both representations assume that the control key is held down while the second key is pressed.
crash The unexpected shutdown of a program or system. If the operating system crashes, this is a "system crash", and requires the system to be re-booted.
current directory See working directory.
current working directory See working directory.
daemon A process which runs in the background, and which is usually immune to termination instructions from a terminal. Its purpose is to perform various scheduling, clean-up, and maintenance jobs. Lpsched(1) is an example of a daemon that exists to perform these functions for line printer jobs queued by lp(1). An example of a permanent daemon (i.e. it never should die) is cron(1m).
data encryption A method for encoding information in order to protect sensitive or proprietary data. For example, all users’ passwords are automatically encrypted by HP-UX. The encryption method used by HP-UX converts ASCII text into a base-64 representation using the alphabet ., /, 0-9, A-Z, a-z. See passwd(5) for the numerical equivalents associated with this alphabet.
default search path The sequence of directory prefixes that sh(1), time(1), and other HP-UX commands apply in searching for a file known by an incomplete path name (i.e. a path name not beginning with a slash, /). It is defined by the environment variable PATH (see environ(7)). Login(1) sets PATH equal to :/bin:/usr/bin, which means that your working directory is the first directory searched, followed by /bin, followed by /usr/bin. You can redefine the search path by modifying the value of PATH. This is usually done in /etc/profile, and/or in the .profile file found in your home directory (for the Bourne shell), or csh.login, .login, or cshrc (for the C-shell csh).
delta A term used in the Source Code Control System (SCCS) to describe a unit of one or more textual changes to an SCCS file. Each time you edit an SCCS file, the changes you make to the file are stored separately as a delta. Then, using the get(1) command, you can specify which deltas are to be applied to or excluded from the SCCS file, thus yielding a particular version of the file. (Contrast this with the vi or ed editor, which incorporates your changes into the file immediately, prohibiting you from obtaining a previous version of that file.) See SCCS, SCCS file.
demon See daemon.
device file See special file.
directory A file which provides the mapping between the names of files and their contents. For every file name contained in a directory, that directory contains a pointer to the file’s i-node called a link . A file may have several links appearing anywhere on the same file system. Each user is free to create (using mkdir(1)) as many directories as he needs, providing that the parent directory of the new directory gives him permission to do so. Once a directory has been created, it is ready to contain ordinary files and other directories. An HP-UX directory is named and behaves exactly like an ordinary file, with one exception: no user (including the super-user) is allowed to write data on the directory itself; this privilege is reserved for the HP-UX operating system.
By convention, a directory contains at least two links, . and .., referred to as dot and dot-dot respectively. Dot refers to the directory itself and dot-dot refers to its parent directory. For purposes of deletion, a directory containing only . and .. is considered empty. (In the root directory, “/”, “.”, and “..” are identical.)
effective group ID Every process has an effective group ID that is used to determine file access permissions. A process’s effective group ID is determined by the file (command) that process is executing. If that file’s set-group-ID bit is set (located in the mode of the file - see mode), then the process’s effective group ID is set equal to the file’s group ID. This makes the process appear to belong to the file’s group, perhaps enabling the process to access files which must be accessed in order for the program to execute successfully. If the file’s set-group-ID bit is not set, then the process’s effective group ID can only be set by an explicit call to getuid(2) or setuid(2). The id is always inherited from parent across a fork(2). The setuid/getuid bit determines whether it is inhereted across exec(2). See group, real group ID, and set-group-ID bit.
effective user ID A process has an effective user ID that is used to determine file access permissions (and other permissions with respect to system calls, if the effective user ID is 0 - that of the super-user). A process’s effective user ID is determined by the file (command) that process is executing. If that file’s set-user-ID bit is set (located in the mode of the file - see mode), then the process’s effective user ID is set equal to the file’s user ID. This makes the process appear to be the file’s owner, enabling the process to access files which must be accessed in order for the program to execute successfully. (Many HP-UX commands which are owned by root, such as mail(1), have their set-user-ID bit set so other users can execute these commands.) If the file’s set-group-ID bit is not set, then the process’s effective group ID can only be set by an explicit call to getuid(2) or setuid(2). The id is always inherited from parent across a fork(2). The setuid/getuid bit determines whether it is inhereted across exec(2). See real user ID and set-user-ID bit.
environment The set of defined shell variables (some of which are PATH, TERM, SHELL, EXINIT, HOME, etc.) which define the conditions under which your commands run. These conditions can include your terminal characteristics, your home directory, and your default search path. Each shell variable setting in the current process is passed on to all child processes that are created, provided that each shell variable setting has been exported via the export command (see sh(1)) or setenv(1) with csh(1). Unexported shell variable settings are meaningful only to the current process, and any child processes created are given the default settings given certain shell variables in /etc/profile and/or $HOME/.profile (when using the Bourne shell) or /etc/csh.login, .login, or cshrc (when using the C-shell).
end-of-file (1) the data returned when attempting to read past the logical end of a file via stdio(3S) routines. In this case end-of-file is not properly a character. (2) The character [CTRL]-[D]. (3) A character defined by stty(1) or ioctl(2) (see termio(4)). to act as end-of-file on your terminal. Usually this is [CTRL]-[D]. (4) The indication (as the function result) which indicates end of data when using read(2).
file An HP-UX file is simply a group of logically related bytes of information. These bytes, for example, could be a bytes of executable code or bytes of data. Thus, directories, ordinary files, special files, etc. can all be considered files. Every file must have a file name (see file name) which enables the user (and many of the HP-UX commands) to reference the contents of the file. The size of a file is exactly the number of bytes the file contains − the system imposes no particular structure on the contents of a file (although some programs do). Files may be accessed serially or randomly (indexed by byte offset). The interpretation of file contents and structure is up to the programs that access the file.
file access permissions Every file in the file system has a set of access per- missions. These permissions are used in determining whether a process may perform a requested operation on the file (such as opening a file for writing). Access permissions are established at the time a file is created. They may be changed at some later time through the chmod(2) call.
File access is broken down according to whether a file may be: read, written, or executed. Directory files use the execute permission to control if the directory may be searched.
File access permissions are interpreted by the system as they apply to three different classes of users: the owner of the file, those users in the file’s group, anyone else. Every file has an independent set of access permissions for each of these classes. When an access check is made, the system decides if permission should be granted by checking the access information applicable to the caller.
Read, write, and execute/search permissions on a file are granted to a process if:
The process’s effective user ID is super-user.
The process’s effective user ID matches the user ID of the owner of the file and the appropriate access bit of the “owner” portion (0700) of the file mode is set.
The process’s effective user ID does not match the user ID of the owner of the file, and either the process’s effective group ID matches the group ID of the file, or the group ID of the file is in the process’s group access list, and the appropriate access bit of the “group” portion (070) of the file mode is set.
The process’s effective user ID does not match the user ID of the owner of the file, and the process’s effective group ID does not match the group ID of the file, and the appropriate access bit of the “other” portion (07) of the file mode is set.
Otherwise, the corresponding permissions are denied.
file descriptor A small integer identifier, which is used to refer to a file that has been opened for reading and/or writing, and is an index into the user’s table of open files. The opened file must be identified by its file descriptor when using system calls to read or write the file.
The value of a file descriptor has a range from 0 to a system defined maximum. For systems at HP−UX STANDARD and above, the minimum value for this number is 60. For systems below HP−UX STANDARD the minimum value is 20. No file descriptor may have a value outside the range 0-59 or 0-19, depending on the implementation.
A file descriptor is obtained through system calls such as open(2), creat(2), dup(2), fcntl(2) or pipe(2). The file descriptor is used as an argument by calls such as read(2), write(2), ioctl(2), and close(2).
file name A string of up to 14 characters which is used to refer to the contents of an ordinary file, special file, or directory. These characters may be any ASCII character except ASCII values 0 (null) and 47 (slash - /). Note that it is generally unwise to use ∗, ?, [, !, or ] as part of file names because of the special meaning the shell attaches to these characters (see sh(1)). It is also not wise to begin a file name with −, +, or =, because some programs assume that these characters indicate that a command argument follows. Although permitted, it is advisable to avoid the use of characters which do not have a printable graphic on the hardware you commonly use, or which are likely to confuse the hardware.
file pointer A data element, obtained through any of the fopen(3S) standard I/O library routines, which "points to" (refers to) a file opened for reading and/or writing, and which keeps track of where the next I/O operation will take place in the file (in the form of a byte offset relative to the beginning of the file). After obtaining the file pointer, it must thereafter be used to refer to the open file when using any of the standard I/O library routines. (See stdio(3S) for a list of these routines.)
file system The supporting data structures, HP-UX directory structure, and associated files that reside on one or more mass storage volumes. Refer to the System Administrator Manual supplied with your system for details concerning file system implementation and maintenance.
filter A command which reads data from the standard input, performs a transformation on the data, and writes it to the standard output.
fork An HP-UX system call (fork(2)) which, when invoked by an existing process, causes a new process to be created. The new process is called the child process; the existing process is called the parent process. The child process is created by making an exact copy of the parent process. The parent and child processes are able to identify themselves by the value returned by their corresponding fork call (see fork(2) for details).
group A group is a set of 0 or more users who are usually logically related in some way (e.g., all users who are working on a particular project) and who generally require the sharing of data between each other. The members of a group are defined in the file /etc/passwd via a numerical group ID (users with identical group IDs are members of the same group). An ASCII group name is associated with each group ID in the file /etc/group (the members of each group can be listed in /etc/group, also, but this information is purely for user benefit, and is of little use to the system). A group ID is associated with every file in the file system, and the mode of each file contains a set of permission bits which apply only to groups of which the file owner is a member. Thus, if you are a member of the group associated with the file, and if the appropriate permissions are given to your group in the file’s mode, you may access the file. See real group ID, effective group ID, accessgroups, privilegedgroup, and set-group-ID bit.
group access list The group access list is an additional set of group ID’s used only in determining resource accessibility. Access checks are performed as described in file access permissions.
hierarchical directory A directory (or file system) structure in which each directory may contain other directories as well as files.
home directory The directory name given by the value of the shell variable HOME. When you first log in, login(1) automatically sets HOME equal to your login directory (see login directory). You may change its value at any time, however. This is usually done in the .profile file contained in your login directory. Setting HOME in no way affects your login directory, but simply gives you a convenient way of referring to what should be your most commonly-used directory.
host name An ASCII string of at most 8 characters (of which only 6 are supported by all the various manufactuer’s UNIX systems) which uniquely identifies an HP-UX system on a uucp network. The host name for your system may be viewed and/or set with the hostname(1) command. Systems without a defined host name are described as "unknown" on the uucp network. Do not confuse a host name with a node name, which is a string that uniquely identifies an HP-UX system on a Local Area Network (LAN). Although your host and node names may be identical (and this is often advisable), they are set and used by totally different software. See node name.
i-node Each ordinary or special file, or directory has associated with it an i-node. The i-node contains, among other things, the file’s size, protection mask, the number of links, and pointers to the disc blocks where the file’s contents can be found. Each connection between an i-node and its entry in one or more directories is called a link.
image The current state of your computer (or your portion of the computer, on a multi-user system) during the execution of a command. Often thought of as a "snapshot" of the state of the machine at any particular moment during execution.
init A special process (the initialization process) usually with a process ID of 1. It is the ancestor of every other process in the system and is used to start login processes.
interleave factor A number which determines the order in which sectors on a mass storage medium are accessed. It can be optimized to make data acquisition more efficient.
Internal Terminal Emulator (ITE)
The "device driver" code contained in the HP-UX kernel and associated with the computer’s built-in keyboard and display or a particular keyboard and display connected to the computer, depending on the Series and Model of your HP-UX computer. See system console and the System Adminstrator Manual supplied with your system for details.
interrupt signal The signal sent by SIGINT (see signal(2)). This signal generally terminates whatever program you are running. The key which sends this signal can be redefined with ioctl(2) or stty(1) (see termio(4)). It defaults to the ASCII DEL (rubout) character (the [DEL] key) or the [BREAK] key. [CONTROL]-[C] is often used instead.
intrinsic See system call.
I/O redirection A mechanism provided by the HP-UX shell for changing the source of data for standard input and/or the destination of data for standard output and standard error. See sh(1).
kernel The HP-UX operating system. The kernel is the executable code responsible for managing the computer’s resources, such as allocating memory, creating processes, and scheduling programs for execution.
library An archive file containing a set of subroutines and variables which may be accessed by user programs. For example, /lib/libc.a is a library containing all functions of section 2, and all functions of section 3 marked (3C) and (3S), in the HP-UX Reference. Similarly, /lib/libm.a is a library containing all functions in section 3 marked (3M) in the HP-UX Reference. See intro(3).
LIF An acronym for Logical Interchange Format. A standard format for mass storage implemented on many Hewlett-Packard computers to aid in media transportability. The lif∗(1) commands are used to perform various functions using LIF.
link A directory entry for any type of file. The information constituting a link includes the name of the file, and where the contents of that file may be found on a mass storage medium. One physical file may have several links to it. If the links appear in different directories, the file may or may not have the same name in each. If the links appear in one directory, however, each link must have a unique name in that directory. Multiple links to directories are not allowed (except for the super-user). See cp(1), link(1), link(2), and unlink(2). Also, to prepare a program for execution, see linker.
linker The linker combines one or more object programs into one program, searches libraries to resolve user program references, and builds an executable file in a.out format. This executable file is ready to be executed through the program loader, exec(2). The linker is invoked with the ld(1) command. The linker is often called a link editor.
logical block size The smallest unit of memory which can be allocated on a Series 500 SDF volume; a multiple of the physical sector size. This value is set at system initialization time; see sdfinit(1M).
login The process of gaining access to HP-UX. This consists of successful execution of the login sequence defined by login(1) which varies depending on the system configuration. It includes providing a login name and possibly one or more passwords.
login directory The directory in which you are placed immediately after you log in. This directory is defined for each user in the file /etc/passwd. The shell variable HOME is set automatically to your login directory by login(1) immediately after you log in. See home directory.
magic number The first word of an a.out(5) or archive file. This word contains the system ID, which tells what machine (hardware) the file will run on, and the file type (executable, shareable executable, archive, etc.).
major number A number used exclusively to create special files that enable I/O to/from specific devices. This number indicates which device driver to use for the device. Refer to mknod(1M) and the System Administrator Manual supplied with your system for details.
message queue identifier A message queue identifier (msqid) is a unique positive integer created by a msgget(2) system call. Each msqid has a message queue and a data structure associated with it. The data structure is referred to as msqid_ds and contains the following members:
structipc_perm msg_perm;/∗ operation permission struct ∗/
ushortmsg_qnum;/∗ number of msgs on q ∗/
ushortmsg_qbytes;/∗ max number of bytes on q ∗/
ushortmsg_lspid;/∗ pid of last msgsnd operation ∗/
ushortmsg_lrpid;/∗ pid of last msgrcv operation ∗/
time_tmsg_stime;/∗ last msgsnd time ∗/
time_tmsg_rtime;/∗ last msgrcv time ∗/
time_tmsg_ctime;/∗ last change time ∗/
/∗ Times measured in secs since ∗/
/∗ 00:00:00 GMT, Jan. 1, 1970 ∗/
Msg_perm is a ipc_perm structure that specifies the message operation permission (see below). This structure includes the following members:
ushortcuid;/∗ creator user id ∗/
ushortcgid;/∗ creator group id ∗/
ushortuid;/∗ user id ∗/
ushortgid;/∗ group id ∗/
ushortmode;/∗ r/w permission ∗/
Msg_qnum is the number of messages currently on the queue. Msg_qbytes is the maximum number of bytes allowed on the queue. Msg_lspid is the process id of the last process that performed a msgsnd operation. Msg_lrpid is the process id of the last process that performed a msgrcv operation. Msg_stime is the time of the last msgsnd operation, msg_rtime is the time of the last msgrcv operation, and msg_ctime is the time of the last msgctl(2) operation that changed a member of the above structure.
message operation permissions
In the msgop(2) and msgctl(2) system call descriptions, the permission required for an operation is given as "{token}", where "token" is the type of permission needed interpreted as follows:
00400 Read by user
00200 Write by user
00060 Read, Write by group
00006 Read, Write by others
Read and Write permissions on a msqid are granted to a process if one or more of the following are true:
The process’s effective user ID is super-user.
The process’s effective user ID matches msg_perm.[c]uid in the data structure associated with msqid and the appropriate bit of the “user” portion (0600) of msg_perm.mode is set.
The process’s effective user ID does not match msg_perm.[c]uid and the process’s effective group ID matches msg_perm.[c]gid and the appropriate bit of the “group” portion (060) of msg_perm.mode is set.
The process’s effective user ID does not match msg_perm.[c]uid and the process’s effective group ID does not match msg_perm.[c]gid and the appropriate bit of the “other” portion (06) of msg_perm.mode is set.
Otherwise, the corresponding permissions are denied.
metacharacter A character which has special meaning to the HP-UX shell. The set of metacharacters includes: ∗, ?, !, [, ], <, >, ;, |, ´, `, ", and &. Refer to sh(1) for the meaning associated with each.
minor number A number used exclusively to create special files that enable I/O to/from specific devices. This number is passed to the device driver and is used to select which device in a family of devices is to be used, and possibly some operational modes. The exact format and meaning of the minor number is both system and driver dependent. Refer to the System Administrator Manual supplied with your system for details. See address.
On the Series 200 and 500, for HP-IB devices, this number indicates the HP-IB address, select code, and the unit and/or volume numbers.
mode A 16-bit word associated with every file in the file system, stored in the i-node. The least-significant 12 bits of this word determine the read, write, and execute permissions for the file owner, file group, and all others, and contain the set-user-ID, set-group-ID, and "sticky" (save text image after execution) bits. The least-significant 12 bits are settable by the chmod(1) command if you are the file’s owner or the super-user. The sticky bit can only be set by the super-user. These 12 bits are sometimes referred to as permission bits. The most-significant 4 bits specify the file type for the associated file and are set as the result of creat(2), open(2), or mknod(2) system calls.
mountable file system A (blocked special) file system contained on some mass storage medium with its own root directory and an independent hierarchy of directories and files. See block special file and mount(1).
multi-user state The condition of the HP-UX operating system in which terminals in addition to the system console are allowing communication between the system and its users. By default, the Series 200 multi-user state is state 2, and the Series 500 multi-user state is state 1. Do not confuse the multi-user system with the multi-user state. A multi-user system is a system which may have more than one user actively communicating with the system when it is in the multi-user state. Multi-user states--there can be more than one multi-user state in inittab-- remove the single-user restriction imposed by the single-user state. See single-user state. See inittab(5).
new-line The character with an ASCII value of 10 (line-feed) used to separate lines of characters. It is represented by \n in the C language and in various utilities. The terminal driver (see tty(4)) normally interprets the carriage-return/line-feed sequence sent by a terminal as a single new-line character.
node name A string of up to 31 characters, not including control characters or spaces, that uniquely identifies a node on a Local Area Network (LAN). The node name for each system is set by the npowerup command, which is one of the commands supplied with the optional LAN/9000 product. Do not confuse a node name with a host name, which is a string that uniquely identifies an HP-UX system on a uucp network. Your node and host names can be identical, but they are used and set by totally different software. See host name, LAN/9000 User’s Guide, and LAN/9000 Node Manager’s Guide.
ordinary file A type of HP-UX file containing ASCII text (e.g. program source), binary data (e.g. executable code), etc. Ordinary files can be created by the user through I/O redirection, editors, or HP-UX commands.
orphan process Whenever a parent process terminates for any reason and leaves behind one or more child processes that are still active, those child processes are called orphan processes. Init(1M) inherits (becomes the effective parent of) all orphan processes.
OSF An acronym for Operating System File. An OSF resides in the SDF boot area on a Series 500 system, and contains all or part of an operating system. See osmgr(1M), oscp(1M), osck(1M), and osmark(1M).
owner The owner of a file is usually the creator of that file. However, the ownership of a file can be changed by the super-user or the current owner with the chown(1) command or the chown(2) system call. The file owner is able to do whatever he wants with his files, including remove them, copy them, move them, change their contents, etc. He is also able to change the files’ modes.
parent directory A directory’s parent directory is the directory one level above it in the file hierarchy. All directories except the root directory (/) have one (and only one) parent directory. The parent directory is sometimes referred to as the superior directory.
parent process Whenever a new process is created by a currently-existing process (via fork(2) or vfork(2)), the currently-existing process is said to be the parent process of the newly-created process. Every process has exactly one parent process (except the init process − see init), but each process can create several new processes with the fork(2) system call. The parent process ID of any process is the process ID of its creator.
password A string of ASCII characters used to verify the identity of a user. Passwords can be associated with users and groups. If a user has a password, it is automatically encrypted and entered in the second field of that user’s line in the /etc/passwd file. A user may create or change a password for himself with the passwd(1) command.
path name (sometimes written as one word, pathname). A sequence of directory names separated by slashes, and ending with any file name. All file names except the last in the sequence must be directories. If a path name begins with a slash (/), it is an absolute path name (see absolute path name); otherwise it is a relative path name (see relative path name). A path name defines the path to be followed through the hierarchical file system in order to find a particular file.
More precisely, a path name is a null-terminated character string constructed as follows:
<path-name>::=<file-name>│<path-prefix><file-name>|/
<path-prefix>::=<rtprefix>│/<rtprefix>
<rtprefix>::=<dirname>/│<rtprefix><dirname>/
where <file-name> is a string of 1 to 14 characters other than the ASCII slash and null, and <dirname> is a string of 1 to 14 characters (other than the ASCII slash and null) that names a directory or network special file with RFA (Remote File Access).
A slash by itself names the root directory.
Unless specifically stated otherwise, the null path name is treated as if it named a non-existent file.
permission bits The nine least-significant bits of a file’s mode. These bits determine read, write, and execute permissions for the file’s owner, the file’s group, and all others. See chmod(2) for further details.
pipe An inter-process I/O channel used to pass data between two processes. It is commonly used by the shell to transfer data from the standard output of one process to the standard input of another. On a command line, a pipe is signaled by a vertical bar (|). The output from the command(s) on the left of the vertical bar is channeled directly into the standard input of the command(s) on the right. The pipe(2) intrinsic function allows user programs to take advantage of this feature.
privileged groups A privileged group is a group which has had a setprivgrp (see getprivgrp(2)) operation performed on it giving it access to some system calls otherwise reserved for the super−user.
proc1 See init.
process An invocation of a program, or the execution of an image. No command can be executed without a process in which it can execute. Alternately, a process cannot exist without a command or image in some stage of execution. Several processes can all be running the same program, but each may have different data and be in different stages of execution.
process group An association of one or more processes is called a process group. A process’s membership in a particular process group is established by a numerical process group ID. Each process can belong to only one process group. Every process group has a process group leader. See process group ID and process group leader.
process group ID A positive integer in the range 1 − 30000 associated with every active process, which establishes that process’s membership with a particular process group. All members of a process group have the same process group ID. A process group ID is always the process ID of the process group leader. This grouping permits the signalling of related processes. See kill(2), process group, and process group leader.
process group leader A process group leader is a process whose process group ID and process ID are equal. A process becomes a process group leader through the setpgrp(2) system call. All processes created by the process group leader become members of that process group. All processes created by the init process (see init) are process group leaders. For example, when you log in on the system, the shell you receive to interpret your commands is a process group leader, and all subsequent process’s created by your shell are members of your shell’s process group. See process group ID and process group.
process ID Each active process in the system is uniquely identified by a positive integer called a process ID. The range of this ID is from 1 to 30000. This permits the selective sending of signals to processes with kill(1), kill(2), or signal(2). The process ID of any user process is available with the ps(1) command. If a background process is created, the shell reports its process ID to you when execution has begun.
program A sequence of instructions, either binary (as machine object code) or text (as source code or shell scripts), that define an algorithm that can be carried out by a computer. C, FORTRAN, Pascal, and BASIC source; awk source; shell scripts; and executable object (a.out(5)) are all examples of programs.
prompt The character(s) displayed by the shell on the display indicating that the system is ready for a command. The prompt is usually a dollar sign ($) for ordinary users and a pound sign (#) for the super-user, but the user can re-define it to be any string by setting the shell variable PS1 in his .profile file.
quit signal The signal sent by SIGQUIT. See signal(2). The quit signal is generated by typing the character defined by the teletype handler as your quit signal. (See stty(1), ioctl(2), and termio(4).) The default is the ASCII FS character (ASCII value 28, generated by typing [CONTROL]-[\].) This signal usually causes a running program to terminate and generates a file containing the "core image" of the terminated process. The core image is useful for debugging purposes. (Some systems do not support core images, and on those systems no such file is generated.)
raw disc The name given to a disc for which there exists a character special file which allows direct transmission between the disc and the user’s read or write buffer.
real group ID A positive integer which is assigned to every user on the system. The association of a user and his real group ID is done in the file /etc/passwd. The modifier "real" is used because a user can also have an effective group ID (see effective group ID). The real group ID can then be mapped to a group name in the file /etc/group, although it need not be. Thus, every user is a member of some group (which may be nameless), even if that group has only one member.
Every time a process creates a child process (via fork(2)), that process has a real group ID equal to the parent process’s real group ID.
real user ID A positive integer which is assigned to every user on the system. A real user ID is assigned to every valid login name in the file /etc/passwd. The modifier "real" is used because a user can also have an effective user ID (see effective user ID).
Every time a process creates a child process (via fork(2)), that process has a real user ID equal to the parent process’s real user ID.
regular expression A string of zero or more characters; the characters contained in the string may all be literal, which means that the regular expression matches itself only, or one or more of the characters may be a metacharacter, which means that a single regular expression could match several literal strings. Regular expressions are most often encountered in text editors (ed(1), ex(1), vi(1)), where searches are performed for a specific piece of text, or in commands that were created to search for a particular string in a file (most notably grep(1)). Sh(1) and csh(1) also use metacharacters to match one or more patterns; this is a different mechanism that regular expressions. See ed(1).
relative path name A path name that does not begin with a slash. It indicates that a file’s location is given relative to your current working directory, and that the search begins there (instead of at the root directory). An example is dir1/file2, which searches for the directory dir1 in your current working directory. Dir1 is then searched for the file file2.
root directory 1) The highest level directory of the hierarchical file system, from which all other files branch. In HP-UX, the "/" character refers to the root directory. The root directory is the only directory in the file system which is its own parent directory.
2) Each process has associated with it a concept of a root directory for the purpose of resolving path name searches for those paths beginning with "/". A process’s root directory need not be the root directory of the root file system, and can be changed by the chroot(1) command or chroot(2) system call. Such a directory appears to the process involved to have .. pointing to itself.
root volume The mass storage volume which contains the boot area (which contains the HP-UX kernel) and the root directory of the HP-UX file system.
saved user ID Every process has a saved user ID which retains the process’s effective user ID from the last successful exec(2), or from the last super-user call to setuid(2). Setuid(2) permits a process to set its effective user ID to this remembered value. Consequently, a process which executes a program with the set-user-ID bit set and with an owner ID of 5 (for example) can set its effective user ID to 5, or to its real user ID, any time until the program terminates. See exec(2), setuid(2), saved group ID, effective user ID, and set-user-ID bit.
saved group ID Every process has a saved group ID which retains the process’s effective group ID from the last successful exec(2), or from the last super-user call to setgid. Setgid permits a process to set its effective group ID to this remembered value. Consequently, a process which executes a program with the set-group-ID bit set and with a group ID of 5 (for example) can set its effective group ID to 5, or to its real group ID, any time until the program terminates. See exec(2), setuid(2), saved user ID, effective group ID, and set-group-ID bit.
SCCS An acronym for Source Code Control System. The Source Code Control System is a set of HP-UX commands which enable you to store changes to an SCCS file as separate "units" (called deltas). These units, each of which contains one or more textual changes to the file, can then be applied to or excluded from the SCCS file to obtain different versions of the file. The commands that make up SCCS are admin(1), cdc(1), delta(1), get(1), prs(1), rmdel(1), sact(1), sccsdiff(1), unget(1), val(1), and what(1). See delta, SCCS file.
SCCS file An ordinary text file which has been modified so that the Source Code Control System (SCCS) may be used with it. This modification is done automatically by the admin(1) command. See SCCS, delta.
SDF An acronym for Structured Directory Format. SDF is implemented on the Series 500 computers only, and provides tree-structured access to files through the root directory of the volume.
secondary prompt One or more characters that the Bourne shell sh(1) prints on the display, indicating that more input is needed. This prompt is much less often encountered than the shell’s primary prompt (see prompt). When it occurs, it is usually caused by an omitted right quote on a string (which confuses the shell), or when you enter a shell programming language control-flow construct (such as a for construct) from the command line. By default, the shell’s secondary prompt is the greater-than sign (>), but you can re-define it by setting the shell variable PS2 appropriately in your .profile file.
select code On the series 200 and 500 part of an address used for devices. A number determined by a setting on the interface card to which a peripheral device is connected, or by the particular I/O slot the I/O card resides in. Multiple peripherals connected to the same interface card share the same select code.
semaphore identifier A semaphore identifier (semid) is a unique positive integer created by a semget(2) system call. Each semid has a set of semaphores and a data structure associated with it. The data structure is referred to as semid_ds and contains the following members:
structipc_perm sem_perm;/∗ operation permission struct ∗/
ushortsem_nsems;/∗ number of sems in set ∗/
time_tsem_otime;/∗ last operation time ∗/
time_tsem_ctime;/∗ last change time ∗/
/∗ Times measured in secs since ∗/
/∗ 00:00:00 GMT, Jan. 1, 1970 ∗/
Sem_perm is a ipc_perm structure that specifies the semaphore operation permission (see below). This structure includes the following members:
ushortcuid;/∗ creator user id ∗/
ushortcgid;/∗ creator group id ∗/
ushortuid;/∗ user id ∗/
ushortgid;/∗ group id ∗/
ushortmode;/∗ r/a permission ∗/
The value of sem_nsems is equal to the number of semaphores in the set. Each semaphore in the set is referenced by a positive integer referred to as a sem_num. Sem_num values run sequentially from 0 to the value of sem_nsems minus 1. Sem_otime is the time of the last semop(2) operation, and sem_ctime is the time of the last semctl(2) operation that changed a member of the above structure.
A semaphore is a data structure that contains the following members:
ushortsemval;/∗ semaphore value ∗/
shortsempid;/∗ pid of last operation ∗/
ushortsemncnt;/∗ # awaiting semval > cval ∗/
ushortsemzcnt;/∗ # awaiting semval = 0 ∗/
Semval is a non-negative integer. Sempid is equal to the process ID of the last process that performed a semaphore operation on this semaphore. Semncnt is a count of the number of processes that are currently suspended awaiting this semaphore’s semval to become greater than its current value. Semzcnt is a count of the number of processes that are currently suspended awaiting this semaphore’s semval to become zero.
semaphore operation permissions
In the semop(2) and semctl(2) system call descriptions, the permission required for an operation is given as "{token}", where "token" is the type of permission needed interpreted as follows:
00400 Read by user
00200 Alter by user
00060 Read, Alter by group
00006 Read, Alter by others
Read and Alter permissions on a semid are granted to a process if one or more of the following are true:
The process’s effective user ID is super-user.
The process’s effective user ID matches sem_perm.[c]uid in the data structure associated with semid and the appropriate bit of the “user” portion (0600) of sem_perm.mode is set.
The process’s effective user ID does not match sem_perm.[c]uid, and either the process’s effective group ID matches sem_perm.[c]gid or sem_perm.[c]gid is in the process’s group access list, and the appropriate bit of the “group” portion (060) of sem_perm.mode is set.
The process’s effective user ID does not match sem_perm.[c]uid, and the process’s effective group ID does not match sem_perm.[c]gid and neither is sem_perm.[c]gid in the process’s group access list, and the appropriate bit of the “other” portion (06) of sem_perm.mode is set.
Otherwise, the corresponding permissions are denied.
set-group-ID bit A single bit in the mode of every file in the file system. If a file is executed whose set-group-ID bit is set, then the effective group ID of the process which executed the file is set equal to the real group ID of the owner of the file. See effective group ID, group, and real group ID.
set-user-ID bit A single bit in the mode of every file in the file system. If a file is executed whose set-user-ID bit is set, then the effective user ID of the process which executed the file is set equal to the real user ID of the owner of the file. See effective user ID and real user ID.
shared memory identifier A shared memory identifier (shmid) is a unique positive integer created by a shmget(2) system call. Each shmid has a segment of memory (referred to as a shared memory segment) and a data structure associated with it. The data structure is referred to as shmid_ds; some of its members are:
structipc_perm shm_perm;/∗ operation permission struct ∗/
intshm_segsz;/∗ size of segment ∗/
ushortshm_cpid;/∗ creator pid ∗/
ushortshm_lpid;/∗ pid of last operation ∗/
shortshm_nattch;/∗ number of current attaches ∗/
time_tshm_atime;/∗ last attach time ∗/
time_tshm_dtime;/∗ last detach time ∗/
time_tshm_ctime;/∗ last change time ∗/
/∗ Times measured in secs since ∗/
/∗ 00:00:00 GMT, Jan. 1, 1970 ∗/
Shm_perm is a ipc_perm structure that specifies the shared memory operation permission (see below). This structure includes the following members:
ushortcuid;/∗ creator user id ∗/
ushortcgid;/∗ creator group id ∗/
ushortuid;/∗ user id ∗/
ushortgid;/∗ group id ∗/
ushortmode;/∗ r/w permission ∗/
Shm_segsz specifies the size (in bytes) of the shared memory segment. Shm_cpid is the process id of the process that created the shared memory identifier. Shm_lpid is the process id of the last process that performed a shmop(2) operation. Shm_nattch is the number of times the segments are currently attaching to other processes. Shm_atime is the time of the last shmat operation, shm_dtime is the time of the last shmdt operation, and shm_ctime is the time of the last shmctl(2) operation that changed one of the members of the above structure.
shared memory operation permissions
In the shmop(2) and shmctl(2) system call descriptions, the permission required for an operation is given as "{token}", where "token" is the type of permission needed and is interpreted as follows:
00400 Read by user
00200 Write by user
00060 Read, Write by group
00006 Read, Write by others
Read and Write permissions on a shmid are granted to a process if one or more of the following are true:
The process’s effective user ID is super-user.
The process’s effective user ID matches shm_perm.[c]uid in the data structure associated with shmid and the appropriate bit of the “user” portion (0600) of shm_perm.mode is set.
The process’s effective user ID does not match sem_perm.[c]uid, and either the process’s effective group ID matches sem_perm.[c]gid or sem_perm.[c]gid is in the process’s group access list, and the appropriate bit of the “group” portion (060) of sem_perm.mode is set.
The process’s effective user ID does not match sem_perm.[c]uid, and the process’s effective group ID does not match sem_perm.[c]gid and neither is sem_perm.[c]gid in the process’s group access list, and the appropriate bit of the “other” portion (06) of sem_perm.mode is set.
Otherwise, the corresponding permissions are denied.
shell A shell is a command which functions as both a command interpreter and an interpretive programming language. A shell is usually automatically invoked (via /etc/passwd)foreveryuserwho in order to provide a user-interface to the HP-UX operating system. See sh(1), csh(1), or rsh(1), and the tutorials supplied with your system for details.
shell program See shell script.
shell script A sequence of shell commands and shell programming language constructs stored in a file and invoked as a user command (program). No compilation is needed prior to execution, because the shell recognizes the commands and constructs that make up the shell programming language. A shell script is often called a shell program or a command file. See the shell programming article included in HP-UX Concepts and Tutorials.
signal Signals are software interrupts sent to processes, informing them of special situations or events. They are frequently used to synchronize the operation of two or more processes. See signal(2) and kill(2).
single-user state A condition of the HP-UX operating system in which the system console provides the only communication mechanism between the system and its user. By default, the Series 200 single-user state is state 1, and the Series 500 multi-user state is state 2. Do not confuse the single-user state, in which the software is limiting a multi-user system to a single-user communication, with a single-user system, which can never communicate with more than one fixed terminal. See multi-user state.
special file Often called a device file, this is a file associated with an I/O device. Special files are read and written just like ordinary files, but requests to read or write result in activation of the associated device. Most standard special files reside in /dev; however, network special files reside in /net, and fifo special files can exist in any directory.
special processes Processes with certain (small) process ID’s are special. On a typical system, the ID’s of 0, 1, and 2 are assigned as follows: Process 0 is the scheduler. Process 1 is the initialization process init, and is the ancestor of every other process in the system. It is used to control the process structure. On paging systems with virtual memory process 2 is the paging daemon.
On the Series 500, there is no process 0 and the scheduler does not exist as an identifiable entity. The paging demon also does not exist as an identifiable entity.
standard error The destination of error and special messages from a program. The standard error file is often called stderr, and is automatically opened for writing on file descriptor 2 for every command invoked. By default, the user’s terminal is the destination of all data written to stderr, but it can be redirected elsewhere.
standard input The source of input data for a program. The standard input file is often called stdin, and is automatically opened for reading on file descriptor 0 for every command invoked. By default, the user’s terminal is the source of all data read from stdin, but it can be redirected from another source.
standard output The destination of output data from a program. The standard output file is often called stdout, and is automatically opened for writing on file descriptor 1 for every command invoked. By default, the user’s terminal is the destination of all data written to stdout, but it can be redirected elsewhere.
stream A term most often used in conjunction with the standard I/O library routines documented in section 3 of this manual. A stream is simply a file pointer (declared as FILE ∗stream) returned by the fopen(3S) library routines. It may or may not have buffering associated with it (by default, buffering is assigned, but this may be modified with setbuf(3S)).
sticky bit A single bit in the mode of every file in the file system. If set, then the data structure and heap storage for the text portion of the file is retained even if no process is currently attaching (using) to it. The objective is to reduce startup time of future processes that may use the same text file. Only the super-user can set the sticky bit. The sticky bit is read each time the file is executed (via exec(2)).
sub-directory A directory that is one (or perhaps more) levels lower in the file system hierarchy than a given directory. Sometimes called a subordinate directory.
subordinate directory See sub-directory.
super block A block on each file system’s mass storage medium which describes the file system. The contents of the super-block vary between implementations. Refer to the System Administrator Manual supplied with your system, and the appropriate fs(5) entry for details.
super-user The HP-UX system administrator. This user has access to all files, and can perform privileged operations. He has a real and effective user ID of 0, and, by convention, the user name of root.
superior directory See parent directory.
system call An HP-UX operating system kernel function available to the user through a high-level language (such as FORTRAN, Pascal, or C). Also called an "intrinsic" or a "system intrinsic". The available system calls are documented in section 2 of the HP-UX Reference manual.
system console A keyboard and display (or terminal) given a unique status by HP-UX and associated with the special file /dev/console. All boot ROM or system loader error messages, HP-UX system error messages, and certain system status messages are sent to the system console. Under certain conditions (such as the single-user state), the system console provides the only mechanism for communicating with HP-UX. See HP-UX Concepts and Tutorials and the System Administrator Manual provided with your system for details on configuration and use of the system console.
terminal affiliation The means by which a process group leader establishes an association between itself and a particular terminal. A terminal becomes affiliated with a process group leader (and subsequently all processes created by the process group leader − see terminal group) whenever the process group leader executes (either directly or indirectly) an open(2) or creat(2) system call for that a terminal. Then, if the process which is executing open(2) or creat(2) is a process group leader, and if that process group leader is not yet affiliated with a terminal, and if the terminal being opened is not yet affiliated with a process group, the affiliation is established.
An affiliated terminal keeps track of its process group affiliation by storing the process group’s process group ID in an internal structure.
Two benefits are realized by terminal affiliation. First, all signals sent from the terminal are sent to all processes in the terminal group. Second, all processes in the terminal group can perform I/O from/to the generic terminal driver /dev/tty, which automatically selects the affiliated terminal.
Terminal affiliation is broken with a terminal group when the process group leader terminates, after which the hangup signal is sent to all processes remaining in the process group. Also, if a process (which is not a process group leader) in the terminal group becomes a process group leader via the setpgrp(2) system call, its terminal affiliation is broken.
See process group, process group leader, terminal group, and setpgrp(2).
terminal group A terminal group is a process group whose process group leader has established affiliation with a particular terminal. Once a process group leader has established affiliation with a terminal, all processes in that process group created after the affiliation are members of that terminal group. Processes existing before and during the time when affiliation is established do not inherit the affiliation, and are thus not part of the terminal group. A terminal group is sometimes called a tty group.
This grouping is used to terminate a group of related process upon termination of one of the processes in the group; see exit(2) and signal(2).
See process group, process group leader, terminal affiliation, and setpgrp(2).
tty group ID See terminal group.
unit number Part of an address used for devices. A number whose meaning is software- and device-dependent, but which is often used to specify a particular disc drive in a device with a multi-drive controller. See the System Administrator Manual supplied with your system for details.
volume number Part of an address used for devices. A number whose meaning is software- and device-dependent, but which is often used to specify a particular volume on a multi-volume disc drive. See the System Administrator Manual supplied with your system for details.
working directory Each process has associated with it the concept of a current working directory. For a shell, this appears as the directory in which you currently reside. This is the directory in which relative path name (i.e. when a given path name does not begin with "/") searches begin. It is sometimes referred to as the current directory, or the current working directory.
zombie process The state of a process where the only system resource allocated to it is a slot in the process table data structure. This state is arrived at when the process is being terminated. It is a harmless occurrence which rectifies itself the next time that the parent process waits. The ps(1) command lists zombie processes as “<defunct>”.
Hewlett-Packard — last mod. May 11, 2021