# 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 A/B/R slot logic."
  full_description: "<p>Fuchsia uses a bootloader A/B/R slot logic. 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/development/packages/ota.md\">OTA updates</a>"]
  related_guides: [""]
  area: ["System", "Zircon"]

- term: "Agent"
  short_description: "An agent is a role a component can play to execute in the background in the
  context of a session."
  full_description: "<p>A <a href=\"/docs/development/modular/overview.md#extension_points\">Modular</a> concept
  that is being deprecated.</p>
  <p>An agent is a role a <a href=\"/docs/glossary#component\">component</a> can play to execute
  in the background in the context of a <a href=\"/docs/glossary#session\">session</a>.
  Agents are always a singleton within a session, and provide services to other components.</p>"
  see_also: ["<a href=\"/docs/development/modular/overview.md#extension_points\">Agents</a>"]
  related_guides: [""]
  area: ["Session", "Component Framework"]

- term: "Appmgr"
  short_description: "Launches v1 components and manages the namespaces in which those components run."
  full_description: "The Application Manager (AppMgr) is responsible for launching
  <a href=\"/docs/glossary#components-v1\">v1 components</a> and managing the namespaces in
  which those components run. It is run by <a href=\"/docs/glossary#component-manager\">component manager</a>
  as a <a href=\"/docs/glossary#components-v2\">v2 component</a>."
  see_also: [""]
  related_guides: [""]
  area: ["Component Framework"]

- 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: "Binding"
  short_description: "In v2 components, a component instance binds to component instances that provided
  capabilities."
  full_description: "In Components v2, a
  <a href=\"/docs/glossary#component-instance\">component instance</a>
  binds to another component instance when it connects to a capability provided by the other
  component instance. This is the most common reason for a component to start."
  see_also: [""]
  related_guides: [""]
  area: ["Component Framework"]

- 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: "Bus driver"
  short_description: "A driver 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."
  see_also: [""]
  related_guides: [""]
  area: ["System", "Devices"]

