Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ domain(2) — sys5 — Apollo Domain/OS SR10.3.5

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

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)

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.

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026