Add a description of the special kernel thread "ioflush" to the "special
processes" section, per PR 10912. While we're here, clean up nroff nits, like spaces at the ends of lines.
This commit is contained in:
parent
0dff585654
commit
4ca39aa709
|
@ -1,4 +1,4 @@
|
||||||
.\" $NetBSD: intro.2,v 1.22 2000/03/14 19:14:29 kleink Exp $
|
.\" $NetBSD: intro.2,v 1.23 2001/03/13 03:24:13 fair Exp $
|
||||||
.\"
|
.\"
|
||||||
.\" Copyright (c) 1980, 1983, 1986, 1991, 1993
|
.\" Copyright (c) 1980, 1983, 1986, 1991, 1993
|
||||||
.\" The Regents of the University of California. All rights reserved.
|
.\" The Regents of the University of California. All rights reserved.
|
||||||
|
@ -95,7 +95,8 @@ An asynchronous signal (such as
|
||||||
or
|
or
|
||||||
.Dv SIGQUIT )
|
.Dv SIGQUIT )
|
||||||
was caught by the process during the execution of an interruptible
|
was caught by the process during the execution of an interruptible
|
||||||
function. If the signal handler performs a normal return, the
|
function.
|
||||||
|
If the signal handler performs a normal return, the
|
||||||
interrupted function call will seem to have returned the error condition.
|
interrupted function call will seem to have returned the error condition.
|
||||||
.It Er 5 EIO Em "Input/output error" .
|
.It Er 5 EIO Em "Input/output error" .
|
||||||
Some physical input or output error occurred.
|
Some physical input or output error occurred.
|
||||||
|
@ -181,8 +182,8 @@ not a directory, when a directory was expected.
|
||||||
.It Er 21 EISDIR Em "Is a directory" .
|
.It Er 21 EISDIR Em "Is a directory" .
|
||||||
An attempt was made to open a directory with write mode specified.
|
An attempt was made to open a directory with write mode specified.
|
||||||
.It Er 22 EINVAL Em "Invalid argument" .
|
.It Er 22 EINVAL Em "Invalid argument" .
|
||||||
Some invalid argument was supplied. (For example,
|
Some invalid argument was supplied.
|
||||||
specifying an undefined signal to a
|
(For example, specifying an undefined signal to a
|
||||||
.Xr signal 3
|
.Xr signal 3
|
||||||
or
|
or
|
||||||
.Xr kill 2
|
.Xr kill 2
|
||||||
|
@ -211,11 +212,12 @@ while the pure procedure file was being executed an
|
||||||
.Xr open 2
|
.Xr open 2
|
||||||
call requested write access.
|
call requested write access.
|
||||||
.It Er 27 EFBIG Em "File too large" .
|
.It Er 27 EFBIG Em "File too large" .
|
||||||
The size of a file exceeded the maximum. (The system-wide maximum file size is
|
The size of a file exceeded the maximum.
|
||||||
|
(The system-wide maximum file size is
|
||||||
.if t 2\u\s-263\s+2\d
|
.if t 2\u\s-263\s+2\d
|
||||||
.if n 2**63
|
.if n 2**63
|
||||||
bytes. Each file system may impose a lower limit for files contained within
|
bytes.
|
||||||
it.)
|
Each file system may impose a lower limit for files contained within it).
|
||||||
.It Er 28 ENOSPC Em "Device out of space" .
|
.It Er 28 ENOSPC Em "Device out of space" .
|
||||||
A
|
A
|
||||||
.Xr write 2
|
.Xr write 2
|
||||||
|
@ -235,9 +237,9 @@ An attempt was made to modify a file or directory
|
||||||
was made
|
was made
|
||||||
on a file system that was read-only at the time.
|
on a file system that was read-only at the time.
|
||||||
.It Er 31 EMLINK Em "Too many links" .
|
.It Er 31 EMLINK Em "Too many links" .
|
||||||
The number of hard links to a single file has exceeded the maximum. (The
|
The number of hard links to a single file has exceeded the maximum.
|
||||||
system-wide maximum number of hard links is 32767. Each file system may
|
(The system-wide maximum number of hard links is 32767.
|
||||||
impose a lower limit for files contained within it.)
|
Each file system may impose a lower limit for files contained within it).
|
||||||
.It Er 32 EPIPE Em "Broken pipe" .
|
.It Er 32 EPIPE Em "Broken pipe" .
|
||||||
A write on a pipe, socket or
|
A write on a pipe, socket or
|
||||||
.Tn FIFO
|
.Tn FIFO
|
||||||
|
@ -270,7 +272,8 @@ A message sent on a socket was larger than the internal message buffer
|
||||||
or some other network limit.
|
or some other network limit.
|
||||||
.It Er 41 EPROTOTYPE Em "Protocol wrong type for socket" .
|
.It Er 41 EPROTOTYPE Em "Protocol wrong type for socket" .
|
||||||
A protocol was specified that does not support the semantics of the
|
A protocol was specified that does not support the semantics of the
|
||||||
socket type requested. For example, you cannot use the
|
socket type requested.
|
||||||
|
For example, you cannot use the
|
||||||
.Tn ARPA
|
.Tn ARPA
|
||||||
Internet
|
Internet
|
||||||
.Tn UDP
|
.Tn UDP
|
||||||
|
@ -319,9 +322,9 @@ The host you were connected to crashed and rebooted.
|
||||||
.It Er 53 ECONNABORTED Em "Software caused connection abort" .
|
.It Er 53 ECONNABORTED Em "Software caused connection abort" .
|
||||||
A connection abort was caused internal to your host machine.
|
A connection abort was caused internal to your host machine.
|
||||||
.It Er 54 ECONNRESET Em "Connection reset by peer" .
|
.It Er 54 ECONNRESET Em "Connection reset by peer" .
|
||||||
A connection was forcibly closed by a peer. This normally
|
A connection was forcibly closed by a peer.
|
||||||
results from a loss of the connection on the remote socket
|
This normally results from a loss of the connection on the remote
|
||||||
due to a timeout or a reboot.
|
socket due to a timeout or a reboot.
|
||||||
.It Er 55 ENOBUFS Em "\&No buffer space available" .
|
.It Er 55 ENOBUFS Em "\&No buffer space available" .
|
||||||
An operation on a socket or pipe was not performed because
|
An operation on a socket or pipe was not performed because
|
||||||
the system lacked sufficient buffer space or because a queue was full.
|
the system lacked sufficient buffer space or because a queue was full.
|
||||||
|
@ -350,11 +353,12 @@ A
|
||||||
or
|
or
|
||||||
.Xr send 2
|
.Xr send 2
|
||||||
request failed because the connected party did not
|
request failed because the connected party did not
|
||||||
properly respond after a period of time. (The timeout
|
properly respond after a period of time.
|
||||||
period is dependent on the communication protocol.)
|
(The timeout period is dependent on the communication protocol).
|
||||||
.It Er 61 ECONNREFUSED Em "Connection refused" .
|
.It Er 61 ECONNREFUSED Em "Connection refused" .
|
||||||
No connection could be made because the target machine actively
|
No connection could be made because the target machine actively
|
||||||
refused it. This usually results from trying to connect
|
refused it.
|
||||||
|
This usually results from trying to connect
|
||||||
to a service that is inactive on the foreign host.
|
to a service that is inactive on the foreign host.
|
||||||
.It Er 62 ELOOP Em "Too many levels of symbolic links" .
|
.It Er 62 ELOOP Em "Too many levels of symbolic links" .
|
||||||
A path name lookup involved more than 8 symbolic links.
|
A path name lookup involved more than 8 symbolic links.
|
||||||
|
@ -394,8 +398,7 @@ filesystem)
|
||||||
which is now unavailable as referenced by the file descriptor.
|
which is now unavailable as referenced by the file descriptor.
|
||||||
This may indicate the file was deleted on the
|
This may indicate the file was deleted on the
|
||||||
.Tn NFS
|
.Tn NFS
|
||||||
server or some
|
server or some other catastrophic event occurred.
|
||||||
other catastrophic event occurred.
|
|
||||||
.It Er 72 EBADRPC Em "RPC struct is bad" .
|
.It Er 72 EBADRPC Em "RPC struct is bad" .
|
||||||
Exchange of
|
Exchange of
|
||||||
.Tn RPC
|
.Tn RPC
|
||||||
|
@ -447,7 +450,8 @@ A wide character/multibyte character encoding error occured.
|
||||||
.Bl -tag -width Ds
|
.Bl -tag -width Ds
|
||||||
.It Process ID .
|
.It Process ID .
|
||||||
Each active process in the system is uniquely identified by a non-negative
|
Each active process in the system is uniquely identified by a non-negative
|
||||||
integer called a process ID. The range of this ID is from 0 to 30000.
|
integer called a process ID.
|
||||||
|
The range of this ID is from 0 to 30000.
|
||||||
.It Parent process ID
|
.It Parent process ID
|
||||||
A new process is created by a currently active process; (see
|
A new process is created by a currently active process; (see
|
||||||
.Xr fork 2 ) .
|
.Xr fork 2 ) .
|
||||||
|
@ -457,9 +461,9 @@ the parent process ID of each child is set to the ID of a system process,
|
||||||
.Xr init 8 .
|
.Xr init 8 .
|
||||||
.It Process Group
|
.It Process Group
|
||||||
Each active process is a member of a process group that is identified by
|
Each active process is a member of a process group that is identified by
|
||||||
a non-negative integer called the process group ID. This is the process
|
a non-negative integer called the process group ID.
|
||||||
ID of the group leader. This grouping permits the signaling of related
|
This is the process ID of the group leader.
|
||||||
processes (see
|
This grouping permits the signaling of related processes (see
|
||||||
.Xr termios 4 )
|
.Xr termios 4 )
|
||||||
and the job control mechanisms of
|
and the job control mechanisms of
|
||||||
.Xr csh 1 .
|
.Xr csh 1 .
|
||||||
|
@ -513,9 +517,9 @@ termed the real user ID.
|
||||||
.Pp
|
.Pp
|
||||||
Each user is also a member of one or more groups.
|
Each user is also a member of one or more groups.
|
||||||
One of these groups is distinguished from others and
|
One of these groups is distinguished from others and
|
||||||
used in implementing accounting facilities. The positive
|
used in implementing accounting facilities.
|
||||||
integer corresponding to this distinguished group is termed
|
The positive integer corresponding to this distinguished group is
|
||||||
the real group ID.
|
termed the real group ID.
|
||||||
.Pp
|
.Pp
|
||||||
All processes have a real user ID and real group ID.
|
All processes have a real user ID and real group ID.
|
||||||
These are initialized from the equivalent attributes
|
These are initialized from the equivalent attributes
|
||||||
|
@ -530,17 +534,18 @@ group IDs, and it is unspecified whether the effective group ID is
|
||||||
a member of the list.)
|
a member of the list.)
|
||||||
.Pp
|
.Pp
|
||||||
The effective user ID and effective group ID are initially the
|
The effective user ID and effective group ID are initially the
|
||||||
process's real user ID and real group ID respectively. Either
|
process's real user ID and real group ID respectively.
|
||||||
may be modified through execution of a set-user-ID or set-group-ID
|
Either may be modified through execution of a set-user-ID or
|
||||||
file (possibly by one its ancestors) (see
|
set-group-ID file (possibly by one its ancestors) (see
|
||||||
.Xr execve 2 ) .
|
.Xr execve 2 ) .
|
||||||
By convention, the effective group ID (the first member of the group access
|
By convention, the effective group ID (the first member of the group access
|
||||||
list) is duplicated, so that the execution of a set-group-ID program
|
list) is duplicated, so that the execution of a set-group-ID program
|
||||||
does not result in the loss of the original (real) group ID.
|
does not result in the loss of the original (real) group ID.
|
||||||
.Pp
|
.Pp
|
||||||
The group access list is a set of group IDs
|
The group access list is a set of group IDs
|
||||||
used only in determining resource accessibility. Access checks
|
used only in determining resource accessibility.
|
||||||
are performed as described below in ``File Access Permissions''.
|
Access checks are performed as described below in
|
||||||
|
.Qq File Access Permissions .
|
||||||
.It "Saved Set User ID and Saved Set Group ID"
|
.It "Saved Set User ID and Saved Set Group ID"
|
||||||
When a process executes a new file, the effective user ID is set
|
When a process executes a new file, the effective user ID is set
|
||||||
to the owner of the file if the file is set-user-ID, and the effective
|
to the owner of the file if the file is set-user-ID, and the effective
|
||||||
|
@ -559,13 +564,21 @@ A process is recognized as a
|
||||||
.Em super-user
|
.Em super-user
|
||||||
process and is granted special privileges if its effective user ID is 0.
|
process and is granted special privileges if its effective user ID is 0.
|
||||||
.It Special Processes
|
.It Special Processes
|
||||||
The processes with process IDs of 0, 1, 2 and 3 are special.
|
The processes with process IDs of 0, 1, 2, 3, and 4 are special.
|
||||||
Process 0 is the scheduler. Process 1 is the initialization process
|
Process 0 is the scheduler.
|
||||||
|
Process 1 is the initialization process
|
||||||
.Xr init 8 ,
|
.Xr init 8 ,
|
||||||
and is the ancestor of every other process in the system.
|
and is the ancestor (parent) of every other process in the system.
|
||||||
It is used to control the process structure.
|
It is used to control the process structure.
|
||||||
Process 2 is the paging daemon. Process 3 is the reaper, which handles
|
Process 2 is the paging daemon.
|
||||||
deallocating resources for exiting processes.
|
Process 3 is the
|
||||||
|
.Sy reaper ,
|
||||||
|
which handles deallocating resources for exiting processes.
|
||||||
|
Process 4 is
|
||||||
|
.Sy ioflush ,
|
||||||
|
which replaces the old
|
||||||
|
.Sy update
|
||||||
|
program that periodically flushes the disk buffer cache.
|
||||||
.It Descriptor
|
.It Descriptor
|
||||||
An integer assigned by the system when a file is referenced
|
An integer assigned by the system when a file is referenced
|
||||||
by
|
by
|
||||||
|
@ -592,8 +605,8 @@ excluding 0 (NUL) and the
|
||||||
.Tn ASCII
|
.Tn ASCII
|
||||||
code for
|
code for
|
||||||
.Ql \&/
|
.Ql \&/
|
||||||
(slash). (The parity bit,
|
(slash).
|
||||||
bit 7, must be 0.)
|
(The parity bit, bit 7, must be 0).
|
||||||
.Pp
|
.Pp
|
||||||
Note that it is generally unwise to use
|
Note that it is generally unwise to use
|
||||||
.Ql \&* ,
|
.Ql \&* ,
|
||||||
|
@ -620,13 +633,13 @@ If a path name begins with a slash, the path search begins at the
|
||||||
.Em root
|
.Em root
|
||||||
directory.
|
directory.
|
||||||
Otherwise, the search begins from the current working directory.
|
Otherwise, the search begins from the current working directory.
|
||||||
A slash by itself names the root directory. An empty
|
A slash by itself names the root directory.
|
||||||
pathname refers to the current directory.
|
An empty pathname refers to the current directory.
|
||||||
.It Directory
|
.It Directory
|
||||||
A directory is a special type of file that contains entries
|
A directory is a special type of file that contains entries
|
||||||
that are references to other files.
|
that are references to other files.
|
||||||
Directory entries are called links. By convention, a directory
|
Directory entries are called links.
|
||||||
contains at least two links,
|
By convention, a directory contains at least two links,
|
||||||
.Ql \&.
|
.Ql \&.
|
||||||
and
|
and
|
||||||
.Ql \&.. ,
|
.Ql \&.. ,
|
||||||
|
@ -634,40 +647,42 @@ referred to as
|
||||||
.Em dot
|
.Em dot
|
||||||
and
|
and
|
||||||
.Em dot-dot
|
.Em dot-dot
|
||||||
respectively. Dot refers to the directory itself and
|
respectively.
|
||||||
dot-dot refers to its parent directory.
|
Dot refers to the directory itself and dot-dot refers to its parent directory.
|
||||||
.It "Root Directory and Current Working Directory"
|
.It "Root Directory and Current Working Directory"
|
||||||
Each process has associated with it a concept of a root directory
|
Each process has associated with it a concept of a root directory
|
||||||
and a current working directory for the purpose of resolving path
|
and a current working directory for the purpose of resolving path
|
||||||
name searches. A process's root directory need not be the root
|
name searches.
|
||||||
|
A process's root directory need not be the root
|
||||||
directory of the root file system.
|
directory of the root file system.
|
||||||
.It File Access Permissions
|
.It File Access Permissions
|
||||||
Every file in the file system has a set of access permissions.
|
Every file in the file system has a set of access permissions.
|
||||||
These permissions are used in determining whether a process
|
These permissions are used in determining whether a process
|
||||||
may perform a requested operation on the file (such as opening
|
may perform a requested operation on the file (such as opening
|
||||||
a file for writing). Access permissions are established at the
|
a file for writing).
|
||||||
time a file is created. They may be changed at some later time
|
Access permissions are established at the time a file is created.
|
||||||
through the
|
They may be changed at some later time through the
|
||||||
.Xr chmod 2
|
.Xr chmod 2
|
||||||
call.
|
call.
|
||||||
.Pp
|
.Pp
|
||||||
File access is broken down according to whether a file may be: read,
|
File access is broken down according to whether a file may be: read,
|
||||||
written, or executed. Directory files use the execute
|
written, or executed.
|
||||||
permission to control if the directory may be searched.
|
Directory files use the execute permission to control if the
|
||||||
|
directory may be searched.
|
||||||
.Pp
|
.Pp
|
||||||
File access permissions are interpreted by the system as
|
File access permissions are interpreted by the system as
|
||||||
they apply to three different classes of users: the owner
|
they apply to three different classes of users: the owner
|
||||||
of the file, those users in the file's group, anyone else.
|
of the file, those users in the file's group, anyone else.
|
||||||
Every file has an independent set of access permissions for
|
Every file has an independent set of access permissions for
|
||||||
each of these classes. When an access check is made, the system
|
each of these classes.
|
||||||
decides if permission should be granted by checking the access
|
When an access check is made, the system decides if permission should be
|
||||||
information applicable to the caller.
|
granted by checking the access information applicable to the caller.
|
||||||
.Pp
|
.Pp
|
||||||
Read, write, and execute/search permissions on
|
Read, write, and execute/search permissions on
|
||||||
a file are granted to a process if:
|
a file are granted to a process if:
|
||||||
.Pp
|
.Pp
|
||||||
The process's effective user ID is that of the super-user. (Note:
|
The process's effective user ID is that of the super-user.
|
||||||
even the super-user cannot execute a non-executable file.)
|
(Note: even the super-user cannot execute a non-executable file).
|
||||||
.Pp
|
.Pp
|
||||||
The process's effective user ID matches the user ID of the owner
|
The process's effective user ID matches the user ID of the owner
|
||||||
of the file and the owner permissions allow the access.
|
of the file and the owner permissions allow the access.
|
||||||
|
@ -701,9 +716,10 @@ for more information about the types available and
|
||||||
their properties.
|
their properties.
|
||||||
.Pp
|
.Pp
|
||||||
Each instance of the system supports some number of sets of
|
Each instance of the system supports some number of sets of
|
||||||
communications protocols. Each protocol set supports addresses
|
communications protocols.
|
||||||
of a certain format. An Address Family is the set of addresses
|
Each protocol set supports addresses of a certain format.
|
||||||
for a specific group of protocols. Each socket has an address
|
An Address Family is the set of addresses for a specific group of protocols.
|
||||||
|
Each socket has an address
|
||||||
chosen from the address family in which the socket was created.
|
chosen from the address family in which the socket was created.
|
||||||
.El
|
.El
|
||||||
.Sh SEE ALSO
|
.Sh SEE ALSO
|
||||||
|
|
Loading…
Reference in New Issue