DOMAIN(2) Domain/OS SysV DOMAIN(2)
NAME
domain - Domain/OS-specific system calls and extensions
DESCRIPTION
While providing a SVID-compliant version of UNIX* System V, Release 3,
Domain/OS SysV actually represents only a subset of the greater
functionality of Domain/OS. Furthermore, Domain/OS SysV omits some
features of System V Release 3 that are irrelevant to Apollo(R)
workstations. The following paragraphs describe aspects of that greater
functionality that are visible to the Domain/OS SysV system programmer
and summarize features of System V Release 3 not implemented under
Domain/OS SysV.
Global Library. The routines that provide user programs access to
kernel-level services are defined by Domain/OS SysV in the global library
/lib/clib. In general, system times may not be comparable between
different manufacturers' machines, due to differences in the
implementation of UNIX primitives. The only valid comparison is the
total CPU time, that is, the sum of system and user times.
Memory Management. Domain/OS SysV implements important features of the
new approach to virtual memory proposed by M.K. McKusick and M.J. Karels
at the University of California, Berkeley. These features are
implemented in the following system calls:
______________________________________________
|_____________Unique_Subroutines______________|
| Name | Function | Reference |
||||
|madvise | advise the system | |
|mincore | of a process' | madvise(2) |
| | expected paging | |
|_________|_behavior____________|_____________|
|mmap | map file system | |
|msync | object into virtual | mmap(2) |
|munmap | memory | |
|_________|_____________________|_____________|
|mprotect | assign protection | mprotect(2) |
| | to region mapped in | |
|_________|_virtual_memory______|_____________|
|mset | set and clear | |
|mclear | semaphores for | |
| | processes mapped in | mset(2) |
| | virtual memory | |
|_________|_____________________|_____________|
Organization ID. Domain/OS SysV derives file access permissions from
Domain/OS "Access Control Lists" (ACLs). Domain/OS SysV derives
permissions for the owner and group of an object from analogous entries
in the ACL. It derives permissions for "others," however, from at least
two entries in the ACL, one of which sets the access rights for the
organization. For more information, see "Protection of Files and
Directories" in Managing SysV System Software.
Domain/OS SysV provides some of this extended functionality by way of an
organization ID that extends your means for controlling access to files.
Three system calls enable you to manipulate the organization ID:
___________________________________________
| Unique System Calls |
|__________________________________________|
|Name|Function|Reference|
|getoid | get real and | |
|geteoid | effective | getoid(2) |
| | organization IDs | |
|________|_____________________|___________|
|setoid__|_set_organization_ID_|_setoid(2)_|
Extended Error Reporting. Domain/OS SysV tests an environment variable,
"APOLLO_STATUS," that, when set to "true," extends system error
reporting. Use perror(3C) to print these more verbose, Domain/OS-
specific error messages.
Swap Devices. Domain/OS SysV supports swapon(), a system call that makes
block devices available to the system for allocation of paging and
swapping. See swapon(2).
Support for Standard C. The Domain/OS SysV C library complies fully with
the semantics and syntax of ANSI standard C. domain(3) lists most of the
new functions that come with this support. exit(2) describes atexit, a
subroutine that registers functions to be called by exit.
Domain/OS SysV omits the following system calls, implemented in UNIX
System V, Release 3:
__________________________________________________
|____________Unsupported_System_Calls_____________|
| Call | Function | Reference (System V, |
| | | Release 3 manuals) |
||||
|chroot | change root | chroot(2) |
|_______|_directory________|______________________|
|sys3b | machine specific | sys3b(2) |
| | functions | |
|_______|__________________|______________________|
|sysfs | get file system | sysfs(2) |
|_______|_type_information_|______________________|
Manual pages describing specific features may point out other
differences. These descriptions usually appear in the "Notes" section.
FILES
/lib/clib
SEE ALSO
exit(2), getoid(2), madvise(2), mmap(2), mprotect(2), mset(2), setoid(2),
swapon(2), domain(3), perror(3C), domain(4), domain(5), org(4).
McKusick, M.K. and Karels, M.J. A New Virtual Memory Implementation for
Berkeley UNIX. Berkeley, California: Department of Electrical
Engineering and Computer Science, University of California, 1986.
Managing SysV System Software.
NOTES
*UNIX is a registered trademark of AT&T in the USA and other countries.