blob: 712af6081148637690f66b3cc5f28117bb9a1384 [file] [log] [blame]
# Copyright 2020 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
- term: "ABI"
short_description: "The binary-level interface to the system."
full_description: "The <a href=\"/docs/concepts/system/abi/system.md\">Application Binary Interface</a>(ABI)
for a system is the binary-level interface to the system. Typically you don't
write software that uses the system ABI directly. Instead, you write software
against the system API. When the software is compiled, the binary artifact
created by the compiler interfaces with the system through the ABI.
Changes to the system ABI may require you to recompile your source code to
account for the changes in the ABI."
see_also: [""]
related_guides: [""]
area: ["System", "General"]
- term: "ABR"
short_description: "Fuchsia uses a bootloader with two partitions A and B, and a recovery slot."
full_description: "<p>Fuchsia uses a bootloader with two partitions A and B, and a recovery slot.
This logic is not required to boot Zircon or run a basic Fuchsia system, but it is required to
take full advantage of Fuchsia's over-the-air (OTA) update features.</p>
<p>The term slot is used to refer to a set of partitions that update together.
If an update fails, the partitions fall back together. This works because there are two copies
of each partition on disk. By convention, the slots used for normal updates are denoted A and B,
and the corresponding partitions are labeled with a suffix of \"_a\" or \"_b\".
The slot used for recovery is denoted R which is chosen when neither A nor B is bootable.</p>"
see_also: ["<a href=\"/docs/glossary#ota\">OTA</a>"]
related_guides: ["<a href=\"/docs/concepts/packages/ota.md\">OTA updates</a>"]
area: ["System", "Zircon"]
- term: "Action key"
short_description: "Keys that have a distinct special action."
full_description: "Keys corresponding to specific actions, such as \"display
brightness increment\", \"display brightness decrement\" etc, which are
specifically named in the USB HID usage tables."
see_also: [""]
related_guides: [""]
area: ["UI", "HCI"]
- term: "Assembly Config"
short_description: ""
full_description: "<p>The JSON file that the product owner writes in order to specify (1)
lists of product-specific packages, components, drivers, and configuration and (2) platform
features and configuration. This is the configuration that encapsulates both a Product Config and
a Platform Config.<p>"
see_also: ["<a href=\"/docs/glossary#product-owner\">Product Owner</a>",]
related_guides: [""]
area: ["Software Assembly", "Developer"]
- term: "Assembly Input Bundle (AIB)"
short_description: ""
full_description: "<p>An Assembly Input Bundle is a self-contained directory of artifacts
with a manifest file in the root describing what is included. This bundle is used internally by
the Software Assembly tool. Fuchsia is composed of many packages, components, drivers, and
configuration data. These elements are grouped together inside Assembly Input Bundles (AIBs) for
inclusion together into the assembled product. All AIBs other than the Legacy AIBs are \"platform
AIBs\".<p>"
see_also: ["<a href=\"/docs/glossary#software-assembly\">Software Assembly</a>"]
related_guides: [""]
area: ["Software Assembly", "Developer"]
- term: "Banjo"
short_description: "Language for definition protocols that communicate between drivers."
full_description: "Banjo is a language for defining protocols that are used to communicate between
<a href=\"/docs/glossary#driver\">drivers</a>. It is different from
<a href=\"/docs/glossary#fidl\">FIDL</a> in that it specifies an ABI for drivers to use to
call into each other, rather than an IPC protocol."
see_also: [""]
related_guides: [""]
area: ["Developer"]
- term: "Bind language"
short_description: "The language used to write <a href=\"/docs/glossary#bind-library\">bind
libraries</a> and <a href=\"/docs/glossary#bind-rules\">bind rules</a> in a static file."
full_description: ""
see_also: ["<a href=\"/docs/glossary#driver-binding\">Driver binding</a>"]
related_guides: ["<a href=\"/docs/development/drivers/concepts/device_driver_model/driver-binding.md\">Driver binding</a>",
"<a href=\"/docs/development/drivers/tutorials/bind-rules-tutorial.md\">Bind rules tutorial</a>"]
area: ["System", "Devices", "Drivers", "Driver SDK"]
- term: "Bind library"
short_description: "A bind library is a mechanism used to define
<a href=\"/docs/glossary#node-properties\">node properties</a>. The node properties
can be assigned to nodes by their
<a href=\"/docs/glossary#parent-driver\">parent drivers</a> or
used in the <a href=\"/docs/glossary#bind-rules\">bind rules</a>.
Bind libraries are defined through the
<a href=\"/docs/glossary#bind-language\">bind language</a>."
full_description: ""
see_also: ["<a href=\"/docs/glossary#driver-binding\">Driver binding</a>"]
related_guides: ["<a href=\"/docs/development/drivers/concepts/device_driver_model/driver-binding.md\">Driver binding</a>",
"<a href=\"/docs/development/drivers/tutorials/bind-rules-tutorial.md\">Bind rules tutorial</a>"]
area: ["System", "Devices", "Drivers", "Driver SDK"]
- term: "Bind rules"
short_description: "Bind rules are a defined set of conditions provided by a
<a href=\"/docs/glossary#driver\">driver</a> that must be satisfied in order for
the driver to <a href=\"/docs/glossary#driver-matching\">match</a>
to a <a href=\"/docs/glossary#node\">node</a>. The conditions are evaluated
against <a href=\"/docs/glossary#node-properties\">node properties</a>. Formerly
known as a bind program."
full_description: ""
see_also: ["<a href=\"/docs/glossary#driver-binding\">Driver binding</a>"]
related_guides: ["<a href=\"/docs/development/drivers/concepts/device_driver_model/driver-binding.md\">Driver binding</a>",
"<a href=\"/docs/development/drivers/tutorials/bind-rules-tutorial.md\">Bind rules tutorial</a>"]
area: ["System", "Devices", "Drivers", "Driver SDK"]
- term: "Board"
short_description: "A board is a complete computer hardware platform with a CPU,
memory, peripherals, and so on."
full_description: "A board is a complete computer hardware platform with a CPU,
memory, peripherals, and so on. It defines the architecture that the build produces
for, and key features of the device upon which the build is intended to run. This
configuration affects what <a href=\"/docs/glossary#driver\">drivers</a> are
included, and may also influence device-specific kernel parameters."
see_also: [
"<a href=\"/docs/glossary#board-driver\">Board driver</a>",
"<a href=\"/docs/development/build/build_system/boards_and_products#boards\">Boards</a>",
"<a href=\"/docs/contribute/governance/rfcs/0111_fuchsia_hardware_specifications\">RFC-0111: Initial Fuchsia hardware platform specifications</a>"
]
related_guides: [""]
area: ["System", "Devices"]
- term: "Board driver"
short_description: "A board driver is a specialized <a href=\"/docs/glossary#driver\">driver</a>
that contains the platform-specific information needed by the
<a href=\"/docs/glossary#platform-bus\">platform bus</a> and controls what other
drivers will be loaded by the platform bus."
full_description: "A board driver is a specialized <a href=\"/docs/glossary#driver\">driver</a>
that contains the platform-specific information needed by the
<a href=\"/docs/glossary#platform-bus\">platform bus</a> and controls what other
drivers will be loaded by the platform bus. The board driver is the first driver
loaded and parented by the platform bus."
see_also: [
"<a href=\"/docs/glossary#board\">Board</a>",
"<a href=\"https://fuchsia.googlesource.com/fuchsia/+/refs/heads/main/src/devices/board/drivers/\">//src/devices/board/drivers</a>",
"<a href=\"/docs/development/drivers/concepts/device_driver_model/platform-bus\">Platform Bus</a>"
]
related_guides: [""]
area: ["System", "Devices", "Drivers", "Driver SDK"]
- term: "bootfs"
short_description: "The boot filesystem that contains the files needed early in the boot process."
full_description: "The bootfs RAM disk contains the files needed early in the boot process when no
other filesystems are available. It is part of the
<a href=\"/docs/glossary#zircon-boot-image\">zircon boot image</a>,
and is decompressed and served by <a href=\"/docs/glossary#bootsvc\">bootsvc</a>. After
the early boot process is complete, the bootfs is mounted at `/boot`."
see_also: [""]
related_guides: [""]
area: ["System", "Zircon"]
- term: "bootsvc"
short_description: "Provides a filesystem service for the bootfs and a loader service."
full_description: "The second process started in Fuchsia. It provides a filesystem
service for the <a href=\"/docs/glossary#bootfs\">bootfs</a> and a loader service that
loads programs from the same bootfs. After starting these services, it loads the third program,
which defaults to `component_manager`."
see_also: [""]
related_guides: [""]
area: ["System", "Zircon"]
- term: "Base driver"
short_description: "A <a href=\"/docs/glossary#driver\">driver</a> that is available in the
Fuchsia image and not critical for bootstrapping the system. These drivers are loaded from
the system's storage, so they need to be loaded after the
<a href=\"/docs/glossary#boot-driver\">boot drivers</a> have enabled storage (for example,
USB drivers, networking drivers)."
full_description: "A <a href=\"/docs/glossary#driver\">driver</a> that is available in the
Fuchsia image and not critical for bootstrapping the system. These drivers are loaded from
the system's storage, so they need to be loaded after the
<a href=\"/docs/glossary#boot-driver\">boot drivers</a> have enabled storage (for example,
USB drivers, networking drivers). Base drivers reside in the
<a href=\"/docs/concepts/packages/package#base-packages\">base packages</a>."
see_also: [""]
related_guides: [""]
area: ["System", "Devices", "Drivers"]
- term: "Boot driver"
short_description: "A <a href=\"/docs/glossary#driver\">driver</a> that exists in the
<a href=\"/docs/glossary#zircon-boot-image\">Zircon Boot Image (ZBI)</a> and is needed for
bootstrapping the system (for example, storage drivers)."
full_description: "A <a href=\"/docs/glossary#driver\">driver</a> that exists in the
<a href=\"/docs/glossary#zircon-boot-image\">Zircon Boot Image (ZBI)</a> and is needed for
bootstrapping the system (for example, storage drivers). The
<a href=\"/docs/glossary#zircon-boot-image\">Zircon Boot Image (ZBI)</a>
has limited space for such <a href=\"/docs/glossary#driver\">drivers</a>, a constraint that
does not generally apply to <a href=\"/docs/glossary#base-driver\">base drivers</a>."
see_also: [""]
related_guides: [""]
area: ["System", "Devices", "Drivers"]
- term: "Bringup"
short_description: "The process of getting Fuchsia to run on a new <a href=\"/docs/glossary#board\">board</a>."
full_description: "Bringup is the catchall term for all of the engineering work related to
getting Fuchsia to run on a new <a href=\"/docs/glossary#board\">board</a>. The term \"bringup\"
should not be used for situations where Fuchsia support for the board already exists. For example,
flashing a Fuchsia image onto a VIM3 is not bringup. The original engineering work of implementing
the drivers and so on so that Fuchsia can run on the VIM3 is bringup."
see_also: [
"<a href=\"/docs/glossary#board\">Board</a>",
"<a href=\"/docs/development/build/build_system/bringup\">Bringup Product Definition</a>",
"<a href=\"/docs/development/boards/bringup\"><Adding support for new boards/a>",
"<a href=\"/docs/contribute/governance/rfcs/0111_fuchsia_hardware_specifications#document-definitions\">\"Board\" definition</a>",
"<a href=\"/docs/development/hardware/khadas-vim3\">Install Fuchsia on a Khadas VIM3 board</a>"
]
related_guides: [""]
area: ["System", "Zircon"]
- term: "Bus driver"
short_description: "A <a href=\"/docs/glossary#driver\">driver</a> for a device that has multiple children."
full_description: "A <a href=\"/docs/glossary#driver\">driver</a> for a device that has
multiple children. For example, hardware interfaces like PCI specify a topology in which a single
controller is used to interface with multiple devices connected to it. In that situation, the
driver for the controller would be a bus driver. A bus driver does not necessarily correspond
to a physical bus."
see_also: [""]
related_guides: [""]
area: ["System", "Devices", "Drivers"]
- term: "Cache directory"
short_description: "A private directory, that may be cleared by the system at any time, within
which a component instance may cache data local to the device."
full_description: "A private directory, that may be cleared by the system at any time, within
which a component instance may cache data local to the device. Similar to a
<a href=\"/docs/glossary#data-directory\">data directory</a>,
except that the contents of a cache directory may be cleared by the system at any time, such as
when the device is under storage pressure. Canonically mapped to <code>/cache</code> in the component
instance’s <a href=\"/docs/glossary#namespace\">namespace</a>."
related_guides: [""]
area: ["System", "Component Framework"]
- term: "Capability"
short_description: "A value that combines an object reference and a set of rights."
full_description: "A capability is a value that combines an object reference and a set of
rights. When a program has a capability it is conferred the privilege to perform certain actions
using that capability. A <a href=\"/docs/glossary#handle\">handle</a> is a common example
for a capability."
see_also: ["<a href=\"/docs/glossary#capability-routing\">Capability routing</a>"]
related_guides: [""]
area: ["System", "Component Framework"]
- term: "Capability routing"
short_description: "A way for one component instance to give capabilities to another component
instance."
full_description: "A way for one <a href=\"/docs/glossary#component-instance\">component instance</a>
to give <a href=\"/docs/glossary#capability\">capabilities</a> to another instance over the
<a href=\"/docs/glossary#component-instance-tree\">component instance tree</a>.
<a href=\"/docs/glossary#component-manifest\">Component manifests</a> define how routing
takes place, with syntax for <a href=\"/docs/glossary#service-capability\">service capabilities</a>,
<a href=\"/docs/glossary#directory-capability\">directory capabilities</a>, and
<a href=\"/docs/glossary#storage-capability\">storage capabilities</a>."
see_also: ["<a href=\"/docs/glossary#capability\">Capability</a>"]
related_guides: [""]
area: ["System", "Component Framework"]
- term: "Channel"
short_description: "An IPC primitive provided by Zircon."
full_description: "A channel is an IPC primitive provided by Zircon. It is a bidirectional,
datagram-like transport that can transfer small messages including
<a href=\"/docs/glossary#handle\">handles</a>.
<a href=\"/docs/glossary#fidl\">FIDL</a> protocols typically use channels as their
underlying transport."
see_also: ["<a href=\"/docs/reference/kernel_objects/channel.md\">Channel overview</a>",
"<a href=\"/docs/contribute/governance/policy/update_channel_usage_policy.md)\">Update channel usage policy</a>"]
related_guides: [""]
area: ["FIDL", "Zircon"]
- term: "Character key"
short_description: "A key that sends characters to the computer."
full_description: "A key that sends characters to the computer.
This definition does not specifically account for the effect of key
composition and dead keys, which are present on certain keyboard layouts,
but is operational enough for effective use."
see_also: [""]
related_guides: [""]
area: ["UI", "HCI"]
- term: "Child component instance"
short_description: "A child component instance is a component instance that is owned by another instance,
the <a href=\"/docs/glossary#parent-component-instance\">parent</a>."
full_description: ""
see_also: ["<a href=\"/docs/glossary#component\">Component</a>",
"<a href=\"/docs/concepts/components/v2/introduction.md\">Components</a>"]
related_guides: [""]
area: ["Component Framework"]
- term: "Child node"
short_description: "A <a href=\"/docs/glossary#node\">node</a> that receives
<a href=\"/docs/glossary#resource\">resources</a> from
<a href=\"/docs/glossary#parent-driver\">parent driver(s)</a>."
full_description: ""
see_also: ["<a href=\"/docs/concepts/drivers/drivers_and_nodes.md\">Drivers and nodes</a>"]
related_guides: [""]
area: ["System", "Devices", "Drivers", "Driver SDK"]
- term: "CIPD"
short_description: "A cloud service for storing and distributing packages. Packages can be
arbitrary collections of files, but most often contain prebuilt binaries."
full_description: "The Fuchsia project uses CIPD to download, publish, and distribute compiled
software such as the Fuchsia SDK. <a href=\"/docs/glossary#jiri\">Jiri</a> has built-in support
for versioning and downloading CIPD packages."
see_also: ["<a href=\"https://chromium.googlesource.com/infra/luci/luci-go/+/refs/heads/main/cipd\">CIPD source code</a>",
"<a href=\"https://chrome-infra-packages.appspot.com/\">CIPD web UI</a>"]
related_guides: [""]
area: ["General", "Developer"]
- term: "colocate"
short_description: "A <a href=\"/docs/glossary#driver\">driver</a> is colocated with another
driver when they share the same <a href=\"/docs/glossary#driver-host\">driver host</a>."
full_description: ""
see_also: [
"<a href=\"/docs/concepts/drivers/driver_framework.md#driver_host\">Driver framework (DFv2)</a>"
]
related_guides: [""]
area: ["System", "Devices", "Drivers", "Driver SDK"]
- term: "Compat driver"
short_description: "A Driver Framework v2 (DFv2)
<a href=\"/docs/glossary#driver\">driver</a> that wraps a Driver Framework v1 (DFv1) driver so
that the DFv1 driver can run in a DFv2 environment."
full_description: ""
see_also: [""]
related_guides: [""]
area: ["System", "Devices", "Drivers", "Driver SDK"]
- term: "Component"
short_description: "Components are the common abstraction that defines how all software
is described, sandboxed, and executed on a Fuchsia system."
full_description: "Components are the common abstraction that defines how all software
(regardless of source, programming language, or runtime) is described, sandboxed,
and executed on a Fuchsia system. Components may specify a binary executable, and may be
composed of multiple child components."
see_also: ["<a href=\"/docs/concepts/components/v2/introduction.md\">Components</a>"]
related_guides: [""]
area: ["Component Framework"]
- term: "Component collection"
short_description: "A node in the component instance tree whose
children are dynamically instantiated rather than statically defined in a component manifest."
full_description: "A node in the
<a href=\"/docs/glossary#component-instance-tree\">component instance tree</a> whose
children are dynamically instantiated rather than statically defined in a
<a href=\"/docs/glossary#component-manifest\">component manifest</a>."
see_also: ["<a href=\"/docs/concepts/components/v2/introduction.md\">Components</a>"]
related_guides: [""]
area: ["Component Framework"]
- term: "Component configuration"
short_description: "The process of tailoring a component instance to the context it's running in."
full_description: "The process of tailoring a component instance to the context it's running in. This
includes defining and delivering the data that a component can use to understand and adapt to the
context in which it was launched."
see_also: ["<a href=\"/docs/concepts/components/configuration.md\">Component Configuration</a>",
"<a href=\"/docs/development/components/configuration/mechanisms.md\">Configuration Mechanisms</a>"]
related_guides: [""]
area: ["System", "Component Framework"]
- term: "Component configuration data"
short_description: "Data supplied to a component instance that it can use to understand and adapt
to the context in which it was launched."
full_description: "Data supplied to a component instance that it can use to understand and adapt
to the context in which it was launched."
see_also: ["<a href=\"/docs/concepts/components/configuration.md\">Component Configuration</a>",
"<a href=\"/docs/development/components/configuration_mechanisms.md\">Configuration Mechanisms</a>"]
related_guides: [""]
area: ["System", "Component Framework"]
- term: "Component declaration"
short_description: "A FIDL table that includes information about a component."
full_description: "A component declaration is a <a href=\"/docs/glossary#fidl\">fidl</a>
table (<a href=\"https://fuchsia.googlesource.com/fuchsia/+/refs/heads/main/sdk/fidl/fuchsia.sys2/decls/component_decl.fidl\">fuchsia.sys2.ComponentDecl</a>)
that includes information about a <a href=\"/docs/glossary#component\">component</a>’s
runtime configuration, <a href=\"/docs/glossary#capability\">capabilities</a> it
<a href=\"/docs/glossary#expose\">exposes</a>, <a href=\"/docs/glossary#offer\">offers</a>,
and <a href=\"/docs/glossary#use\">uses</a>."
see_also: ["<a href=\"/docs/concepts/components/v2/introduction.md\">Components</a>"]
related_guides: [""]
area: ["Component Framework"]
- term: "Component framework"
short_description: "An application framework for declaring and managing
<a href=\"/docs/glossary#component\">components</a>,
consisting of build tools, APIs, conventions, and system services."
full_description: ""
see_also: ["<a href=\"/docs/concepts/components/v2/introduction.md\">Components</a>"]
related_guides: [""]
area: ["Component Framework"]
- term: "Component instance"
short_description: "A specific runtime instantiation of a particular
<a href=\"/docs/glossary#component\">component</a> at a specific location in the component
instance tree at runtime."
full_description: ""
see_also: ["<a href=\"/docs/concepts/components/v2/introduction.md\">Components</a>"]
related_guides: [""]
area: ["Component Framework"]
- term: "Component instance tree"
short_description: "A tree structure that represents the runtime state of parent-child relationships
<a href=\"/docs/glossary#component-instance\">component instances</a>."
full_description: "A tree
structure that represents the runtime state of parent-child relationships
between <a href=\"/docs/glossary#component-instance\">component instances</a>. If instance
A launches instance B then in the tree A will be the parent of B. The component instance
tree is used to route capabilities such that parents can <a href=\"/docs/glossary#offer\">offer</a>
capabilities to their children to <a href=\"/docs/glossary#use\">use</a>, and children can
<a href=\"/docs/glossary#expose\">expose</a> capabilities for their parents to expose to
their parents or offer to other children."
see_also: ["<a href=\"/docs/concepts/components/v2/introduction.md\">Components</a>"]
related_guides: [""]
area: ["Component Framework"]
- term: "Component manager"
short_description: "A system service that lets
<a href=\"/docs/glossary#component-instance\">component instances</a> manage
their children and <a href=\"/docs/glossary#capability-routing\">capability routing</a> between them,
thus implementing the <a href=\"/docs/glossary#component-instance-tree\">component instancetree</a>."
full_description: "A system service that lets
<a href=\"/docs/glossary#component-instance\">component instances</a> manage
their children and <a href=\"/docs/glossary#capability-routing\">capability routing</a> between them,
thus implementing the <a href=\"/docs/glossary#component-instance-tree\">component instancetree</a>.
Component manager is the system service that implements the component runtime."
see_also: ["<a href=\"/docs/concepts/components/v2/introduction.md\">Components</a>"]
related_guides: [""]
area: ["Component Framework"]
- term: "Component manifest"
short_description: "A binary file ending in <code>.cm</code> that encodes a
<a href=\"/docs/glossary#component-declaration\">component declaration</a>,
often distributed as part of a <a href=\"/docs/glossary#package\">package</a>. The term is
sometimes used interchangeably with
<a href=\"/docs/glossary#component-manifest-source\">component manifest source</a>."
full_description: "A binary file ending in <code>.cm</code> that encodes a
<a href=\"/docs/glossary#component-declaration\">component declaration</a>,
often distributed as part of a <a href=\"/docs/glossary#package\">package</a>.
The <code>cmc</code> tool generates a component manifest from a
<a href=\"/docs/glossary#component-manifest-source\">component manifest source</a> file."
see_also: ["<a href=\"/docs/concepts/components/v2/component_manifests.md\">Component manifests</a>"]
related_guides: [""]
area: ["Component Framework"]
- term: "Component manifest source"
short_description: "A JSON5 file with a <code>.cml</code> extension that describes a component's declaration,
and is compiled by [cmc] to produce a [component manifest]."
full_description: "A JSON5 file with a <code>.cml</code> extension that describes a component's declaration,
and is compiled by [cmc] to produce a [component manifest].
<p>The file contains information about a [component]'s executable and runtime configuration (if any),
any child [component]s, as well as [capability routing] between itself, its parent, and its children.</p>"
see_also: ["<a href=\"/docs/concepts/components/v2/component_manifests.md\">Component manifests</a>"]
related_guides: [""]
area: ["Component Framework"]
- term: "Component manifest facet"
short_description: "Additional component manifest metadata."
full_description: "Additional metadata that is carried in a
<a href=\"/docs/glossary#component-manifest\">component manifest</a>. This is an extension
point to the <a href=\"/docs/glossary#component-framework\">framework</a>."
see_also: ["<a href=\"/docs/concepts/components/v2/component_manifests.md\">Component manifests</a>"]
related_guides: [""]
area: ["Component Framework"]
- term: "Component instance identifier"
short_description: "A unique, stable identifer for a component instance."
full_description: "A unique, stable identifer for a component instance. The instance id is the
canonical identifier for a component instance. The component runtime uses this
to key a component's persistent resources, if it has any. While a component
instance's moniker may change, its instance ID remains the same.
<p>Instance IDs are assigned to component instances using a
<a href=\"/docs/development/components/component_id_index.md\">component ID index</a>.</p>"
see_also: ["<a href=\"/docs/concepts/components/v2/introduction.md\">Components</a>"]
related_guides: [""]
area: ["Component Framework"]
- term: "Component topology"
short_description: "Collective term for the component instance tree and the capability routes over that tree."
full_description: "The component topology describes the set of relationships between component instances in a
Fuchsia system. It consists of the parent-child relationships of the
<a href=\"/docs/glossary#component-instance-tree\">component instance tree</a> as well as the
<a href=\"/docs/glossary#capability-routing\">capability routes</a> over that tree."
see_also: ["<a href=\"/docs/concepts/components/v2/introduction.md\">Components</a>"]
related_guides: [""]
area: ["Component Framework"]
- term: "Component URL"
short_description: "URL that identifies a component's declaration and package."
full_description: "URL that identifies a component's declaration and package,
most often used when instantiating a component.
Example: <code>fuchsia-pkg://fuchsia.com/stash#meta/stash_secure.cm</code>."
see_also: ["<a href=\"/docs/glossary#fuchsia-pkg-url\">fuchsia-pkg URL</a>"]
related_guides: [""]
area: ["Component Framework"]
- term: "Composite driver"
short_description: "A <a href=\"/docs/glossary#driver\">driver</a> that only
binds to a <a href=\"/docs/glossary#composite-node\">composite node</a>. A driver
can be defined as a composite via its
<a href=\"/docs/glossary#bind-rules\">bind rules</a>."
full_description: ""
see_also: ["<a href=\"/docs/concepts/drivers/drivers_and_nodes.md\">Driver and nodes</a>"]
related_guides: ["<a href=\"/docs/development/drivers/concepts/device_driver_model/driver-binding.md\">Driver binding</a>",
"<a href=\"/docs/development/drivers/tutorials/bind-rules-tutorial.md\">Bind rules tutorial</a>"]
area: ["System", "Devices", "Drivers", "Driver SDK"]
- term: "Composite node"
short_description: "A <a href=\"/docs/glossary#node\">node</a> with multiple
parents. The <a href=\"/docs/glossary#driver\">driver</a> that is bound to the
composite node can access the combined
<a href=\"/docs/glossary#resource\">resources</a> provided by the
<a href=\"/docs/glossary#parent-driver\">parent drivers</a>. Formerly known as
a composite device."
full_description: ""
see_also: ["<a href=\"/docs/concepts/drivers/drivers_and_nodes.md\">Driver and nodes</a>"]
related_guides: [""]
area: ["System", "Devices", "Drivers", "Driver SDK"]
- term: "Composite node specification"
short_description: "A composite node specification is a mechanism for creating a
<a href=\"/docs/glossary#composite-node\">composite node</a>. It describe the
<a href=\"/docs/glossary#node\">nodes</a> that can parent the composite node and
the <a href=\"/docs/glossary#node\">driver</a> that can bind to the composite node."
full_description: ""
see_also: [
"<a href=\"/docs/development/drivers/developer_guide/composite-node.md\">Composite nodes</a>"
]
related_guides: [""]
area: ["System", "Devices", "Drivers", "Driver SDK"]
- term: "Configuration Capability"
short_description: "A
<a href=\"/docs/glossary#capability\">capability</a> that provides a data
value that a component can use for configuration. A component
<a href=\"/docs/glossary#use\">using</a> a configuration capability will be
able to read the value in it's structured configuration."
full_description: ""
related_guides: [""]
area: ["System", "Component Framework"]
- term: "Concurrent device driver"
short_description: "A
<a href=\"/docs/glossary#hardware-driver\">hardware driver</a> that supports multiple
concurrent operations."
full_description: "A
<a href=\"/docs/glossary#hardware-driver\">hardware driver</a> that supports multiple
concurrent operations. This may be, for example, through a hardware command queue or multiple
device channels. From the perspective of the <a href=\"/docs/glossary#core-driver\">core driver</a>,
the device has multiple pending operations, each of which completes or fails independently. If the
driven device can internally parallelize an operation, but can only have one operation outstanding
at a time, it may be better implemented with a
<a href=\"/docs/glossary#sequential-device-driver\">sequential device driver</a>."
see_also: [""]
related_guides: [""]
area: ["Devices", "System", "Drivers"]
- term: "Content"
short_description: "Graphical content containing a bitmap that is attached to a
<a href=\"/docs/glossary#transform\">Transform</a> in <a href=\"/docs/glossary#flatland\">Flatland</a>.
<a href=\"/docs/glossary#image\">Image</a>, <a href=\"/docs/glossary#viewport\">Viewport</a> and
<a href=\"/docs/glossary#filledrect\">FilledRect</a> are types of Contents."
full_description: "Graphical content containing a bitmap that is attached to a
<a href=\"/docs/glossary#transform\">Transform</a> in <a href=\"/docs/glossary#flatland\">Flatland</a>.
<a href=\"/docs/glossary#image\">Image</a>, <a href=\"/docs/glossary#viewport\">Viewport</a> and
<a href=\"/docs/glossary#filledrect\">FilledRect</a> are types of Contents. Each
<a href=\"/docs/glossary#transform\">Transform</a> can have, at most, one attached Content. A
Content inherits all of the attributes from its attached <a href=\"/docs/glossary#transform\">Transform</a>."
see_also: [""]
related_guides: [""]
area: ["FIDL", "UI"]
- term: "Core driver"
short_description: "A
<a href=\"/docs/glossary#driver\">driver</a> that implements the application-facing RPC
interface for a class of drivers."
full_description: "A
<a href=\"/docs/glossary#driver\">driver</a> that implements the application-facing RPC
interface for a class of drivers (e.g. block drivers, ethernet drivers). It is
hardware-agnostic. It communicates with a
<a href=\"/docs/glossary#hardware-driver\">hardware driver</a> through
<a href=\"/docs/glossary#banjo\">banjo</a> to service its requests."
see_also: [""]
related_guides: [""]
area: ["Devices", "System", "Drivers"]
- term: "Core-sdk tarball"
short_description: "The artifact containing Fuchsia APIs, Fuchsia tools,
binaries, and metadata. Used to access the Fuchsia tools, or the Fuchsia APIs."
full_description: ""
see_also: [""]
related_guides: [""]
area: ["General"]
- term: "Data directory"
short_description: "A private directory within which a
<a href=\"/docs/glossary#component-instance\">component instance</a> may store data local
to the device."
full_description: "A private directory within which a
<a href=\"/docs/glossary#component-instance\">component instance</a> may store data local
to the device, canonically mapped to <code>/data</code> in the component instance’s
<a href=\"/docs/glossary#namespace\">namespace</a>."
see_also: [""]
related_guides: [""]
area: ["Component Framework"]
- term: "Device pixel ratio"
short_description: "The ratio between the display's physical pixels and the display's device
independent pixels."
full_description: "The ratio between the display's physical pixels and the display's device
independent pixels. Each <a href=\"/docs/glossary#logical-pixels\">logical</a> or device
independent pixel is displayed on screen by one or more physical pixels, as determined by this
scale."
see_also: ["<a href=\"/docs/glossary#physical-pixels\">physical pixels</a>",
"<a href=\"/docs/glossary#logical-pixels\">logical pixels</a>",
"<a href=\"/docs/contribute/governance/rfcs/0174_scale_in_flatland\">RFC-0174</a>"]
related_guides: [""]
area: ["UI"]
- term: "Directory capability"
short_description: "A
<a href=\"/docs/glossary#capability\">capability</a> that permits access to a filesystem
directory by adding it to the <a href=\"/docs/glossary#namespace\">namespace</a> of the
<a href=\"/docs/glossary#component-instance\">component instance</a>
that <a href=\"/docs/glossary#use\">uses</a> it."
full_description: "A
<a href=\"/docs/glossary#capability\">capability</a> that permits access to a filesystem
directory by adding it to the <a href=\"/docs/glossary#namespace\">namespace</a> of the
<a href=\"/docs/glossary#component-instance\">component instance</a>
that <a href=\"/docs/glossary#use\">uses</a> it. If multiple
<a href=\"/docs/glossary#component-instance\">component instances</a> are offered the same
directory capability then they will have access to the same underlying filesystem directory."
see_also: ["<a href=\"/docs/glossary#capability\">Capability</a>"]
related_guides: [""]
area: ["System", "Component Framework"]
- term: "Dispatcher"
short_description: "A dispatcher is an interface for scheduling asynchronous operations."
full_description: "A dispatcher, when assigned to a
<a href=\"/docs/glossary#driver\">driver</a>, coordinates and performs asynchronous
operations for the driver. A dispatcher mainly handles two tasks: it schedules asynchronous
work to run on threads in a <a href=\"/docs/glossary#driver-host\">driver host</a>
and it actually runs the work on those threads on behalf of a driver."
see_also: ["<a href=\"/docs/glossary#synchronized-dispatcher\">Synchronized dispatcher</a>"]
related_guides: ["<a href=\"/docs/concepts/drivers/driver-dispatcher-and-threads.md\">Driver dispatcher and threads</a>"]
area: ["Languages and Libraries", "Devices", "Drivers", "Driver SDK"]
- term: "Domain object"
short_description: "The corresponding class or data type in a target language (such as C++) used
to represent a FIDL type. A domain object usually models an entity in a problem domain space."
full_description: ""
see_also: [""]
related_guides: [""]
area: ["FIDL"]
- term: "Driver"
short_description: "A driver is a dynamic shared library that enables and
controls one or more <a href=\"/docs/glossary#node\">nodes</a>."
full_description: "A driver is a dynamic shared library that enables and
controls one or more <a href=\"/docs/glossary#node\">nodes</a>. Drivers are
loaded into <a href=\"/docs/glossary#driver-host\">driver hosts</a> by the
<a href=\"/docs/glossary#driver-manager\">driver manager</a>."
see_also: ["<a href=\"/docs/development/drivers/developer_guide/driver-development.md\">Fuchsia driver development</a>",
"<a href=\"https://fuchsia.googlesource.com/fuchsia/+/refs/heads/main/src/devices\">Driver source code</a>",
"<a href=\"/docs/concepts/drivers/drivers_and_nodes.md\">Drivers and nodes</a>"]
related_guides: [""]
area: ["System", "Devices", "Drivers", "Driver SDK"]
- term: "Driver binding"
short_description: "The process where a <a href=\"/docs/glossary#driver\">driver</a> is
<a href=\"/docs/glossary#driver-matching\">matched</a> to a
<a href=\"/docs/glossary#node\">node</a>, started, and then handed the node’s
<a href=\"/docs/glossary#resource\">resources</a>."
full_description: "The process where a <a href=\"/docs/glossary#driver\">driver</a> is
<a href=\"/docs/glossary#driver-matching\">matched</a> to a <a href=\"/docs/glossary#node\">node</a>,
started, and then handed the node’s <a href=\"/docs/glossary#resource\">resources</a>.
A driver bound to a node can access the node's <a href=\"/docs/glossary#resource\">resources</a> and
create <a href=\"/docs/glossary#child-node\">child nodes</a>."
see_also: [""]
related_guides: ["<a href=\"/docs/development/drivers/concepts/device_driver_model/driver-binding.md\">Driver binding</a>",
"<a href=\"/docs/development/drivers/tutorials/bind-rules-tutorial.md\">Bind rules tutorial</a>"]
area: ["System", "Devices", "Drivers", "Driver SDK"]
- term: "Driver host"
short_description: "A process containing one or more device drivers."
full_description: "A process containing one or more device drivers. They are
created by the Driver Manager, as needed, to provide isolation between drivers for stability and
security."
see_also: [""]
related_guides: [""]
area: ["System", "Devices", "Drivers", "Driver SDK"]
- term: "Driver index"
short_description: "The driver index is a Fuchsia
<a href=\"/docs/glossary#component\">component</a> that is responsible for keeping track of all
available <a href=\"/docs/glossary#driver\">drivers</a>."
full_description: ""
see_also: [""]
related_guides: [""]
area: ["System", "Devices", "Drivers"]
- term: "Driver manager"
short_description: "The Driver Manager (formerly devmgr or devcoordinator) is responsible for
enumerating, loading, and managing the life cycle of device drivers."
full_description: ""
see_also: [""]
related_guides: [""]
area: ["System", "Devices", "Drivers", "Driver SDK"]
- term: "Driver matching"
short_description: "The process where the Driver Framework finds a
<a href=\"/docs/glossary#driver\">driver</a> and assigns it to a
<a href=\"/docs/glossary#node\">node</a>. A driver that’s assigned to
the node is considered as a matched driver."
full_description: ""
see_also: [""]
related_guides: ["<a href=\"/docs/development/drivers/concepts/device_driver_model/driver-binding.md\">Driver binding</a>",
"<a href=\"/docs/development/drivers/tutorials/bind-rules-tutorial.md\">Bind rules tutorial</a>"]
area: ["System", "Devices", "Drivers", "Driver SDK"]
- term: "Driver runtime"
short_description: "The driver runtime is an in-process runtime modeled after the Zircon kernel
that enables <a href=\"/docs/glossary#colocate\">colocated</a> drivers to communicate with
each other locally. It is much more efficient than communicating using Zircon
<a href=\"/docs/glossary#channel\">channels</a>."
full_description: "The driver runtime is an in-process runtime modeled after the Zircon kernel
that enables <a href=\"/docs/glossary#colocate\">colocated</a> drivers to communicate with
each other locally. It is much more efficient than communicating using Zircon
<a href=\"/docs/glossary#channel\">channels</a>. It also provides a set of primitives mirroring
Zircon kernel objects and a threading model for <a href=\"/docs/glossary#driver\">drivers</a>
which allows for the sharing of Zircon threads."
see_also: ["<a href=\"/docs/concepts/drivers/driver_framework#driver_runtime\">Driver runtime</a>"]
related_guides: [""]
area: ["System", "Devices", "Drivers", "Driver SDK"]
- term: "Driver transport"
short_description: "The driver transport is a transport system in FIDL that's implemented on top
of <a href=\"/docs/glossary#driver-runtime\"driver runtime</a> channels."
full_description: ""
see_also: [
"<a href=\"/docs/development/languages/fidl/tutorials/cpp/topics/driver-transport\">Using new C++ bindings over the driver transport</a>"
]
related_guides: [""]
area: ["System", "Devices", "Drivers", "Driver SDK"]
- term: "Environment"
short_description: "A container for a set of components."
full_description: "A container for a set of components, which provides a way to manage their
lifecycle and provision services for them. All components in an environment receive access to
(a subset of) the environment's services."
see_also: [""]
related_guides: [""]
area: ["Component Framework"]
- term: "Ephemeral driver"
short_description: "A <a href=\"/docs/glossary#driver\">driver</a> that is not
included in the <a href=\"/docs/glossary#board\">board</a> configuration. These
drivers are loaded from the
<a href=\"/docs/concepts/packages/package#universe-packages\">universe package set<\a>
at runtime."
full_description: ""
see_also: [""]
related_guides: [""]
area: ["System", "Devices", "Drivers"]
- term: "Escher"
short_description: "Graphics library for compositing user interface content."
full_description: "Graphics library for compositing user interface content. Its design is inspired
by modern real-time and physically based rendering techniques though Fuchsia
anticipates most of the content it renders to have non-realistic or stylized qualities suitable
for user interfaces."
see_also: [""]
related_guides: [""]
area: ["UI"]
- term: "Experimental-sdk tarball"
short_description: "The artifact containing experimental Fuchsia APIs."
full_description: ""
see_also: [""]
related_guides: [""]
area: ["General"]
- term: "expose"
short_description: "A keyword for a component instance to indicate that it is making a capability
available to its parent to route."
full_description: "A <a href=\"/docs/glossary#component-instance\">component instance</a>
may use the <code>expose</code> <a href=\"/docs/glossary#component-manifest\">manifest</a>
keyword to indicate that it is making a capability available to its parent to route. Parents may
<a href=\"/docs/glossary#offer\">offer</a> a capability exposed by any of their children to
their other children or to their parent, but they cannot <a href=\"/docs/glossary#use\">use</a>
it themselves in order to avoid dependency cycles."
see_also: ["<a href=\"/docs/glossary#capability\">Capability</a>"]
related_guides: [""]
area: ["System", "Component Framework"]
- term: "Exposed directory"
short_description: "A file system directory that contains the set of
<a href=\"/docs/glossary#expose\">exposed</a> capabilities for a
<a href=\"/docs/glossary#component\">component</a>."
full_description: "A file system directory provided by <a href=\"/docs/glossary#component-manager\">component manager</a>
that contains the set of capabilities <a href=\"/docs/glossary#expose\">exposed</a>
by a <a href=\"/docs/glossary#component\">component</a> to its parent."
see_also: ["<a href=\"/docs/glossary#capability\">Capability</a>",
"<a href=\"/docs/glossary#outgoing-directory\">Outgoing directory</a>"]
related_guides: [""]
area: ["Component Framework"]
- term: "FAR"
short_description: "The Fuchsia Archive Format is a container for files to be used by Zircon and
Fuchsia."
full_description: ""
see_also: ["<a href=\"/docs/concepts/source_code/archive_format.md\">Fuchsia archive format (FAR)</a>"]
related_guides: [""]
area: ["System", "Zircon"]
- term: "FBL"
short_description: "FBL is the Fuchsia Base Library, which is shared between kernel and userspace."
full_description: ""
see_also: ["<a href=\"/docs/development/languages/c-cpp/cxx.md\">C++ in Zircon</a>"]
related_guides: [""]
area: ["System", "Zircon"]
- term: "FDF"
short_description: "The Fuchsia driver framework is the documentation, APIs, and ABIs necessary to
build Zircon device drivers."
full_description: "The Fuchsia driver framework is the documentation, APIs, and ABIs necessary to
build Zircon device drivers. Device drivers are implemented as ELF shared libraries loaded by
Zircon's driver manager."
see_also: ["<a href=\"/docs/concepts/drivers/fdf.md\">Fuchsia driver framework</a>",
"<a href=\"https://fuchsia.googlesource.com/fuchsia/+/refs/heads/main/src/lib/ddk/include/ddk/\">FDF includes</a>"]
related_guides: [""]
area: ["System", "Zircon"]
- term: "fdio"
short_description: "The core Fuchsia method for talking about files and other
I/O primitives are FIDL protocols over Zircon channels."
full_description: "It provides the implementation of posix-style open(),
close(), read(), write(), select(), poll(), etc, against the RemoteIO
RPC protocol. These APIs are return- not-supported stubs in libc, and linking
against libfdio overrides these stubs with functional implementations. Sometimes referred to as
\"POSIX Lite\"."
see_also: ["<a href=\"https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/lib/fdio/\">fdio source code</a>",
"<a href=\"/docs/contribute/governance/rfcs/0082_starnix\">RFC-0082</a>",
"<a href=\"/docs/concepts/filesystems/life_of_an_open.md\">Life of an Open</a>"]
related_guides: [""]
area: ["Zircon"]
- term: "ffx"
short_description: "Fuchsia's primary tool for working with a Fuchsia system
and Fuchsia tools. Example use cases include stream logs from a device and
start an emulator."
full_description: ""
see_also: ["<a href=\"https://fuchsia.dev/reference/tools/sdk/ffx\">ffx</a>"]
related_guides: [""]
area: ["General", "System"]
- term: "FHO"
short_description: "Fuchsia Host Objects is a set of APIs connecting `ffx` with subtools."
full_description: "Fuchsia Host Objects is a set of APIs connecting `ffx` with subtools.
It acts as a compatibility layer between the program and a device or virtual machine
running Fuchsia, allowing the tool to ignore all the setup necessary to connect to the
device, establish FIDL channels to services on the device, and log useful information
about the interactions."
see_also: ["<a href=\"https://fuchsia.dev/fuchsia-src/development/tools/ffx/architecture/fho\">FHO</a>"]
related_guides: [""]
area: ["General", "System"]
- term: "FilledRect"
short_description: "A solid color rectangle can be attached to a
<a href=\"/docs/glossary#transform\">Transform</a> in <a href=\"/docs/glossary#flatland\">Flatland</a>."
full_description: "A solid color rectangle can be attached to a
<a href=\"/docs/glossary#transform\">Transform</a> in <a href=\"/docs/glossary#flatland\">Flatland</a>.
FilledRect is type of a <a href=\"/docs/glossary#content\">Content</a>."
see_also: [""]
related_guides: [""]
area: ["UI"]
- term: "FIDL"
short_description: "The Fuchsia Interface Definition Language (FIDL) is a language for defining
protocols."
full_description: "The Fuchsia Interface Definition Language (FIDL) is a language for defining
protocols that are typically used over <a href=\"/docs/glossary#channels\">channels</a>.
FIDL is programming language agnostic and has bindings for many popular languages, including C,
C++, Dart, Go, and Rust. This approach lets system components written in a variety of
languages interact seamlessly."
see_also: [""]
related_guides: ["<a href=\"/docs/development/languages/fidl/\">FIDL</a>"]
area: ["General", "FIDL", "System"]
- term: "Flatland"
short_description: "A <a href=\"/docs/glossary#fidl\">FIDL</a> protocol that allows sending 2D
graphical content to <a href=\"/docs/glossary#scenic\">Scenic</a>."
full_description: "The 2D composition API for Fuchsia graphics clients. Flatland clients can
construct their scene graph and send to <a href=\"/docs/glossary#scenic\">Scenic</a> to compose
into the shared scene graph that is submitted to the display."
see_also: [""]
related_guides: [""]
area: ["FIDL", "UI"]
- term: "Fragment"
short_description: "A fragment is a <a href=\"/docs/glossary#node\">node</a> that composes a
Driver Framework v1 <a href=\"/docs/glossary#composite-node\">composite node</a>. Each fragment
binds to a fragment <a href=\"/docs/glossary#driver\">driver</a> which provides protocols and
metadata to the composite node. Only used in Driver Framework v1."
full_description: ""
see_also: ["<a href=\"/docs/development/drivers/concepts/device_driver_model/composite.md\">Composite devices</a>"]
related_guides: [""]
area: ["System", "Devices", "Drivers", "Driver SDK"]
- term: "FTP"
short_description: "Deprecated, replaced by RFC. An FTP is the way developers can suggest changes
to FIDL. "
full_description: "An FTP is the way developers can suggest changes to FIDL. After being written,
an FTP goes through a formal review process where it is either accepted or rejected."
see_also: ["<a href=\"/docs/glossary#fidl\">FIDL</a>",
"<a href=\"/docs/contribute/governance/deprecated-ftp-process.md\">Deprecated FTP process</a>"]
related_guides: ["<a href=\"/docs/contribute/governance/rfcs/create_rfc.md\">Creating an RFC</a>"]
area: ["FIDL", "General"]
- term: "Fuchsia API surface"
short_description: "The Fuchsia API Surface is the combination of the
<a href=\"/docs/glossary#fuchsia-system-interface\">Fuchsia system interface</a> and the
client libraries included in the
<a href=\"/docs/glossary#fuchsia-idk\">Fuchsia IDK</a>."
full_description: ""
see_also: [""]
related_guides: [""]
area: ["System"]
- term: "FEMU"
short_description: "The Fuchsia emulator (FEMU) is the default emulator for Fuchsia."
full_description: "The Fuchsia emulator (FEMU) is the default emulator for Fuchsia. It allows
you to test Fuchsia components and applications without needing a Fuchsia device. FEMU is based
on the <a href=\"https://developer.android.com/studio/run/emulator\">Android Emulator (AEMU)</a>,
which is a fork of <a href=\"https://www.qemu.org/\">QEMU</a>."
see_also: ["<a href=\"/docs/concepts/emulator.md\">Fuchsia emulator (FEMU)</a>"]
related_guides: [""]
area: ["System"]
- term: "fuchsia-pkg URL"
short_description: "A scheme that refers to a repository, a package, or a package resource."
full_description: "A scheme that refers to a repository, a package, or a package resource. The
syntax is <code>fuchsia-pkg://<repo-hostname>[/<pkg-name>][#<path>]</code>]`. For example, for
the component <code>test_manager.cm</code> published under the package <code>test_manager</code>'s
<code>meta</code> directory, from the <code>fuchsia.com</code> repository, its URL is
<code>fuchsia-pkg://fuchsia.com/test_manager#meta/test_manager.cm</code>."
see_also: ["<a href=\"/docs/concepts/packages/package_url.md\">Fuchsia package URLs</a>"]
related_guides: [""]
area: ["Component Framework", "System"]
- term: "Fuchsia extension for VS Code"
short_description: "An extension for Visual Studio Code (VsCode) supporting
common developer workflows for Fuchsia, like environment set up, editing,
debugging, and testing."
full_description: ""
see_also: ["<a href=\"/docs/reference/tools/editors/vscode/fuchsia-ext-install.md\">Installing the Fuchsia developer extension</a>"]
related_guides: [""]
area: ["General"]
- term: "Fuchsia IDK"
short_description: "The Fuchsia IDK contains a small set of libraries and tools required to start building and running programs that target Fuchsia. The contents of the IDK represent the most basic contract that the Fuchsia platform developers offer to prospective developers."
full_description: ""
see_also: [""]
related_guides: [""]
area: ["General"]
- term: "Fuchsia provided developer artifacts"
short_description: "Set of deliverables from the Fuchsia Authors that make it
easier to develop components against Fuchsia. Some artifacts include: Fuchsia
SDK, Fuchsia tools, components, and editor extensions."
full_description: ""
see_also: [""]
related_guides: [""]
area: ["General"]
- term: "Fuchsia SDK"
short_description: "The Fuchsia SDK is the set of APIs, tools, build system integrations, and language
integration artifacts produced by Fuchsia that enable the production of software and products for and with Fuchsia."
full_description: ""
see_also: [""]
related_guides: [""]
area: ["General"]
- term: "Fuchsia SDK with Bazel"
short_description: "An integration of the Bazel build system with the Fuchsia
SDK. Enables developers to compile, run, and test their software with Bazel.
Supports C++ through a bundled Clang toolchain."
full_description: ""
see_also: [""]
related_guides: [""]
area: ["General"]
- term: "Fuchsia System Interface"
short_description: "The binary interface that the Fuchsia operating system presents to software it
runs."
full_description: "The binary interface that the Fuchsia operating system presents to software it
runs. For example, the entry points into the vDSO as well as all the FIDL protocols
are part of the Fuchsia System Interface."
see_also: ["<a href=\"/docs/concepts/system/abi/system.md\">Fuchsia System Interface</a>"]
related_guides: [""]
area: ["General", "System"]
- term: "Fuchsia tools"
short_description: "Programs designed to help work with Fuchsia. For example,
tools to compile FIDL IDL (interactive data language), or tools to get logs
from a device."
see_also: [""]
related_guides: [""]
area: ["General"]
- term: "Fuchsia Volume Manager"
short_description: "Fuchsia Volume Manager (FVM) is a partition manager providing dynamically
allocated groups of blocks known as slices into a virtual block address space."
full_description: "Fuchsia Volume Manager (FVM) is a partition manager providing dynamically
allocated groups of blocks known as slices into a virtual block address space.
The FVM partitions provide a block interface enabling filesystems to interact
with it in a manner largely consistent with a regular block device."
see_also: ["<a href=\"/docs/concepts/filesystems/filesystems.md#fvm\">Filesystems</a>"]
related_guides: [""]
area: ["General", "Storage"]
- term: "Function key"
short_description: "The common name for the keys F1, F2, F3, ..."
full_description: "The common name for the keys F1, F2, F3, ..."
see_also: [""]
related_guides: [""]
area: ["UI", "HCI"]
- term: "GN"
short_description: "GN is a meta-build system that generates build files."
full_description: "GN is a meta-build system that generates build files so that Fuchsia can be
built with <a href=\"/docs/glossary#ninja\">Ninja</a>. GN is fast and comes with solid
tools to manage and explore dependencies. GN files, named `BUILD.gn`, are located all over the
repository."
see_also: ["<a href=\"https://gn.googlesource.com/gn/+/HEAD/docs/language.md\">Language and operation</a>",
"<a href=\"https://gn.googlesource.com/gn/+/HEAD/docs/reference.md\">Reference</a>",
"<a href=\"/docs/development/build/build_system/fuchsia_build_system_overview.md\">Fuchsia build overview</a>"]
related_guides: [""]
area: ["System", "General"]
- term: "GraphicalPresenter"
short_description: "A <a href=\"/docs/glossary#fidl\">FIDL</a> protocol that organizes and
presents graphical views."
full_description: "A <a href=\"/docs/glossary#fidl\">FIDL</a> protocol that organizes and
presents graphical views. The presented views can be annotated with
<a href=\"/docs/glossary#element-annotation\">element annotations</a> to communicate
presentation properties to the <code>GraphicalPresenter</code>. This protocol is used, for example,
when a <a href=\"/docs/glossary#session\">session component</a>
written in Rust wants to delegate presentation logic to a child
<a href=\"/docs/glossary#component\">component</a> written in Flutter, or when a session
component that manages the lifecycle of elements delegates the presentation of element views to a
child component that implements <code>GraphicalPresenter</code>."
see_also: ["<a href=\"https://fuchsia.dev/reference/fidl/fuchsia.element#GraphicalPresenter\"><code>fuchsia.element.GraphicalPresenter</code></a>"]
related_guides: [""]
area: ["General", "UI", "FIDL", "Component Framework", "Session", "Flutter"]
- term: "Handle"
short_description: "A Handle is how a userspace process refers to a
<a href=\"/docs/glossary#kernel-object\">kernel object</a>."
full_description: "A Handle is how a userspace process refers to a
<a href=\"/docs/glossary#kernel-object\">kernel object</a>.
They can be passed to other processes over <a href=\"/docs/glossary#channel\">channels</a>."
see_also: ["<a href=\"/docs/concepts/kernel/handles.md\">Zircon Handle</a>"]
related_guides: [""]
area: ["General", "Zircon"]
- term: "Hardware driver"
short_description: "A <a href=\"/docs/glossary#driver\">driver</a> that controls a device."
full_description: "A <a href=\"/docs/glossary#driver\">driver</a> that controls a device.
It receives requests from its <a href=\"/docs/glossary#core-driver\">core driver</a>
and translates them into hardware-specific operations. Hardware drivers strive to be as thin as
possible. They do not support RPC interfaces, ideally have no local worker threads (though that is
not a strict requirement), and some will have interrupt handling threads. They may be further
classified into <a href=\"/docs/glossary#sequential-device-driver\">sequential device drivers</a>
and <a href=\"/docs/glossary#concurrent-device-driver\">concurrent device drivers</a>."
see_also: [""]
related_guides: [""]
area: ["General", "System"]
- term: "Image"
short_description: "A bitmap containing pixels that can be attached to a
<a href=\"/docs/glossary#transform\">Transform</a> in <a href=\"/docs/glossary#flatland\">Flatland</a>."
full_description: "A bitmap containing pixels that can be attached to a
<a href=\"/docs/glossary#transform\">Transform</a> in <a href=\"/docs/glossary#flatland\">Flatland</a>.
Image is type of a <a href=\"/docs/glossary#content\">Content</a>."
see_also: [""]
related_guides: [""]
area: ["UI"]
- term: "Images Config"
short_description: "This configuration file that tells the Software Assembly tooling which images
to generate and how to generate them."
full_description: "The Images Config is an internal contract between the two subsystems of
Software Assembly -- Product Assembly and Image Assembly. The structure and contents of this file
is subject to rapid iteration, as it is consumed only by the Software Assembly team."
see_also: [""]
related_guides: [
"<a href=\"https://cs.opensource.google/fuchsia/fuchsia/+/main:src/developer/ffx/plugins/assembly\">
Product and Image Assembly</a>"]
area: ["Software Assembly"]
- term: "In-tree"
short_description: "Relating to or describing an action to be performed inside a Fuchsia checkout."
full_description: "For instance, checking out the Fuchsia source code is a prerequisite for
performing any in-tree development. The `fx build` command is used to operate the in-tree build
system."
related_guides: ['<a href="/docs/get-started/get_fuchsia_source.md">Get Fuchsia source code</a>',
'<a href="/docs/get-started/build_fuchsia.md">Build Fuchsia</a>']
area: ["Developer"]
- term: "Input Method Editor"
short_description: "Software for sophisticated text input."
full_description: "From
<a href=\"https://docs.microsoft.com/en-us/windows/apps/design/input/input-method-editors\">MSDN</a>:
\"A software component that enables a user to input text in a language that
can not be represented easily on a standard keyboard.\""
see_also: ["Input Method Editor API"]
related_guides: [""]
area: ["UI", "HCI"]
- term: "Input Method Editor API"
short_description: "API to implement IMEs"
full_description: "A FIDL API offered by the keyboard subsystem for
integrating with built-in or custom made input method editors."
see_also: ["Input Method Editor"]
related_guides: [""]
area: ["UI", "HCI"]
- term: "Input Pipeline"
short_description: "Fuchsia system component for handling input-related events."
full_description: "A library and component for processing of input-related
events on Fuchsia in a sequential manner. The input pipeline mediates between
driver-level input and \"UI Framework\" facing services. One of the input
pipeline's tasks is to apply a keymap by attaching a key meaning to a key event."
see_also: ["key event", "key meaning", "keymap", "RFC-0096"]
related_guides: [""]
area: ["UI", "HCI"]
- term: "InputDeviceBinding"
short_description: "A Rust trait in the input pipeline client library."
full_description: "<p>Represents a connection to a physical input device (e.g. mouse, keyboard) in
an input pipeline. An <code>InputDeviceBinding</code> does the following:</p>
<ul>
<li>Connects to an <a href=\"/docs/glossary#inputreport\"><code>InputReport</code></a> file
located at <code>/dev/class/input-report/XXX</code>.</li>
<li>Generates <a href=\"/docs/glossary#inputevent\"><code>InputEvent</code></a>'s
from the <code>DeviceDescriptor</code> and incoming <a href=\"/docs/glossary#inputreport\"><code>inputReport</code></a>.</li>
</ul>
<p>The input pipeline creates and owns <code>InputDeviceBinding</code>`s as new input peripherals
are connected to a device.</p>"
see_also: []
related_guides: [""]
area: ["Session", "Devices"]
- term: "InputDeviceDescriptor"
short_description: "Describes the ranges of values a particular
input device can generate."
full_description: "A property of the Rust struct
<a href=\"/docs/glossary#input-report\"><code>InputReport</code></a> of
type <code>enum InputDeviceDescriptor</code> and a <a href=\"/docs/glossary#fidl\">FIDL</a>
table. For example, a <code>InputDeviceDescriptor</code> contains the keys available on the
keyboard, and a <code>InputDeviceDescriptor::Touch</code> contains the maximum number of touch
contacts and the range of <code>x-</code> and <code>y-</code> values each contact can take on."
see_also: ["<a href=\"https://fuchsia.googlesource.com/fuchsia/+/refs/heads/main/src/ui/lib/input/src/input_device.rs\"><code>enum InputDeviceDescriptor</code></a>",
"<a href=\"https://fuchsia.dev/reference/fidl/fuchsia.input.report#DeviceDescriptor\"><code>fuchsia.input.report.DeviceDescriptor</code></a>"]
related_guides: [""]
area: ["Session", "Devices"]
- term: "InputDeviceEvent"
short_description: "Represents an input event from an input device."
full_description: "A property of the Rust struct
<a href=\"/docs/glossary#inputevent\"><code>InputEvent</code></a>.
<code>InputDeviceEvent</code>`s contain more context than the raw
<a href=\"/docs/glossary#inputreport\"><code>InputReport</code>`s they are parsed from.
For example, <code>InputDeviceEvent::Keyboard</code> contains all the pressed keys, as well as
the key's phase (pressed, released, etc.)."
see_also: []
related_guides: [""]
area: ["Session", "Devices"]
- term: "InputEvent"
short_description: "An event from an input device containing context (a
<code>InputDeviceDescriptor</code> and state (e.g. phase and location of a button press).
The input pipeline generates <code>InputEvent</code>`s from hardware signals."
full_description: "A Rust struct in the
<a href=\"/docs/glossary#input-pipeline-client-library\">input pipeline client library</a>."
see_also: []
related_guides: [""]
area: ["Session", "Devices"]
- term: "InputHandler"
short_description: "</p>Represents a client of <a href=\"/docs/glossary#inputevent\"><code>InputEvent</code></a>
in an input pipeline. When an <a href=\"/docs/glossary#inputhandler\"><code>InputHandler</code></a>
receives an <a href=\"/docs/glossary#inputevent\"><code>InputEvent</code></a>, it does at
least one of the following:</p>
<ul>
<li>Forwards the <a href=\"/docs/glossary#inputevent\"><code>InputEvent</code></a>
to the relevant client component.</li>
<li> Outputs a vector of <a href=\"/docs/glossary#inputevent\"><code>InputEvent</code></a>'s
for the next <a href=\"/docs/glossary#inputhandler\"><code>InputHandler</code></a> to process.</li>
</ul>"
full_description: "A Rust trait in the <a href=\"/docs/glossary#input-pipeline-client-library\">input pipeline client library</a>."
see_also: []
related_guides: [""]
area: ["Session", "Devices"]
- term: "InputReport"
short_description: "A stateless representation of an event from a physical input device."
full_description: "A <a href=\"/docs/glossary#fidl\">FIDL</a> struct. Zircon
generates <code>InputReport</code>`s from HID Reports."
see_also: ["<a href=\"https://fuchsia.dev/reference/fidl/fuchsia.ui.input#InputReport\"><code>fuchsia.ui.InputReport</code></a>"]
related_guides: [""]
area: ["Session", "Devices"]
- term: "Jiri"
short_description: "Jiri is a tool for multi-repo development."
full_description: "It is used to checkout the Fuchsia codebase. It supports various subcommands,
which makes it easy for developers to manage their local checkouts."
see_also: ["<a href=\"https://fuchsia.googlesource.com/jiri/+/HEAD/README.md\"><code>jiri</code> reference</a>",
"<a href=\"https://fuchsia.googlesource.com/jiri/+/HEAD/README.md#main-commands-are\"><code>jiri</code> subcommands</a>",
"<a href=\"https://fuchsia.googlesource.com/jiri/+/HEAD/behaviour.md\"><code>jiri</code> behaviour</a>",
"<a href=\"https://fuchsia.googlesource.com/jiri/+/HEAD/behaviour.md\"><code>jiri</code> tips and tricks</a>"]
related_guides: [""]
area: ["General", "Developer"]
- term: "Job"
short_description: "A <a href=\"/docs/glossary#kernel-object\">kernel object</a>
that groups a set of related <a href=\"/docs/glossary#process\">processes</a>, their
child processes, and their jobs (if any)."
full_description: "Every process in the system belongs to a job and all
jobs form a single rooted tree."
see_also: ["<a href=\"/docs/reference/kernel_objects/job.md\">Job</a>",
"<a href=\"/docs/concepts/process/jobs.md\">Jobs</a>",
"<a href=\"/docs/glossary#root-job\">Root job</a>"]
related_guides: [""]
area: ["Zircon", "System"]
- term: "Kernel object"
short_description: "A kernel object is a kernel data structure that is used to regulate access to
system resources such as memory, I/O, processor time and access to other processes."
full_description: "Userspace can only reference kernel objects through
<a href=\"/docs/glossary#handle\">handles</a>."
see_also: ["<a href=\"/docs/reference/kernel_objects/objects.md\">Kernel objects</a>"]
related_guides: [""]
area: ["Zircon"]
- term: "Key"
short_description: "A switch that can be pressed or released."
full_description: "A switch that can be pressed or released. Usually,
<a href=\"https://shop.daskeyboard.com/collections/all-mechanical-keyboards/products/das-keyboard-4-ultimate?variant=594321629\">but not always</a>,
it has a keycap with one or more symbols written on it.
It is traditionally a mechanical, or electromechanical device, but modern
input modes have seen purely software key implementations, as a
user-interface element coupled with a touch-screen, or a computer mouse for
actuation. ISO/IEC 9995-1:2009 does not explicitly define the term
<emph>key</emph>, but notes that a keyboard has keys that can be actuated.
We will use the term physical key to emphasize a key on a physical keyboard
where otherwise confusion would arise."
see_also: ["keyboard", "keycap", "physical key"]
related_guides: [""]
area: ["UI", "HCI"]
- term: "Key actuation"
short_description: "Physical action to cause a key effect."
full_description: "Doing something to a key to cause a key effect. For
example, pressing a key. Actuation is probably a better term to use in
general, since while each press is an actuation, not every key actuation
has to be a key press. Some keys may be actuated by a tap, or a throw switch,
or a twist etc.
It's OK to use \"key press\" when talking about pressable keys in the narrow
sense - such as on a standard PC keyboard. Prefer \"key actuation\" in formal
contexts, or where precision is important."
see_also: ["Physical key", "Key effect"]
related_guides: [""]
area: ["UI", "HCI"]
- term: "Key binding"
short_description: "A key chord and its key effect, together."
full_description: "A pair of a key chord and a key effect. For example
pressing \"Ctrl+O\" causes the \"Open File\" dialog box to be shown."
see_also: ["Key actuation", "Key chord", "Key effect"]
related_guides: [""]
area: ["UI", "HCI"]
- term: "Key event"
short_description: "A message that reports a state change for a key."
full_description: "A message reporting a state change associated with a
single key. \"Key 'A' has just been pressed\" is a representation of a key
event.
On Fuchsia, a key event can only ever be delivered to a View that is in
focus. This feature ensures that potentially sensitive keyboard input is
always delivered only to the View that is permitted to receive it."
see_also: ["Keyboard", "Physical key", "View"]
related_guides: [""]
area: ["UI", "HCI"]
- term: "Key chord"
short_description: "One or more simultaneous key actuations."
full_description: "One or more key actuations that happen at the same time.
It may be impossible to actuate a specific key chord without actuating other
key chords first. For example, on mechanical keyboards, \"Ctrl+Alt+Del\" can
not be actuated until at least one of \"Ctrl\", or \"Alt\" or \"Del\" is
actuated first, as it is physically impossible to press all the three keys
at the same time.
This is not a universal definition, so expect variations across time periods,
operating systems, and schools of thought. For example, KDE uses the term
\"chord\" to mean \"key sequence\". But this usage seems unusual and not
intuitive, as it deviates from the use of \"chord\" in music, so we don't
follow this precedent and recommend against following it."
see_also: ["Physical key"]
related_guides: [""]
area: ["UI", "HCI"]
- term: "Key consumer"
short_description: "The final destination for the events generated by the keyboard subsystem."
full_description: "A client that is the final destination for the events
generated by the keyboard subsystem. Prefer the term <emph>consumer</emph> to
<emph>client</emph>, since the keyboard subsystem has multiple collaborators,
each of which can be a client in the context of a particular 1:1
collaboration."
see_also: ["key event", "keyboard subsystem"]
related_guides: [""]
area: ["UI", "HCI"]
- term: "Key effect"
short_description: "Effect that results when a key is actuated."
full_description: "\"Effect that results when a key is actuated, depending on
the active level, and possibly by the concurrent operation of a qualifier key
or keys.\" (ISO/IEC 9995-1:2009, section 4)
Example: the letter \"a\" appearing on a screen is a key effect, caused by
an actuation of the key with the keycap \"a\" on the keyboard."
see_also: ["key", "keycap", "keyboard"]
related_guides: [""]
area: ["UI", "HCI"]
- term: "Key event API"
short_description: "An API that provides discrete key events."
full_description: "E.g. fuchsia.ui.input3. API that gives access to discrete
key events, possibly annotated with information about the currently
applicable keyboard layout. At this stage, events corresponding to button
presses have not yet been interpreted as language. May be used for limited
use-cases such as controlling a game, but most clients should prefer the
text edit API."
see_also: ["Text Edit API"]
related_guides: [""]
area: ["UI", "HCI"]
- term: "Key meaning"
short_description: "An encoding corresponding to the meaning a key event
has to the key consumer, with all layout and other mappings that apply."
full_description: "An encoding corresponding to the meaning a key event
has to the key consumer, with all layout and other mappings that apply."
see_also: [""]
related_guides: [""]
area: ["UI", "HCI"]
- term: "Key sequence"
short_description: "A sequence of key chords."
full_description: "A sequence of key chords.
Example: in Emacs, pressing C-x followed by C-s saves the current buffer.
Since a single key actuation is a key chord (see definition above), every
sequence of single key presses such as \"hello world\" is also a key sequence."
see_also: [""]
related_guides: [""]
area: ["UI", "HCI"]
- term: "Keyboard"
short_description: "A means for input of information by a human being."
full_description: "An \"[...] intermediate element between a user and an
information processing system. The keyboard is specifically intended as
a means for input of information by a human being.\"
(<a href=\"https://www.iso.org/obp/ui/#iso:std:iso-iec:9995:-1:ed-3:v1:en\">ISO/IEC 9995-1:2009</a>,
section 5). This
<a href=\"https://en.wikipedia.org/wiki/Computer_keyboard\">link</a>
has some examples of computer keyboards."
see_also: ["physical keyboard", "virtual keyboard"]
related_guides: [""]
area: ["UI", "HCI"]
- term: "Keyboard subsystem"
short_description: "The set of Fuchsia system services that process keyboard and text related input."
full_description: "The set of Fuchsia system services that process keyboard and text related input."
see_also: ["Keyboard", "key event"]
related_guides: [""]
area: ["UI", "HCI"]
- term: "Keyboard map"
short_description: "A map that transforms a sequence of physical keys into a key meaning."
full_description: "A map that transforms a sequence of physical keys into a key meaning.
Also known as <emph>keymap</emph>, or <emph>keyboard layout</emph>."
see_also: [""]
related_guides: [""]
area: ["UI", "HCI"]
- term: "Keyboard shortcut"
short_description: "A special kind of key binding."
full_description: "A key chord that appears in some key binding.
All keyboard shortcuts are chords, but only chords that have a key effect
associated with them are shortcuts.
On Fuchsia, a distinctive feature of shortcuts is that they can be routed
to Views that are not in focus.
This allows top-level Views such as the graphical shell, or Accessibility,
to install system-wide shortcuts and intercept them instead of yielding them
over to child views. Contrast to the behavior of key events, which are only
ever delivered to focused views."
see_also: [""]
related_guides: [""]
area: ["UI", "HCI"]
- term: "Keycap symbol"
short_description: "The symbol displayed on top of a key."
full_description: "The symbol that is displayed on a key of the physical
keyboard, or on the UI item representing a virtual keyboard button that acts
as a key. The user's expectation is that actuating a key with a specific
symbol on the keycap would, by default, cause that symbol to be communicated
to the computer."
see_also: ["Physical key", "Keyboard", "Key meaning"]
related_guides: [""]
area: ["UI", "HCI"]
- term: "KOID"
short_description: "A Kernel Object Identifier."
full_description: ""
see_also: ["<a href=\"/docs/glossary#kernel-object\">Kernel object</a>"]
related_guides: [""]
area: ["Zircon"]
- term: "Legacy Assembly Input Bundle"
short_description: "The \"Legacy AIB\" is an AIB that includes both platform
and product artifacts that are specified via the GN build arguments such as base_product_labels
and bootfs_labels."
full_description: "<p>The Legacy Assembly Input Bundle (LAIB) is an AIB that includes both
platform and product artifacts that are specified via the GN build arguments such as
base_product_labels and bootfs_labels. Eventually, all the contents of the Legacy AIB will be
migrated to platform AIBs or the Assembly Config, and it will be deleted entirely. As of
November 2022 (last time this definition was updated), Software Assembly is not feature-complete,
and products have not been fully migrated over to using Software Assembly. Many of the current
platform features and product code lack the support in Assembly to define them inside the Assembly
Config, therefore we invented a temporary solution.<p>"
see_also: ["<a href=\"/docs/glossary#assembly-input-bundle-(aib)\">Assembly Input Bundle (AIB)</a>",
"<a href=\"/docs/glossary#assembly-config\">Assembly Config</a>"]
related_guides: [""]
area: ["Software Assembly", "Developer"]
- term: "Logical pixels"
short_description: "<a href=\"/docs/glossary#view\">View</a>'s device independent pixels."
full_description: "<a href=\"/docs/glossary#view\">View</a>'s device independent pixels. This
affects the content layout. Each pixel is displayed on-screen by one or more physical pixels, as
determined by <a href=\"/docs/glossary#device-pixel-ratio\">device pixel ratio</a>."
see_also: ["<a href=\"/docs/glossary#device-pixel-ratio\">device pixel ratio</a>",
"<a href=\"/docs/glossary#logical-pixels\">logical pixels</a>",
"<a href=\"/docs/contribute/governance/rfcs/0174_scale_in_flatland\">RFC-0174</a>"]
related_guides: [""]
area: ["UI"]
- term: "Lock state"
short_description: "Caps lock, num lock, fn lock, scroll lock"
full_description: "A \"state set by actuating a lock key, singly or in
combination with a [modifier] key\". (ISO/IEC 9995-1:2009, section 4.5)
Example lock state keys on PC keyboards are: CapsLock, NumLock, FnLock,
ScrollLock."
see_also: [""]
related_guides: [""]
area: ["UI", "HCI"]
- term: "LK"
short_description: "Little Kernel (LK) is the embedded kernel that formed the core of the Zircon
Kernel."
full_description: "LK is more microcontroller-centric and lacks support for MMUs,
userspace, system calls -- features that Zircon added."
see_also: ["<a href=\"https://github.com/littlekernel/lk\">LK on Github</a>"]
related_guides: [""]
area: ["Zircon"]
- term: "Mnemonic"
short_description: "Underlined character in a menu option."
full_description: "The underlined character in a menu
(<a href=\"https://en.wikipedia.org/wiki/Mnemonics_(keyboard)\">Wikipedia</a>).
For example, the \"F\" in \"File\" which is accessed by pressing \"Alt+F\".
Mnemonics are localized. For example, the \"File\" menu in an English version
of a program has \"F\" as the mnemonic, so \"Alt+F\" would be used to access.
The Dutch version of the same program would have \"Bestanden\" as the title
of that very same menu, so \"Alt+B\" would be used for access.
Mnemonics differ from shortcuts: in an application an \"Open\" command could
have \"O\" as mnemonic, but Ctrl+F12 as a shortcut."
see_also: [""]
related_guides: [""]
area: ["UI", "HCI"]
- term: "Modifier key"
short_description: "A key that modifies the effect of other keys."
full_description: "A \"key whose operation has no immediate effect, but
which, for as long as it is actuated, modifies the effects of other keys.
A modifier key can be, for example, [...] a control key.\"
(ISO/IEC 9995-1:2009, section 4.17)"
see_also: [""]
related_guides: [""]
area: ["UI", "HCI"]
- term: "Moniker"
short_description: "Identifies a specific component instance in the component
tree using a topological path."
full_description: "A component's moniker is defined as a path to the component instance in the
<a href=\"/docs/glossary#component-instance-tree\">component instance tree</a>."
see_also: ["<a href=\"/docs/concepts/components/v2/monikers.md\">Monikers</a>"]
related_guides: [""]
area: ["Component Framework"]
- term: "Musl"
short_description: "Fuchsia's standard C library (libc) is based on Musl Libc."
full_description: ""
see_also: ["<a href=\"/zircon/third_party/ulib/musl/\">Source code</a>",
"<a href=\"https://www.musl-libc.org/\">Musl homepage</a>"]
related_guides: [""]
area: ["General", "System"]
- term: "Namespace"
short_description: "A namespace is the composite hierarchy of files, directories, sockets,
<a href=\"/docs/glossary#service\">services</a>, and other named objects offered to
<a href=\"/docs/glossary#component\">components</a> by their <a href=\"/docs/glossary#environment\">environment</a>."
full_description: ""
see_also: ["<a href=\"/docs/concepts/process/namespaces.md\">Fuchsia Namespaces</a>"]
related_guides: [""]
area: ["System", "Storage"]
- term: "Netstack"
short_description: "An implementation of TCP, UDP, IP, and related networking protocols for Fuchsia."
full_description: ""
see_also: [""]
related_guides: [""]
area: ["Connectivity"]
- term: "Ninja"
short_description: "The build system executing Fuchsia builds."
full_description: "It is a small build system with a strong emphasis on speed. Unlike other
systems, Ninja files are not supposed to be manually written but should be generated by other
systems, such as <a href=\"/docs/glossary#gn\">GN</a> in Fuchsia."
see_also: ["<a href=\"https://gn.googlesource.com/gn/+/HEAD/docs/reference.md#ninja_rules\">Ninja rules in GN</a>",
"<a href=\"/docs/development/build/build_system/fuchsia_build_system_overview.md\">Fuchsia build overview/a>"]
related_guides: ["<a href=\"https://ninja-build.org/manual.html\">Ninja manual</a>"]
area: ["System", "Developer"]
- term: "Node"
short_description: "An entity in the Driver Framework that contains a set of
<a href=\"/docs/glossary#resource\">resources</a> that a
<a href=\"/docs/glossary#driver\">driver</a> can interact with and a set of
properties. A node can be thought of as a hardware or virtual device, or a node can be a part
of a hardware device."
full_description: ""
see_also: ["<a href=\"/docs/concepts/drivers/drivers_and_nodes.md\">Drivers and nodes</a>"]
related_guides: [""]
area: ["System", "Devices", "Drivers", "Driver SDK"]
- term: "Node properties"
short_description: "Node properties are key-value pairs contained in
<a href=\"/docs/glossary#node\">nodes</a>. They are used by
<a href=\"/docs/glossary#bind-rules\">bind rules</a> to evaluate whether a
<a href=\"/docs/glossary#driver\">driver</a> is
<a href=\"/docs/glossary#driver-matching\">matched</a> to the node."
full_description: "Node properties are key-value pairs contained in
<a href=\"/docs/glossary#node\">nodes</a>. They are used by
<a href=\"/docs/glossary#bind-rules\">bind rules</a> to evaluate whether a
<a href=\"/docs/glossary#driver\">driver</a> is
<a href=\"/docs/glossary#driver-matching\">matched</a> to the node.The keys
can be of integer or string type. The values can be of integer, string, boolean,
or enum type."
see_also: [
"<a href=\"/docs/concepts/drivers/drivers_and_nodes.md\">Drivers and nodes</a>",
"<a href=\"/docs/glossary#driver-binding\">Driver binding</a>"]
related_guides: [""]
area: ["System", "Devices", "Drivers", "Driver SDK"]
- term: "Node topology"
short_description: "The node topology describes the parent-child relationships between
<a href=\"/docs/glossary#node\">nodes</a> in a Fuchsia system. These nodes form a single node
topology, expressed in a <a href=\"https://en.wikipedia.org/wiki/Directed_acyclic_graph\">directed acyclic graph</a>."
full_description: ""
see_also: ["<a href=\"/docs/concepts/drivers/drivers_and_nodes.md\">Drivers and nodes</a>"]
related_guides: [""]
area: ["System", "Devices", "Drivers", "Driver SDK"]
- term: "offer"
short_description: "A keyword for a component instance to route a capability that was exposed to it."
full_description: "A <a href=\"/docs/glossary#component-instance\">component instance</a>
may use the <code>offer</code> <a href=\"/docs/glossary#component-manifest\">manifest</a>
keyword to route a capability that was <a href=\"/docs/glossary#expose\">exposed</a>
to it to one of its children (other than the child that exposed it)."
see_also: ["<a href=\"/docs/glossary#capability\">Capability</a>"]
related_guides: [""]
area: ["System", "Component Framework"]
- term: "Out-of-tree"
short_description: "Relating to or describing an action that can be done outside of a Fuchsia checkout."
full_description: "For instance, the IDK allows developing for Fuchsia outside the Fuchsia tree.
The SDK tools are available as prebuilts so developers don't need to check out Fuchsia code and build
the same tools from source code using Fuchsia's in-tree build system."
related_guides: ['<a href="/docs/development/idk/README.md">Integrator Development Kit (IDK)</a>',
'<a href="https://fuchsia.dev/fuchsia-src/reference/tools/sdk">SDK tools</a>']
area: ["Developer"]
- term: "Outgoing directory"
short_description: "A file system directory where a <a href=\"/docs/glossary#component\">component</a>
serves protocol <a href=\"/docs/glossary#handle\">handles</a> to capabilities it has
<a href=\"/docs/glossary#expose\">exposed</a>."
full_description: "A file system directory where a <a href=\"/docs/glossary#component\">component</a>
serves protocol <a href=\"/docs/glossary#handle\">handles</a> to capabilities it has
<a href=\"/docs/glossary#expose\">exposed</a>.
Other components connect to these exposed capabilities using the handles in this directory."
see_also: ["<a href=\"/docs/glossary#capability\">Capability</a>",
"<a href=\"/docs/glossary#exposed-directory\">Exposed directory</a>"]
related_guides: [""]
area: ["Component Framework"]
- term: "OTA"
short_description: "Over-the-air update."
full_description: "Over-the-air updates are changes made to device software (generally the full
system, but possibly smaller modules as well) without re-initializing the device's disk via a pave
or flash."
see_also: [""]
related_guides: ["<a href=/docs/concepts/packages/ota.md>System OTA documentation</a>"]
area: ["System"]
- term: "Package"
short_description: "A unit of software distribution in Fuchsia."
full_description: "A unit of software distribution in Fuchsia. It is a collection of
files, such as manifests, metadata, zero or more executables
(e.g. <a href=\"/docs/glossary#component\">components</a>), and assets. Individual Fuchsia
packages can be identified using
<a href=\"/docs/glossary#fuchsia-pkg-url\">fuchsia-pkg URL</a>. Packages can
contain other packages (known as <a href=\"/docs/glossary#subpackage\">Subpackages</a>)."
see_also: [""]
related_guides: [""]
area: ["System", "Component Framework"]
- term: "Package URL (Absolute)"
short_description: ""
full_description: "Also known as the Fully-Qualified Package URL, a url with the \"fuchsia-pkg\"
scheme <code>(fuchsia-pkg://<domain>/<package>)</code> representing a fully qualified location for a fuchsia package. For example:
<code>fuchsia-pkg://fuchsia.com/package_name</code>"
see_also: ["<a href=\"/docs/glossary#fuchsia-pkg-url\">fuchsia-pkg URL</a>"]
related_guides: [""]
area: ["Software Assembly", "Developer"]
- term: "Package URL (Pinned Absolute)"
short_description: ""
full_description: "A package URL with a URL parameter \"hash\" with value that is the merkle hash
of the package's meta.far <code>(fuchsia-pkg://<domain>/<package>?hash=<hash>)</code>. Pinning a
package is the act of uniquely identifying a version of a package, through the hash URL parameter.
For example:
<code>fuchsia-pkg://fuchsia.com/package_name?hash=716178364a3a0fc8be2850f88a7414f95ed895489bc0f74bc2d60d78d3682c65</code>"
see_also: ["<a href=\"/docs/glossary#fuchsia-pkg-url\">fuchsia-pkg URL</a>"]
related_guides: [""]
area: ["Software Assembly", "Developer"]
- term: "Parent component instance"
short_description: "A parent component instance is a component instance that
owns other instances called
<a href=\"/docs/glossary#child-component-instance\">child component instances</a>"
full_description: ""
see_also: ["<a href=\"/docs/glossary#component\">",
"<a href=\"/docs/concepts/components/v2/introduction.md\">Components</a>"]
related_guides: [""]
area: ["Component Framework"]
- term: "Parent driver"
short_description: "A driver that provides <a href=\"/docs/glossary#resource\">resources</a> from
its <a href=\"/docs/glossary#node\">node</a> to its
<a href=\"/docs/glossary#child-node\">child nodes</a>."
full_description: ""
see_also: ["<a href=\"/docs/concepts/drivers/drivers_and_nodes.md\">Drivers and nodes</a>"]
related_guides: [""]
area: ["System", "Devices", "Drivers", "Driver SDK"]
- term: "Paver"
short_description: "A tool in Zircon that installs partition images to internal storage of a
device."
full_description: ""
see_also: [""]
related_guides: ["<a href=\"/docs/development/hardware/paving.md\">Guide for installing Fuchsia with paver</a>"]
area: ["System", "Devices"]
- term: "Physical keyboard"
short_description: "A physical device for text entry."
full_description: "A physical device for text entry, which relies on an arrangement of keys."
see_also: ["physical key", "keycap", "key effect"]
related_guides: [""]
area: ["UI", "HCI"]
- term: "Physical keyboard layout"
short_description: "A positioning of keycaps on a physical keyboard."
full_description: "A positioning of keycaps on a physical keyboard."
see_also: ["keycap", "physical keyboard"]
related_guides: [""]
area: ["UI", "HCI"]
- term: "Physical keycode"
short_description: "The numeric code associated with a key, as assigned by Fuchsia."
full_description: "The numeric code associated with a key, as assigned by
the operating system.
In Fuchsia, the physical key codes are unsigned 32-bit integers, derived from
the USB HID usage tables. The USB HID usage page number is encoded in the
upper 16 bits, and the usage ID within a page is encoded in the lower 16 bits.
An encoding of a physical key code used in Fuchsia: see input.Key."
see_also: ["Physical key", "Scan code"]
related_guides: [""]
area: ["UI", "HCI"]
- term: "Physical pixels"
short_description: "Display's physical pixel count."
full_description: "Display's physical pixel count. i.e. if there are 4K and FHD variants of the
same size display, 4K has 3840x2160 physical pixels and FHD has 1920x1080 physical pixels.
However, they may have the same amount of
<a href=\"/docs/glossary#logical-pixels\">logical pixels</a> so the layout of the content looks
the same."
see_also: ["<a href=\"/docs/glossary#device-pixel-ratio\">device pixel ratio</a>",
"<a href=\"/docs/glossary#logical-pixels\">logical pixels</a>",
"<a href=\"/docs/contribute/governance/rfcs/0174_scale_in_flatland\">RFC-0174</a>"]
related_guides: [""]
area: ["UI"]
- term: "PID"
short_description: "A process KOID. A KOID that uniquely identifies a process object."
full_description: ""
see_also: ["<a href=\"/docs/glossary#koid\">"]
related_guides: [""]
area: ["Zircon"]
- term: "Platform device"
short_description: "A <a href=\"/docs/glossary#node\">node</a> added by the
<a href=\"/docs/glossary#board-driver\">board driver</a> to the
<a href=\"/docs/glossary#platform-bus\">platform bus</a>."
full_description: ""
see_also: [""]
related_guides: ["<a href=\"/docs/development/drivers/concepts/device_driver_model/platform-bus.md\">Platform Bus</a>"]
area: ["System", "Devices", "Drivers", "Driver SDK"]
- term: "Platform bus"
short_description: "The first driver loaded in Fuchsia. The platform bus is the root driver and
contains all the resources and privileges necessary to interact with hardware."
full_description: ""
see_also: [""]
related_guides: ["<a href=\"/docs/development/drivers/concepts/device_driver_model/platform-bus.md\">Platform Bus</a>"]
area: ["System", "Devices", "Drivers", "Driver SDK"]
- term: "Platform source tree"
short_description: "The open source code hosted on
<a href=\"http://fuchsia.googlesource.com/\">fuchsia.googlesource.com</a>, which comprises the
source code for Fuchsia."
full_description: "A given Fuchsia system can include additional software from outside the
platform source tree by adding the appropriate <a href=\"/docs/glossary#package\">Fuchsia package</a>."
see_also: [""]
related_guides: [""]
area: ["System"]
- term: "Product"
short_description: "A specification for an assembled system."
full_description: "For instance, the Fuchsia platform defines products such as `bringup` and
`core` in terms of build-time configuration values and a set of packages to assemble into a system
image."
see_also: ["<a href=\"/docs/glossary#package\">Package</a>",
"<a href=\"/docs/glossary#product-owner\">Product owner</a>"]
related_guides: ["<a href=\"/docs/development/build/build_system/bringup.md\">Bringup Product Definition</a>"]
area: ["System"]
- term: "Product Bundle"
short_description: "The set of artifacts representing a Fuchsia product which are needed to
emulate, flash, boot, or update the product on a Fuchsia target."
full_description: "A Product Bundle contains all the images required for an A/B/R Fuchsia target.
Artifacts include, but are not limited to, the product image and packages associated with it."
see_also: ["<a href=\"/docs/glossary#product\">Product</a>",
"<a href=\"/docs/glossary#product-owner\">Product Owner</a>",
"<a href=\"/docs/glossary#abr\">A/B/R</a>",
]
related_guides: ["<a href=\"https://cs.opensource.google/fuchsia/fuchsia/+/main:src/developer/\ffx/plugins/assembly/;l=1;drc=fdfc80d4f9295e3b078158b435054a5c497a9479?q=src%2Fdeveloper%2Fffx%2Fplugins%2Fassembly%2F&sq=&ss=fuchsia\">Product and Image Assembly</a>"]
area: ["System", "Software Assembly", "Developer"]
- term: "Product Owner"
short_description: "Whoever defines a product, and is responsible for its provenance and releases."
full_description: ""
see_also: ["<a href=\"/docs/glossary#product\">Package</a>"]
related_guides: [""]
area: ["System"]
- term: "Process"
short_description: "A <a href=\"/docs/glossary#kernel-object\">kernel object</a> that
represents an instance of a program as a set of instructions that are executed by one or more
<a href=\"/docs/glossary#thread\">threads</a> together with a collection of
<a href=\"/docs/glossary#capability\">capabilities</a>."
full_description: "Every process is contained in a <a href=\"/docs/glossary#job\">job</a>."
see_also: ["<a href=\"/docs/reference/kernel_objects/process.md\">Process overview</a>"]
related_guides: [""]
area: ["General", "Zircon"]
- term: "Protocol"
short_description: "In <a href=\"/docs/glossary#fidl\">FIDL</a>, a protocol groups methods
and events to describe how one process interacts with another."
full_description: "In the component runtime, protocols are routed to and used by
other components as
<a href=\"/docs/glossary#protocol-capability\">protocol capabilities</a>."
see_also: ["<a href=\"/docs/glossary#protocol-capability\">Protocol capability</a>"]
related_guides: ["<a href=\"/docs/concepts/fidl/protocols.md\">FIDL protocols</a>"]
area: ["Component Framework", "FIDL"]
- term: "Protocol capability"
short_description: "A <a href=\"/docs/glossary#capability\">capability</a> that permits
communicating with a <a href=\"/docs/glossary#protocol\">protocol</a> over a
<a href=\"/docs/glossary#channel\">channel</a> using a specified
<a href=\"/docs/glossary#fidl\">FIDL</a> protocol."
full_description: "The server end of the channel is held by
the <a href=\"/docs/glossary#component-instance\">component instance</a> that provides the
capability. The client end of the channel is given to the
<a href=\"/docs/glossary#component-instance\">component instance</a> that
<a href=\"/docs/glossary#use\">uses</a> the capability."
see_also: ["<a href=\"/docs/glossary#capability-routing\">Capability routing</a>"]
related_guides: ["<a href=\"/docs/concepts/components/v2/capabilities/protocol.md\">Protocol capabilities</a>"]
area: ["Component Framework"]
- term: "Realm"
short_description: "A subtree of component instances in the
<a href=\"/docs/glossary#component-instance-tree\">component instance tree</a>.
Acts as a container for component instances and capabilities in the subtree."
full_description: ""
see_also: ["<a href=\"/docs/concepts/components/v2/realms.md\">Realms</a>"]
related_guides: [""]
area: ["Component Framework"]
- term: "Resource"
short_description: "Resources are contained in <a href=\"/docs/glossary#node\">nodes</a> and are
used by <a href=\"/docs/glossary#driver\">drivers</a> for communication. There are multiple
types of resources, including but not limited to: IPC, kernel, memory map, and I/O."
full_description: ""
see_also: [""]
related_guides: [""]
area: ["System", "Devices"]
- term: "Roller"
short_description: "A roller is an infrastructure job that watches for updates to a repository's
pinned dependencies and automatically creates and submits a commit that updates the pinned
version (a \"roll\") when it detects that a new version of a dependency is available."
full_description: "The Fuchsia project uses rollers to update pinned versions of repositories and
<a href=\"https://chromium.googlesource.com/infra/luci/luci-go/+/HEAD/cipd/README.md\">CIPD</a>
packages. Rollers can be configured to trigger automatically on new commits to a repository, run
as a cron job that periodically polls for changes, or only be triggered manually."
see_also: [""]
related_guides: [""]
area: ["General"]
- term: "Root job"
short_description: "The root of the job tree and the first job in the system."
full_description: "The root job is created by the kernel to allow [userboot](/docs/glossary#userboot) to begin execution."
see_also: ["<a href=\"/docs/glossary#job\">Job</a>",
"<a href=\"/docs/concepts/process/jobs.md\">Jobs</a>"]
related_guides: [""]
area: ["Zircon", "System"]
- term: "Runner"
short_description: "A <a href=\"/docs/glossary#component\">component</a> that provides a
runtime environment for other components, e.g. the ELF runner, the GTest runner."
full_description: "Every component needs a runner in order to launch. Components express their
dependency on a runner in the component's <a href=\"/docs/glossary#component-declaration\">declaration</a>.
When the <a href=\"/docs/glossary#component-framework\">component framework</a> starts a
component, it first determines the capabilities that the component should receive, then asks
the component's runner to launch the component. The runner is responsible for creating any
necessary processes, loading executable code, initializing language runtimes, handing control to
the component's entry points, and terminating thecomponent when requested by the component framework."
see_also: ["<a href=\"/docs/concepts/components/v2/elf_runner.md\">ELF runner</a>",
"<a href=\"/docs/concepts/components/v2/capabilities/runner.md\">Component runner</a>"]
related_guides: [""]
area: ["Component Framework", "System"]
- term: "Scan code"
short_description: "A sequence of numeric values associated with a key."
full_description: "A sequence of numeric values associated with a key, as
assigned by the hardware controller of the physical keyboard.
While standardized scan codes exist, keyboards are varied enough that
operating systems usually have to map all scan code sequences into a single
space of physical key codes."
see_also: ["key", "physical keyboard"]
related_guides: [""]
area: ["UI", "HCI"]
- term: "Scenic"
short_description: "Scenic is Fuchsia's system compositor, which composes graphical
objects from multiple components into a shared scene graph."
full_description: "Scenic includes views, input, compositor, and GPU services."
see_also: ["<a href=\"/docs/concepts/ui/scenic\">Scenic concepts</a>"]
related_guides: [""]
area: ["UI"]
- term: "SDK Atom"
short_description: "A subset of files in the SDK."
full_description: "An *SDK Atom* is a collection of files that can be included
in an SDK. Fuchsia represents SDK Atoms using the <code>sdk_atom</code> template in GN."
see_also: [""]
related_guides: [""]
area: ["Build"]
- term: "Sequential device driver"
short_description: "A <a href=\"/docs/glossary#hardware-driver\">hardware driver</a>
that will only service a single request at a time. The
<a href=\"/docs/glossary#core-driver\">core driver</a> synchronizes and serializes all
requests."
full_description: ""
see_also: [""]
related_guides: [""]
area: ["Devices", "System", "Drivers"]
- term: "Service"
short_description: "In <a href=\"/docs/glossary#fidl\">FIDL</a>, a service groups
<a href=\"/docs/glossary#protocol\">protocols</a> to describe how one process interacts
with another."
full_description: "A service is used and routed to other components as a
<a href=\"/docs/glossary#service-capability\">service capability</a>."
see_also: ["<a href=\"/docs/glossary#service-capability\">Service capability</a>"]
related_guides: ["<a href=\"/docs/concepts/fidl/services.md\">FIDL services</a>"]
area: ["Component Framework", "FIDL"]
- term: "Service capability"
short_description: "A <a href=\"/docs/glossary#capability\">capability</a> that permits
communicating with a <a href=\"/docs/glossary#service\">service</a> over a
<a href=\"/docs/glossary#channel\">channel</a> using a specified
<a href=\"/docs/glossary#fidl\">FIDL</a> service."
full_description: "The server end of the channel is held
by the <a href=\"/docs/glossary#component-instance\">component instance</a> that provides
the capability. The client end of the channel is given to the
<a href=\"/docs/glossary#component-instance\">component instance</a> that
<a href=\"/docs/glossary#use\">uses</a> the capability."
see_also: ["<a href=\"/docs/glossary#capability-routing\">Capability routing</a>"]
related_guides: ["<a href=\"/docs/concepts/components/v2/capabilities/service.md\">Service capabilities</a>"]
area: ["Component Framework"]
- term: "Session component"
short_description: "A session component is a component that encapsulates a product's user
experience and runs as a child of the platform `session_manager` component."
full_description: "A \"session component\" is a component. Each Fuchsia
product encapsulates its user experience within a session component (and its
descendent components). The term \"user experience\" is used broadly: it
encompasses traditional graphical experiences with touch/mouse/keyboard
interaction, as well as simpler experiences with a single RGB LED and several
hardware buttons, or those with only network I/O.
Simple products may specify a session component with no children, while complex
products have many children of the session component."
see_also: ["<a href=\"/docs/glossary#component\">Component</a>"]
related_guides: [""]
area: ["Session", "Component Framework"]
- term: "Session launcher"
short_description: "A <a href=\"/docs/glossary#fidl\">FIDL</a> protocol, exposed by the
<a href=\"/docs/glossary#session-manager\">session manager</a>, used to start or
restart <a href=\"/docs/glossary#session-component\">sessions</a>."
full_description: "It is available
to developer tools such as <code>session_control</code> to control session components at runtime."
see_also: ["<a href=\"https://fuchsia.dev/reference/fidl/fuchsia.session#Launcher\"><code>fuchsia.session.Launcher</code></a>"]
related_guides: [""]
area: ["FIDL", "Session"]
- term: "Session manager"
short_description: "The platform component that
manages the lifecycle of the <a href=\"/docs/glossary#session-component\">session component</a>."
full_description: "The session
manager defines the set of system capabilities provided to sessions at runtime."
see_also: []
related_guides: [""]
area: ["Session"]
- term: "Software Assembly"
short_description: "The process of gathering compiled artifacts, configuration metadata, and other
information required to create a complete Product Bundle."
full_description: "The Software Assembly process is carried out by an ffx plugin which gathers
various targets declared in the Assembly Config, Legacy AIB, and Platform AIBs. The result of
Software Assembly is a Product Bundle."
see_also: ["<a href=\"/docs/glossary#product-bundle\">Product Bundle</a>",
"<a href=\"/docs/glossary#assembly-config\">Assembly Config</a>",
"<a href=\"assembly-input-bundle-(aib)\">Assembly Input Bundles (AIB)</a>",
"<a href=\"legacy-assembly-input-bundle\">Legacy AIB</a>"
]
related_guides: [""]
area: [""]
- term: "Starnix"
short_description: "A <a href=\"/docs/glossary#runner\">runner</a> that allows
for running unmodified Linux binaries on Fuchsia."
full_description: "A <a href=\"/docs/glossary#runner\">runner</a> that allows
for running unmodified Linux binaries on Fuchsia.
Linux binaries are not run inside a virtual machine. Instead, starnix creates a
compatible runtime environment by implementing the Linux UAPI."
see_also: ["<a href=\"/docs/concepts/components/v2/starnix\">starnix</a>"]
related_guides: [""]
area: ["Component Framework"]
- term: "Storage capability"
short_description: "A storage capability is a
<a href=/docs/glossary#capability>capability</a> that allocates per-component
isolated storage for a designated purpose within a filesystem directory."
full_description: "Multiple <a href=\"/docs/glossary#component-instance\">component instances</a> may be given
the same storage capability, but underlying directories that are isolated from each other
will be allocated for each individual use. This is different from
<a href=\"/docs/glossary#directory-capability\">directory capabilities</a>, where a specific
filesystem directory is routed to a specific component instance.
Isolation is achieved because Fuchsia does not support
<a href=\"/docs/concepts/filesystems/dotdot.md\">dotdot</a>.
There are three types of storage capabilities:
<ul>
<li><b>Data</b>: A directory is added to the <a href=\"/docs/glossary#namespace\">namespace</a> of the
<a href=\"/docs/glossary#component-instance\">component instance</a> that <a href=\"#use\">uses</a> the capability.
Acts as a <a href=\"/docs/glossary#component-directory\">data directory</a>.</li>
<li><b>Cache</b>: Same as data, but acts as a <a href=\"/docs/glossary#cache-directory\">cache directory</a>.
</li>
<li><b>Meta</b>: A directory is allocated to be used by component manager, where it
will store metadata to enable features like persistent
<a href=\"/docs/glossary#component-collection\">component collections</a>.</li>
</ul>"
see_also: ["<a href=\"/docs/glossary#capability-routing\">Capability routing</a>", "<a href=\"/docs/concepts/components/v2/capabilities/storage.md\">Storage capabilities</a>"]
related_guides: [""]
area: ["General"]
- term: "Sub-realm"
short_description: "A sub-realm is the <a href=\"/docs/glossary#realm\">realm</a>
corresponding to a child component instance."
full_description: ""
see_also: ["<a href=\"/docs/concepts/components/v2/realms.md\">Realms</a>"]
related_guides: [""]
area: ["Component Framework"]
- term: "Subpackage"
short_description: "A Fuchsia package contained (by reference) in another package."
full_description: "A Fuchsia package can declare dependencies on one or more
packages, by containment. The containing package is sometimes referred to as
the superpackage and the
contained packages are its subpackages. Subpackages are declared by reference,
but the existence of the superpackage implies the existence of its
subpackages, regardless of the medium (including a Fuchsia runtime, in a
package repository, or in a package archive format, for example). Packages
and Components can reference contained packages and subpackaged components,
respectively, by relative subpackage URLs."
see_also: ["<a href=\"/docs/glossary#package\">Package</a>"]
related_guides: ["<a href=\"/docs/concepts/components/v2/subpackaging.md\">Fuchsia Subpackages</a>"]
area: ["System", "Software Assembly", "Component Framework"]
- term: "Subpackage URL (Relative)"
short_description: "A partial Fuchsia Package URL, starting from the URI path."
full_description: "A relative subpackage URL requires a
\"resolution context\", which simply means a known starting package
(or \"superpackage\"). The path (a single path segment with no slashes: `/`)
refers to a subpackage, declared and named by its superpackage; for example:
<code>my-package#meta/comp.cm</code>, representing a component within a
subpackage, with the locally-scoped name \"my-package\"."
see_also: ["<a href=\"/docs/glossary#subpackage\">Subpackage</a>"]
related_guides: [""]
area: ["Software Assembly", "Developer"]
- term: "Synchronized dispatcher"
short_description: "An async dispatcher where posted tasks are run in order, and each
task will observe the side-effects from previous tasks."
full_description: ""
see_also: ["<a href=\"/docs/development/languages/c-cpp/thread-safe-async.md\">Thread safe asynchronous code</a>"]
related_guides: [""]
area: ["Languages and Libraries"]
- term: "Text Edit API"
short_description: "An API that allows editing a UI text field."
full_description: "E.g. fuchsia.ui.text. This API allows the platform to
access and edit the contents of a text field implemented by a UI Framework.
This type of editing is a requirement for most text manipulation, in
particular when the text is interpreted as human language rather than
discrete button events. This API is required for accented characters
(anything using a dead key) and most CJK languages."
see_also: ["Key Event API"]
related_guides: [""]
area: ["UI", "HCI"]
- term: "Thread"
short_description: "A <a href=\"/docs/glossary#kernel-object\">kernel object</a> that
represents a time-shared CPU execution context. Each thread is contained in
<a href=\"/docs/glossary#process\">process</a>."
full_description: ""
see_also: ["<a href=\"/docs/reference/kernel_objects/thread.md\">Thread overview</a>"]
related_guides: [""]
area: ["Zircon"]
- term: "Transform"
short_description: "A hierarchical piece of a <a href=\"/docs/glossary#flatland\">Flatland</a>
graph."
full_description: "A hierarchical piece of a <a href=\"/docs/glossary#flatland\">Flatland</a>
graph. Transform is the fundamental object used to organize a
<a href=\"/docs/glossary#flatland\">Flatland</a> graph. Transforms can have children Transforms
and can attach a <a href=\"/docs/glossary#content\">Content</a>."
see_also: [""]
related_guides: [""]
area: ["UI"]
- term: "Toolchains"
short_description: "Tools used by developers to compile sources into binaries.
Fuchsia supports Clang for C/C++."
full_description: ""
see_also: [""]
related_guides: [""]
area: ["General"]
- term: "TOT"
short_description: "Top-Of-Tree: The source tree (or build artifact thereof)
based on the most recent commit to the main development branch of the source
code."
full_description: "Top-Of-Tree (or Tip-of-Tree, both are used interchangeably)
refers to various artifacts, depending on context. The common denominator is
that the artifact of interest is <b>not</b> relating to a stabilizing branch
like releases/f18. Frequent examples:
<ul>
<li>A Fuchsia git checkout sync'ed to JIRI_HEAD.</li>
<li>The resulting artifacts from a build from a Fuchsia git checkout sync'ed
to JIRI_HEAD.</li>
<li>The resulting artifacts from a component built from the development HEAD
of a component, against an unspecified version of the Fuchsia SDK.</li>
</ul>"
see_also: [""]
related_guides: [""]
area: ["General"]
- term: "Universe driver"
short_description: "An <a href=\"/docs/glossary#ephemeral-driver\">ephemeral driver</a>
from a specific Fuchsia package set that is registered manually after the system's
initial boot."
full_description: ""
see_also: [""]
related_guides: [""]
area: ["System", "Devices", "Drivers"]
- term: "use"
short_description: "A keyword for a component instance to consume a capability that was offered to it."
full_description: "A <a href=\"/docs/glossary#component-instance\">component instance</a>
may use the <code>use</code> <a href=\"/docs/glossary#component-manifest\">manifest</a>
keyword to to consume a capability that was <a href=\"/docs/glossary#offer\">offered</a>
to it by its parent."
see_also: ["<a href=\"/docs/glossary#capability\">Capability</a>"]
related_guides: [""]
area: ["System", "Component Framework"]
- term: "userboot"
short_description: "The first process started by the Zircon kernel."
full_description: "It is loaded from the kernel image in the same way as the
<a href=\"/docs/glossary#virtual-dynamic-shared-object\">vDSO</a>, instead of being loaded
from a filesystem. Its primary purpose is to load the second process,
<a href=\"/docs/glossary#bootsvc\">bootsvc</a>, from the
<a href=\"/docs/glossary#bootfs\">bootfs</a>."
see_also: [""]
related_guides: ["<a href=\"/docs/concepts/booting/userboot.md\">Zircon kernel to userspace bootstrapping (userboot)</a>"]
area: ["Zircon"]
- term: "View"
short_description: "A region of the Scenic scene graph and the reference frame of a Scenic
client."
full_description: "The region a Scenic client can draw in, and the coordinate system input events
are delivered in. <code>Views</code> can be referred to cross-process by their associated <a href=\"docs/glossary#viewref\">ViewRef</a>."
see_also: ["<a href=\"/docs/concepts/ui/scenic/views\">View System</a>"]
related_guides: [""]
area: ["UI", "HCI"]
- term: "Viewport"
short_description: "The parent endpoint of two connected <a href=\"/docs/glossary#flatland\">Flatland</a>
instances."
full_description: "The parent endpoint of two connected <a href=\"/docs/glossary#flatland\">Flatland</a>
instances. <a href=\"/docs/glossary#view\">View</a> is the child endpoint. Viewport is type of a
<a href=\"/docs/glossary#content\">Content</a>."
see_also: [""]
related_guides: [""]
area: ["UI"]
- term: "ViewportCreationToken"
short_description: "Uniquely identifies the parent connection point of a connection between two
<a href=\"/docs/glossary#flatland\">Flatland</a> instances."
full_description: "Uniquely identifies the parent connection point of a connection between two
<a href=\"/docs/glossary#flatland\">Flatland</a> instances. There is only one
<a href=\"/docs/glossary#viewcreationtoken\">ViewCreationToken</a> associated with a
ViewportCreationToken."
see_also: [""]
related_guides: [""]
area: ["FIDL", "UI"]
- term: "ViewController"
short_description: "Represents a handle to a remote View that was launched by calling
<code>PresentView()</code> on a <a href=\"/docs/glossary#graphicalpresenter\"><code>GraphicalPresenter</code></a>."
full_description: "A <a href=\"/docs/glossary#fidl\">FIDL</a> protocol. With this handle,
the caller (often, the session) can control the View's lifecycle. Closing the
<code>ViewController</code> should close the presented view, and allow the system to reclaim its resources."
see_also: ["<a href=\"https://fuchsia.dev/reference/fidl/fuchsia.element#ViewController\"><code>fuchsia.element.ViewController</code></a>"]
related_guides: [""]
area: ["FIDL", "UI"]
- term: "ViewCreationToken"
short_description: "Uniquely identifies the child connection point of a connection between two
<a href=\"/docs/glossary#flatland\">Flatland</a> instances."
full_description: "Uniquely identifies the child connection point of a connection between two
<a href=\"/docs/glossary#flatland\">Flatland</a> instances. There is only one
<a href=\"/docs/glossary#viewportcreationtoken\">ViewportCreationToken</a> associated with a
ViewCreationToken."
see_also: [""]
related_guides: [""]
area: ["FIDL", "UI"]
- term: "ViewHolderToken"
short_description: "Uniquely identifies an attachment point for a view in the
global scene graph."
full_description: "A <a href=\"/docs/glossary#fidl\">FIDL</a> struct. Each
<code>ViewHolderToken</code> has exactly one corresponding
<a href=\"/docs/glossary#viewtoken\">ViewToken</a>."
see_also: ["<a href=\"https://fuchsia.dev/reference/fidl/fuchsia.ui.views#ViewHolderToken\"><code>fuchsia.ui.views.ViewHolderToken</code></a>"]
related_guides: [""]
area: ["FIDL", "UI"]
- term: "ViewRef"
short_description: "A handle to a kernel object that identifies a unique <a href=\"docs/glossary#view\">View</a> across
the system."
full_description: "A <a href=\"/docs/glossary#fidl\">FIDL</a> struct. Two <code>ViewRef</code>`s
to the same view have the same <a href=\"/docs/glossary#koid\">KOID</a>. During cross-process
communications Scenic clients are referred to by ViewRef. This is common for Input, Accessibility
and Focus."
see_also: ["<a href=\"https://fuchsia.dev/reference/fidl/fuchsia.ui.views#ViewRef\"><code>fuchsia.ui.views.ViewRef</code></a>",
"<a href=\"/docs/development/graphics/scenic/concepts/view_ref\">Scenic Views, view tree, and ViewRefs</a",
"<a href=\"/docs/development/graphics/scenic/concepts/focus_chain\">View focus</a"]
related_guides: [""]
area: ["FIDL", "UI","HCI"]
- term: "ViewSpec"
short_description: "A description of a view to be presented by a
<a href=\"/docs/glossary#graphicalpresenter\"><code>GraphicalPresenter</code></a>."
full_description: "A <a href=\"/docs/glossary#fidl\">FIDL</a> table."
see_also: ["<a href=\"https://fuchsia.dev/reference/fidl/fuchsia.element#ViewSpec\"><code>fuchsia.element.ViewSpec</code></a>"]
related_guides: [""]
area: ["FIDL"]
- term: "ViewToken"
short_description: "Uniquely identifies a View, which is the root point for a subgraph
in the global scene graph."
full_description: "A <a href=\"/docs/glossary#fidl\">FIDL</a> struct. Each
<code>ViewToken</code> has exactly one corresponding
<a href=\"/docs/glossary#viewholdertoken\"><code>ViewHolderToken</code></a>."
see_also: ["<a href=\"https://fuchsia.dev/reference/fidl/fuchsia.ui.views#ViewToken\"><code>fuchsia.ui.views.ViewToken</code></a>"]
related_guides: [""]
area: ["FIDL", "UI"]
- term: "Virtual dynamic shared object"
short_description: "The Virtual Dynamic Shared Object (vDSO) is a
Virtual Shared Library."
full_description: "It is provided by the
<a href=\"/docs/glossary#zircon\">Zircon</a> kernel and does not appear in the filesystem
or a package. It provides the Zircon System Call API and ABI to userspace processes
in the form of an ELF library that's always there. In the Fuchsia IDK and
<a href=\"/docs/glossary#fdf\">Fuchsia driver framework</a> it exists as
<code>libzircon.so</code> for the purpose of having something to pass to the linker representing
the vDSO."
see_also: [""]
related_guides: [""]
area: ["Zircon", "System"]
- term: "Virtual Keyboard"
short_description: "A keyboard represented with software."
full_description: "While traditionally a keyboard is a
<a href=\"https://en.wikipedia.org/wiki/Typewriter\">mechanical</a> or
<a href=\"https://en.wikipedia.org/wiki/Computer_keyboard\">electromechanical</a>
device, modern keyboards can be visual elements on a screen, or can use voice
dictation for example. Also called <emph>on-screen keyboard (OSK)</emph>.
[<a href=\"https://en.wikipedia.org/wiki/Computer_keyboard\">wikipedia</a>]"
see_also: ["keyboard", "physical keyboard"]
related_guides: [""]
area: ["UI", "HCI"]
- term: "Virtual Memory Address Range"
short_description: "A Virtual Memory Address Range (VMAR) is a Zircon
<a href=\"/docs/glossary#kernel-object\">kernel object</a> that controls where and how
<a href=\"/docs/glossary#virtual-memory-object\">virtual memory objects</a> may be mapped
into the address space of a process."
full_description: ""
see_also: [""]
related_guides: ["<a href=\"/docs/reference/kernel_objects/vm_address_region.md\">VMAR overview</a>"]
area: ["Zircon"]
- term: "Virtual Memory Object"
short_description: "A Virtual Memory Object (VMO) is a Zircon
<a href=\"/docs/glossary#kernel-object\">kernel object</a> that represents a collection
of pages (or the potential for pages) that may be read, written, mapped into the address space
of a process, or shared with another process by passing a
<a href=\"/docs/glossary#handle\">handle</a> over a
<a href=\"/docs/glossary#channel\">channel</a>."
full_description: ""
see_also: ["<a href=\"/docs/reference/kernel_objects/vm_object.md\">VMO overview</a>"]
related_guides: [""]
area: ["Zircon"]
- term: "Zircon"
short_description: "Zircon is the
<a href=\"https://en.wikipedia.org/wiki/Kernel_(operating_system)\">kernel</a> and
lowest level userspace components (driver runtime environment, core drivers, libc, etc) at the
core of Fuchsia."
full_description: "In a traditional monolithic kernel, many of
the userspace components of Zircon would be part of the kernel itself."
see_also: ["<a href=\"https://cs.opensource.google/fuchsia/fuchsia/+/main:zircon/README.md\">Zircon documentation</a>",
"<a href=\"/docs/concepts/kernel/concepts.md\">Zircon concepts</a>",
"<a href=\"https://cs.opensource.google/fuchsia/fuchsia/+/main:zircon/\">Source code</a>"]
related_guides: [""]
area: ["Zircon"]
- term: "Zircon Boot Image"
short_description: " A Zircon Boot Image (ZBI) contains everything needed during the boot process
before any drivers are working."
full_description: "This includes the kernel image and a
<a href=\"/docs/glossary#bootfs\">RAM disk for the boot filesystem</a>."
see_also: ["<a href=\"https://fuchsia.googlesource.com/fuchsia/+/refs/heads/main/sdk/lib/zbi-format/include/lib/zbi-format/zbi.h\">ZBI header file</a>"]
related_guides: [""]
area: ["Zircon"]
- term: "Zedboot"
short_description: "A recovery image that is used to install and boot a full Fuchsia
system."
full_description: "Zedboot is actually an instance of the Zircon kernel with a minimal set
of drivers and services running used to bootstrap a complete Fuchsia system on a
target device. Upon startup, Zedboot listens on the network for instructions
from a bootserver that may instruct Zedboot to
<a href=\"/docs/glossary#paver\">install</a> a new OS. Upon
completing the installation Zedboot will reboot into the newly installed system."
see_also: [""]
related_guides: [""]
area: ["Zircon"]
- term: "ZX"
short_description: "An abbreviation of Zircon used in Zircon C APIs and ABIs
<code>zx_channel_create()</code>, <code>zx_handle_t</code>, <code>ZX_EVENT_SIGNALED</code>, etc)
and libraries (libzx in particular)."
full_description: ""
see_also: [""]
related_guides: [""]
area: ["Zircon"]
- term: "ZXDB"
short_description: "The native low-level system debugger."
full_description: ""
see_also: [""]
related_guides: ["<a href=\"/docs/development/debugger/README.md\">zxdb: The Fuchsia debugger</a>"]
area: ["Zircon"]