- term: "Cache directory"
  short_description: "A private directory, that may be cleared by thge 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 thge 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: "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: "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: "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."
  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 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=\"/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>, and
  <a href=\"/docs/glossary#component-manifest-facet\">facets</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: "One of possibly many instances of a particular
  <a href=\"/docs/glossary#component\">components</a> 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: "Component instance tree is a <a href=\"/docs/concepts/components/v2/introduction.md\">components v2</a> concept. 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
  <a href=\"/docs/glossary#components-v2\">components v2</a> 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>."
  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 ending with a <code>.cml</code> extension
  that describes a component and its capabilities. For legacy components,
  this is a <code>.cmx</code> file."
  full_description: "In <a href=\"/docs/glossary#components-v2\">components v2</a>,
  a component manifest is a file with a <code>.cml</code> extension, that encodes
  a <a href=\"/docs/glossary#component-declaration\">component declaration</a>.

  <p>For <a href=\"/docs/glossary#components-v1\">legacy components</a>, this is
  a JSON file with a <code>.cmx</code> extension that contains information about
  a <a href=\"/docs/glossary#component\">component</a>’s runtime configuration,
  services and directories it receives in its <a href=\"/docs/glossary#namespace\">namespace</a>,
  and <a href=\"/docs/glossary#component-manifest-facet\">facets</a>.</p>"
  see_also: ["<a href=\"/docs/concepts/components/v1/component_manifests.md\">Legacy component manifests</a>",
             "<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/v1/component_manifests.md\">Legacy component manifests</a>",
             "<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."
  full_description: "<a href=\"/docs/concepts/components/component_urls.md\">URL</a>
  that identifies a component, most often used when instantiating a component, for 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: "Components v1"
  short_description: "The legacy component architecture of Fuchsia."
  full_description: "A shorthand for the legacy
  <a href=\"/docs/glossary#component\">component</a> architecture.
  Includes a runtime as implemented by <a href=\"/docs/glossary#appmgr\">appmgr</a>
  and <a href=\"/docs/glossary#sysmgr\">sysmgr</a>, protocols and types as defined in
  <a href=\"/sdk/fidl/fuchsia.sys/\">fuchsia-sys</a>, build-time tools such as
  <a href=\"/tools/cmc\">cmc</a>, and IDK libraries such as
  <a href=\"/sdk/lib/sys\">libsys</a> and <a href=\"/sdk/lib/svc\">libsvc</a>."
  see_also: ["<a href=\"/docs/glossary#components-v2\">Components v2</a>"]
  related_guides: [""]
  area: ["Component Framework"]

- term: "Components v2"
  short_description: "The modern component architecture of Fuchsia."
  full_description: "A shorthand for the
  <a href=\"/docs/glossary#component\">component</a> architecture in its modern
  implementation. Includes a runtime as implemented by
  <a href=\"/docs/glossary#component-manager\">component_manager</a>, protocols
  and types as defined in <a href=\"/sdk/fidl/fuchsia.sys2/\">fuchsia.sys2</a>,
  and build-time tools such as <a href=\"/docs/reference/tools/sdk/cmc\">cmc</a>."
  see_also: ["<a href=\"/docs/glossary#components-v1\">Components v1</a>"]
  related_guides: [""]
  area: ["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"]

- 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"]

- 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: "Directory capability"
  short_description: "A
  <a href=\"/docs/glossary#components-v2\">Components v2</a> concept. 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#components-v2\">Components v2</a>concept. 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: "Driver"
  short_description: "A driver is a dynamic shared library that
  <a href=\"/docs/glossary#driver-manager\">driver manager</a> can
  load into a <a href=\"/docs/glossary#driver-host\">driver-host</a> and that enables, and
  controls one or more devices."
  full_description: ""
  see_also: ["<a href=\"/docs/development/drivers/developer_guide/driver-development.md\">Fuchsia driver development</a>",
             "<a href=\"/src/devices\">Driver source code</a>"]
  related_guides: [""]
  area: ["System", "Devices"]

- 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"]

- 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"]

- term: "Element"
  short_description: "A component added to a session dynamically through the FIDL
  <code>ElementManager</code> protocol."
  full_description: "A <a href=\"/docs/glossary#component\">component</a> added to a
  <a href=\"/docs/glossary#session\">session</a> dynamically through the
  <a href=\"/docs/glossary#fidl\">fidl</a> protocol
  <a href=\"/docs/glossary#element-manager\"><code>ElementManager</code></a>. In addition
  to the properties common to all components, elements are also annotated by element proposers.
  Those annotations are shared with other components within the session. It is the session's
  responsibility to manage the lifecycle of elements."
  see_also: ["<a href=\"/docs/concepts/session/element.md\">Elements</a>",
             "<a href=\"/docs/glossary#session-framework\">Session framework</a>"]
  related_guides: [""]
  area: ["Session", "Component Framework"]

- term: "Element annotation"
  short_description: "A collection of named attributes associated with an
  <a href=\"/docs/glossary#element\">element</a>."
  full_description: "A <a href=\"/docs/glossary#fidl\">fidl</a> struct. A collection of
  named attributes associated with an <a href=\"/docs/glossary#element\">element</a>.
  Annotations are specified at element creation time by
  <a href=\"/docs/glossary#element-proposer\">element proposers</a> and remain mutable for
  the lifetime of the element."
  see_also: ["<a href=\"/docs/concepts/session/element.md\">Elements</a>",
             "<a href=\"/docs/glossary#session-framework\">Session framework</a>"]
  related_guides: [""]
  area: ["Session", "Component Framework", "FIDL"]

- term: "Element manager"
  short_description: " A protocol used to grant <a href=\"/docs/glossary#session\">session</a>
  sub-components the capability to ask for
  <a href=\"/docs/concepts/session/element.md\">elements</a> to be added to the product
  experience at runtime."
  full_description: "A <a href=\"/docs/glossary#fidl\">fidl</a> protocol.
  A protocol used to grant <a href=\"/docs/glossary#session\">session</a> sub-components
  the capability to ask for <a href=\"/docs/concepts/session/element.md\">elements</a>
  to be added to the product experience at runtime."
  see_also: ["<a href=\"https://fuchsia.dev/reference/fidl/fuchsia.element#Manager\">fuchsia.session.ElementManager</a>",
             "<a href=\"/docs/glossary#session-framework\">Session framework</a>",
             "<a href=\"/docs/concepts/session/element.md\">Elements</a>"]
  related_guides: [""]
  area: ["Session", "Component Framework", "FIDL"]

- term: "Element proposer"
  short_description: "A way to refer to any <a href=\"/docs/glossary#component\">component</a>
  that invokes the ProposeElement() method on
  <a href=\"/docs/glossary#element-manager\"><code>Element manager</code></a>
  to launch a specific <a href=\"/docs/glossary#element\">element</a> in a
  <a href=\"/docs/glossary#session\">session</a>."
  full_description: ""
  see_also: ["<a href=\"/docs/glossary#session-framework\">Session framework</a>",
             "<a href=\"/docs/concepts/session/element.md\">Elements</a>"]
  related_guides: [""]
  area: ["Session", "Component Framework"]

- 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: "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: "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=\"/src/lib/ddk/include/ddk/\">FDF includes</a>"]
  related_guides: [""]
  area: ["System", "Zircon"]

- term: "fdio"
  short_description: "The Zircon IO library."
  full_description: "The Zircon IO library. 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."
  see_also: ["<a href=\"/sdk/lib/fdio/\">fdio source code</a>"]
  related_guides: [""]
  area: [""]

