MACHID(1)

NAME
machid - operate on MachIDs

SYNOPSIS
machid

DESCRIPTION
machid(1) is a server which establishes a name space of MachIDs for naming ports. It will perform kernel calls on MachIDs. For example, given the MachID of a task, it will return the MachIDs of the task's threads. Every call to machid takes an authentication port. Sensitive calls, like killing a task, require appropriate privileges.

There are no arguments. machid registers with the netname service, under the name MachID.

MachIDs are drawn from a space of 32-bit unsigned numbers. Zero is always an invalid MachID. MachIDs are never reused.

BUGS
machid holds onto every send right it comes across. Tasks expecting no-senders notifications will be disappointed.

machid doesn't check for the exhaustion of its name space.

The authentication is very primitive. General information calls are always approved. Calls to read memory, fetch register state, and modify kernel state are not distinguished, and require a valid authentication port. A privileged host port authorizes operations on all objects on that host. A task port authorizes operations on threads in that task. An object port authorizes operations on that object.

SEE ALSO
ms(1), mkill(1), mnice(1), pinfo(1), vminfo(1), vmread(1), vmsearch(1), thstate(1)