{% import ‘docs/_common/_doc_widgets.md’ as widgets %}
<<../../_common/intro/_sandboxing_intro.md>>
<<../../_common/intro/_sandboxing_sandboxing.md>>
<<../../_common/intro/_sandboxing_namespaces.md>>
In this exercise, you‘ll explore the contents of a component’s namespace in more detail using the shell.
<<../_common/_start_femu.md>>
Fuchsia provides the Hub as a diagnostic interface to obtain information about component instances running on the system. You can explore the components and their namespaces using the hub's directory structure.
Connect to a device shell prompt and enter the following ls
command to list the components of the core
realm under /hub-v2/children/core/children
:
fx shell ls /hub-v2/children/core/children
activity appmgr brightness_manager bt-avrcp build-info ...
This is a list of many of the core Fuchsia system components. To see more details about a specific component, list its directory contents.
Try this for the http-client
component:
fx shell ls /hub-v2/children/core/children/network/children/http-client
children component_type debug deleting exec id resolved url
You‘ll find a running component’s namespace under the exec/in
path inside the hub.
fx shell ls /hub-v2/children/core/children/network/children/http-client/exec/in
config
pkg
svc
Here are some quick highlights of each element:
config/
: configuration data for the componentpkg/
: the contents of the component's packagesvc/
: system services available to the componentList the contents of the incoming svc/
directory. This directory contains service nodes representing the system services provided to this component.
fx shell ls /hub-v2/children/core/children/network/children/http-client/exec/in/svc
fuchsia.logger.LogSink fuchsia.net.name.Lookup fuchsia.posix.socket.Provider
Each of these services is accessible over a well-known protocol defined by a [Fuchsia Interface Definition Language (FIDL)][glossary.FIDL] interface. Components provide system services through their outgoing directory, which is mapped to the exec/out
path inside the hub.
List the contents of the outgoing svc/
directory to see the system services this component provides.
fx shell ls /hub-v2/children/core/children/network/children/http-client/exec/out/svc
fuchsia.net.http.Loader
We'll explore FIDL protocols and how to access various services in more detail later on.