add existing documentation
This commit is contained in:
86
doc/system-services.txt
Executable file
86
doc/system-services.txt
Executable file
@@ -0,0 +1,86 @@
|
||||
==== SERVICE LIST ==============================================================
|
||||
|
||||
overlordd root process, manages all system-level services
|
||||
launchd launches executables
|
||||
nsd manages the system namespace (aka where all filesystems are
|
||||
mounted)
|
||||
lockdownd implements security and authentication
|
||||
sessiond manager and root process for a user session
|
||||
airportd manages sockets and network communications.
|
||||
emdevd host process for device drivers, one instance per system, hosts
|
||||
*all* devices
|
||||
seatd Manages and controls access to monitor and peripheral devices.
|
||||
fsd host process for filesystem driver, one instance per mounted
|
||||
filesystem
|
||||
|
||||
|
||||
==== TASK HIERARCHY ============================================================
|
||||
|
||||
backboardd
|
||||
+--launchd
|
||||
+--nsd
|
||||
+--lockdownd
|
||||
+--deviced
|
||||
+--airportd
|
||||
+--sysfsd
|
||||
+--seatd
|
||||
+--sessiond
|
||||
| +--window-manager
|
||||
| +--file-browser
|
||||
| +--web-browser
|
||||
+--sessiond
|
||||
| +--fbterm
|
||||
| +--bshell
|
||||
| +--vim
|
||||
+--e2fsd
|
||||
+--fatfsd
|
||||
|
||||
|
||||
==== SERVICE DETAILS ===========================================================
|
||||
|
||||
## BACKBOARDD ####
|
||||
* Root task (ID 1) created by the kernel during boot
|
||||
* manages the startup and lifecycle of all system-level services
|
||||
* Every task is provided with a handle to backboardd as part of the initial
|
||||
task environment
|
||||
* Backboardd can be used to gain access to certain system-level services, such
|
||||
as the namespace and task launcher
|
||||
|
||||
## LAUNCHD ####
|
||||
* Task creation service
|
||||
* Accepts requests from clients to run executable files
|
||||
|
||||
## NSD ####
|
||||
* Manages the system namespace
|
||||
* Filesystems can be mounted in the system namespace to make them visible to
|
||||
clients.
|
||||
|
||||
## LOCKDOWND ####
|
||||
* Manages security and authentication
|
||||
* Provides security tokens that can be associated with privileges and used
|
||||
for authorisation.
|
||||
|
||||
## SESSIOND ####
|
||||
* Root process for user login sessions.
|
||||
* All child tasks receive a connection to the session controller.
|
||||
* Holds session-wide data
|
||||
|
||||
## DEVICED ####
|
||||
* Hosts all device drivers.
|
||||
* Device drivers are implemented as shared libraries that are loaded into
|
||||
the device server at runtime.
|
||||
* Also hosts the device filesystem (usually mounted at /dev)
|
||||
|
||||
## SEATD ####
|
||||
* Manages 'seats'.
|
||||
* A seat is all of the peripherals that a user needs to interact with the
|
||||
system. Includes the monitor, keyboard, and mouse.
|
||||
* Allows multiple tasks to access a single seat at once. The user can use a
|
||||
special keyboard shortcut to switch between tasks.
|
||||
|
||||
## AIRPORTD ####
|
||||
* Manages remote communications.
|
||||
* All open sockets are represented internally as connections to airportd.
|
||||
* Supports loadable modules, which provide support for different network features,
|
||||
such as unix sockets, internet sockets, and passing messages between remote machines.
|
||||
|
||||
Reference in New Issue
Block a user