87 lines
2.8 KiB
Plaintext
87 lines
2.8 KiB
Plaintext
|
|
==== 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.
|
||
|
|
|