- 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: "Flutter"
  short_description: "A functional-reactive user interface framework optimized for Fuchsia and is
  used by many system components."
  full_description: "A functional-reactive user interface framework optimized for Fuchsia and is
  used by many system components. Flutter also runs on a variety of other platforms, including Android and iOS. Fuchsia
  itself does not require you to use any particular language or user interface
  framework."
  see_also: ["<a href=\"http://flutter.dev\">flutter.dev</a>"]
  related_guides: [""]
  area: ["General", "Flutter"]

- 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>echo_client_dart.cmx</code> published under the package <code>echo_dart</code>'s
  <code>meta</code> directory, from the <code>fuchsia.com</code> repository, its URL is
  <code>fuchsia-pkg://fuchsia.com/echo_dart#meta/echo_client_dart.cmx</code>."
  see_also: ["<a href=\"/docs/concepts/packages/package_url.md\">Fuchsia package URLs</a>"]
  related_guides: [""]
  area: ["Component Framework", "System"]

- term: "Fuchsia IDK"
  short_description: "The Fuchsia IDK (integrator development kit) is a collection of libraries and
  tools that the Fuchsia project provides to Fuchsia developers."
  full_description: "Among other things, the Fuchsia IDK contains a
  definition of the <a href=\"/docs/glossary#fuchsia-system-interface\">Fuchsia System Interface</a>
  as well as a number of client libraries. The IDK is targeted at development environment integrators
  that add environment specific tooling specific to the build
environment to form a full <a href=\"/docs/glossary#fuchsia-sdk\">Fuchsia SDK</a>."
  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: "The Fuchsia SDK is produced from the <a href=\"/docs/glossary#fuchsia-idk\">Fuchsia IDK</a>
  by adding integrations with build systems and language runtimes."
  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 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: "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>",
             "<a href=\"/docs/glossary#session-framework\">Session framework</a>",
             "<a href=\"/docs/concepts/session/graphical_presenter.md\">Graphical Presenter component role</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: "Hub"
  short_description: "A portal for tools to access detailed structural information about
  component instances at runtime, such as their names, job and process ids, and
  exposed capabilities."
  full_description: ""
  see_also: ["<a href=\"/docs/concepts/components/v2/hub.md\">Hub</a>"]
  related_guides: [""]
  area: ["Component Framework"]

- 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: "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 pipeline client library"
  short_description: "A client library available to <a href=\"/docs/glossary#session\">session</a>
  authors to simplify the consumption and routing of input events from physical hardware."
  full_description: ""
  see_also: ["<a href=\"/docs/concepts/session/input.md\">Input client library</a>",
             "<a href=\"/docs/glossary#session-framework\">Session framework</a>"]
  related_guides: [""]
  area: ["Session", "Devices"]

- term: "InputDeviceBinding"
  short_description: "A Rust trait in the
  <a href=\"/docs/glossary#input-pipeline-client-library\">input pipeline client library</a>."
  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: ["<a href=\"/docs/glossary#session-framework\">Session framework</a>"]
  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=\"/src/ui/lib/input/src/input_device.rs\"><code>enum InputDeviceDescriptor</code></a>",
             "<a href=\"/docs/glossary#session-framework\">Session framework</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: ["<a href=\"/docs/glossary#session-framework\">Session framework</a>"]
  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: ["<a href=\"/docs/glossary#session-framework\">Session framework</a>"]
  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: ["<a href=\"/docs/glossary#session-framework\">Session framework</a>"]
  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>",
             "<a href=\"/docs/glossary#session-framework\">Session framework</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>"]
  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: "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: "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: "Module"
  short_description: "A role a <a href=\"/docs/glossary#component\">component</a>
  can play to contribute UI to a user experience container (story) within a Modular session."
  full_description: "A <a href=\"/concepts/modular/overview.md\">Modular</a> concept that is being
  deprecated. Any component that exports a Scenic <code>ViewProvider</code> can be be used as a module."
  see_also: ["<a href=\"/docs/concepts/modular/module.md\">Module concepts</a>"]
  related_guides: [""]
  area: ["Modular"]

- term: "Moniker"
  short_description: "Identifies a specific component instance in the component
  tree using a topological path."
  full_description: "A v1 component's moniker is defined as a tuple of (path to the component's
  <a href=\"/docs/glossary#realm\">realm</a>, component URL).
  <p>A v2 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>.</p>"
  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: "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: "OpaqueTest"
  short_description: "A Rust client-side library that sets up hermetic tests for a v2
  component."
  full_description: ""
  see_also: [""]
  related_guides: ["<a href=\"/docs/concepts/components/v2/opaque_test.md\">Hermetic testing using OpaqueTest</a>"]
  area: ["Component Framework", "Testing"]

