Files
rosetta/doc/system-services.txt

87 lines
2.8 KiB
Plaintext
Raw Normal View History

2024-11-02 15:09:10 +00:00
==== 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.