# 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>."
  see_also: ["<a href=\"/docs/concepts/testing/testing_isolated_cache_storage.md\">Testing isolated cache storage</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: "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", "Graphics"]

- 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: ["Graphics"]

- 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: ["FIDL", "Graphics"]

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

- 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\">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/concepts/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", "Graphics", "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: ["FIDL", "Graphics"]

- 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/concepts/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/concepts/build_system/bringup.md\">Bringup Product Definition</a>"]
  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: ["Graphics"]

- 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: ["FIDL", "Graphics"]

- 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: ["Graphics","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: ["FIDL", "Graphics"]

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

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

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

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

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

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

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