- 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>."
  see_also: [""]
  related_guides: [""]
  area: ["System", "Component Framework"]

- 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: "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: "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 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 that are needed to run a product, excluding tools and APIs found in the SDK."
  full_description: "Artifacts include, but are not limited to, the product image and packages associated with it.  Metadata for the product bundle was originally specified in <a
href=\"docs/contribute/governance/rfcs/0100_product_metadata\">RFC-0100</a>."
  see_also: ["<a href=\"/docs/glossary#product\">Product</a>",
             "<a href=\"/docs/glossary#product-owner\">Product Owner</a>"]
  related_guides: [""]
  area: ["System"]

- 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: "<p>In <a href=\"/docs/glossary#components-v1\">components v1</a>, a component may access a protocol (called a
  service in v1) from its <a href=\"/docs/glossary#environment\">environment</a> through its
  <a href=\"/docs/glossary#namespace\">namespace</a>by naming the protocol in its services
  allowlist.</p>
  <p>In <a href=\"/docs/glossary#components-v2\">components v2</a>, a protocol is used and routed to other
  components as a <a href=\"/docs/glossary#protocol-capability\">protocol capability</a>.</p>"
  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>",
             "<a href=\"/docs/glossary#components-v2\">Components v2</a>"]
  related_guides: ["<a href=\"/docs/concepts/components/v2/capabilities/protocol.md\">Protocol capabilities</a>"]
  area: ["Component Framework"]

- term: "Realm"
  short_description: "In <a href=\"/docs/glossary#components-v1\">Components v1</a>, realm
  is synonymous to <a href=\"/docs/glossary#environment\">environment</a>. In
  <a href=\"/docs/glossary#components-v2\">Components v2</a>, a realm is a subtree of
  component instances in the <a href=\"/docs/glossary#component-instance-tree\">component instance tree</a>.
  It 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: "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: "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 Dart AOT runner, the Chromium
  web 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/runners.md\">Component runner</a>"]
  related_guides: [""]
  area: ["Component Framework", "System"]

- term: "Scenic"
  short_description: "A system service that composes graphical objects from multiple
  processes into a shared scene graph."
  full_description: "Scenic includes views, input, compositor, and GPU services."
  see_also: [""]
  related_guides: [""]
  area: ["UI"]

- 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"]

- 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>",
             "<a href=\"/docs/glossary#components-v2\">Components v2</a>"]
  related_guides: ["<a href=\"/docs/concepts/components/v2/capabilities/service.md\">Service capabilities</a>"]
  area: ["Component Framework"]

- term: "Session"
  short_description: "A session is a component that encapsulates a product’s user
  experience."
  full_description: "A session is the first product-specific component started on boot after the
  <a href=\"/docs/glossary#session-manager\">session manager</a>. Sessions typically utilize
  aspects of the <a href=\"/docs/glossary#session-framework\">session framework</a> during
  their development, in automated testing, and at runtime. At runtime, there is only one session
  component, but it can be composed of many sub-components. For example, the session for a graphical
  product instantiates Scenic (graphics) as a child component."
  see_also: ["<a href=\"/docs/glossary#component\">Component</a>",
             "<a href=\"/docs/glossary#session-framework\">Session framework</a>"]
  related_guides: [""]
  area: ["Session", "Component Framework"]

- term: "Session framework"
  short_description: "A framework for building products on Fuchsia."
  full_description: "The framework provides software libraries, FIDL protocols, developer tools,
  and standards that are composed to create a particular product’s user experience."
  see_also: ["<a href=\"/docs/concepts/session/introduction.md\">Session framework</a>"]
  related_guides: [""]
  area: ["Session"]

- 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\">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#Launche\"><code>fuchsia.session.Launcher</code></a>",
             "<a href=\"/docs/glossary#session-framework\">Session framework</a>"]
  related_guides: [""]
  area: ["FIDL", "Session"]

- term: "Session manager"
  short_description: "The platform component, that starts late in the Fuchsia boot sequence, that
  manages the lifecycle of the <a href=\"/docs/glossary#session\">session</a>."
  full_description: "The session
  manager defines the set of system capabilities provided to sessions at runtime."
  see_also: ["<a href=\"/docs/glossary#session-framework\">Session framework</a>"]
  related_guides: [""]
  area: ["Session"]

- 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>

  Storage capability is a <a href=\"/docs/glossary#components-v2\">components v2</a> concept."
  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: "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: "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/development/graphics/scenic/concepts/view_bounds\">View bounds</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 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 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=\"/zircon/system/public/zircon/boot/image.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: "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=\"/zircon/README.md\">Zircon documentation</a>",
             "<a href=\"/docs/concepts/kernel/concepts.md\">Zircon concepts</a>",
             "<a href=\"/zircon/\">Source code</a>"]
  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"]
