mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-18 21:27:56 +00:00
Simplified image references in release notes
This commit is contained in:
parent
6bc2a44ba2
commit
500f02fa8d
@ -129,7 +129,7 @@ illustrated in Figure [img/layered_ipc], typification is done at the
|
|||||||
object-framework level on the server side and via in the 'Connection'
|
object-framework level on the server side and via in the 'Connection'
|
||||||
classes at the client side.
|
classes at the client side.
|
||||||
|
|
||||||
[image img/layered_ipc]
|
[image layered_ipc]
|
||||||
|
|
||||||
From the application-developer's perspective, working with capabilities
|
From the application-developer's perspective, working with capabilities
|
||||||
has now become type-safe, making the produced code more readable and robust.
|
has now become type-safe, making the produced code more readable and robust.
|
||||||
@ -216,7 +216,7 @@ properly communicated to the receiver even if the receiver is not highly
|
|||||||
responsive. Notifications do not carry any payload because this payload
|
responsive. Notifications do not carry any payload because this payload
|
||||||
would have to be queued at the transmitter.
|
would have to be queued at the transmitter.
|
||||||
|
|
||||||
[image img/signals]
|
[image signals]
|
||||||
|
|
||||||
Image [img/signals] illustrates the roles of signaller thread,
|
Image [img/signals] illustrates the roles of signaller thread,
|
||||||
transmitter, receiver, and signal-handler thread.
|
transmitter, receiver, and signal-handler thread.
|
||||||
@ -349,7 +349,7 @@ the base API and the interfaces defined in the 'os' repository. Figure
|
|||||||
[img/base_cap_types] provides an overview about the capability types
|
[img/base_cap_types] provides an overview about the capability types
|
||||||
provided by the base API.
|
provided by the base API.
|
||||||
|
|
||||||
[image img/base_cap_types]
|
[image base_cap_types]
|
||||||
Overview about the capability types provided by the base API
|
Overview about the capability types provided by the base API
|
||||||
|
|
||||||
Furthermore, we have complemented all session interfaces with
|
Furthermore, we have complemented all session interfaces with
|
||||||
@ -463,7 +463,7 @@ API from scratch by fully utilizing the existing Genode infrastructure
|
|||||||
such as the available structured data types, core's I/O services,
|
such as the available structured data types, core's I/O services,
|
||||||
the synchronization primitives, and the thread API.
|
the synchronization primitives, and the thread API.
|
||||||
|
|
||||||
[image img/dde_kit]
|
[image dde_kit]
|
||||||
|
|
||||||
Figure [img/signals] illustrates the role of DDE kit when re-using an
|
Figure [img/signals] illustrates the role of DDE kit when re-using an
|
||||||
unmodified device driver taken from the Linux kernel. DDE kit translates
|
unmodified device driver taken from the Linux kernel. DDE kit translates
|
||||||
|
@ -162,7 +162,7 @@ L4/Fiasco, and L4ka::Pistachio without any changes. Figure [img/qt4_screenshot]
|
|||||||
shows a screenshot of Qt's Tetrix example running side-by-side with native
|
shows a screenshot of Qt's Tetrix example running side-by-side with native
|
||||||
Genode applications.
|
Genode applications.
|
||||||
|
|
||||||
[image img/qt4_screenshot]
|
[image qt4_screenshot]
|
||||||
|
|
||||||
:Current state:
|
:Current state:
|
||||||
|
|
||||||
|
@ -319,7 +319,7 @@ example, BSD-based drivers shall transparently provide the same functionality
|
|||||||
as the current Linux drivers, which permits the simple reuse of driver server
|
as the current Linux drivers, which permits the simple reuse of driver server
|
||||||
implementations.
|
implementations.
|
||||||
|
|
||||||
[image img/usb_current]
|
[image usb_current]
|
||||||
|
|
||||||
Image [img/usb_current] illustrates the current implementation of the USB-based
|
Image [img/usb_current] illustrates the current implementation of the USB-based
|
||||||
human-interface device (HID) driver. In this monolithic setup, all parts of the
|
human-interface device (HID) driver. In this monolithic setup, all parts of the
|
||||||
@ -332,7 +332,7 @@ are
|
|||||||
attached devices, and registered drivers
|
attached devices, and registered drivers
|
||||||
* Host controller drivers for UHCI, OHCI, and EHCI
|
* Host controller drivers for UHCI, OHCI, and EHCI
|
||||||
|
|
||||||
[image img/usb_aspired]
|
[image usb_aspired]
|
||||||
|
|
||||||
We regard this as an intermediate step towards our goal to decompose the USB
|
We regard this as an intermediate step towards our goal to decompose the USB
|
||||||
stack. Image [img/usb_aspired] shows our aspired design. In this design, the
|
stack. Image [img/usb_aspired] shows our aspired design. In this design, the
|
||||||
|
@ -321,12 +321,12 @@ including the X Window System. The other instance booted a busybox-based
|
|||||||
RAM Disk and runs with just about 16 MB of RAM. Each Linux kernel uses
|
RAM Disk and runs with just about 16 MB of RAM. Each Linux kernel uses
|
||||||
a separate instance of the Liquid FB virtual frame buffer:
|
a separate instance of the Liquid FB virtual frame buffer:
|
||||||
|
|
||||||
[image img/tinycore_busybox_screen]
|
[image tinycore_busybox_screen]
|
||||||
|
|
||||||
The Genode process tree looks as follows (the figure omits usual Genode
|
The Genode process tree looks as follows (the figure omits usual Genode
|
||||||
components such as device drivers for PCI, PS/2, VESA, and the Timer):
|
components such as device drivers for PCI, PS/2, VESA, and the Timer):
|
||||||
|
|
||||||
[image img/tinycore_busybox]
|
[image tinycore_busybox]
|
||||||
|
|
||||||
The Linux Launcher node is just a slightly modified Init node with the only
|
The Linux Launcher node is just a slightly modified Init node with the only
|
||||||
difference being that requests for sessions to the Nitpicker GUI server or
|
difference being that requests for sessions to the Nitpicker GUI server or
|
||||||
@ -412,7 +412,7 @@ communication parties agree on a policy with regard to the organization of the
|
|||||||
communication buffer by specifying the same 'Packet_stream_policy' as template
|
communication buffer by specifying the same 'Packet_stream_policy' as template
|
||||||
argument.
|
argument.
|
||||||
|
|
||||||
[image img/packet_stream]
|
[image packet_stream]
|
||||||
|
|
||||||
As illustrated in the Figure above, the communication buffer consists of
|
As illustrated in the Figure above, the communication buffer consists of
|
||||||
three parts, a submit queue, an acknowledgement queue, and a bulk buffer.
|
three parts, a submit queue, an acknowledgement queue, and a bulk buffer.
|
||||||
@ -499,7 +499,7 @@ laid with the NIC-session interface.
|
|||||||
The following Figure illustrates the integration of a networking
|
The following Figure illustrates the integration of a networking
|
||||||
application with lwIP that uses the NIC-session interface as back end.
|
application with lwIP that uses the NIC-session interface as back end.
|
||||||
|
|
||||||
[image img/lwip]
|
[image lwip]
|
||||||
|
|
||||||
The port of the lwIP stack resides in the new 'libports' repository
|
The port of the lwIP stack resides in the new 'libports' repository
|
||||||
described in Section [New libports repository]. It comes with
|
described in Section [New libports repository]. It comes with
|
||||||
@ -794,7 +794,7 @@ program contained in the 'os/src/app/xvfb' directory. Because Xvfb is executed
|
|||||||
as Nitpicker client, it is possible to integrate multiple instances of Xvfb
|
as Nitpicker client, it is possible to integrate multiple instances of Xvfb
|
||||||
into the same Nitpicker session.
|
into the same Nitpicker session.
|
||||||
|
|
||||||
[image img/xvfb_screen]
|
[image xvfb_screen]
|
||||||
|
|
||||||
The scenario above uses two instances of Xvfb, which are displayed by the
|
The scenario above uses two instances of Xvfb, which are displayed by the
|
||||||
Nitpicker GUI server executed on Genode. Each Xvfb process is connected
|
Nitpicker GUI server executed on Genode. Each Xvfb process is connected
|
||||||
@ -802,7 +802,7 @@ to Genode via a xvfb adaptor program, which is hybrid using both the Linux
|
|||||||
API (for accessing the virtual frame buffer and performing its role as
|
API (for accessing the virtual frame buffer and performing its role as
|
||||||
X client) and the Genode API (for its role as Nitpicker client).
|
X client) and the Genode API (for its role as Nitpicker client).
|
||||||
|
|
||||||
[image img/xvfb]
|
[image xvfb]
|
||||||
|
|
||||||
|
|
||||||
:Preconditions for compiling:
|
:Preconditions for compiling:
|
||||||
|
@ -623,7 +623,7 @@ space. This portion is called thread-context area. Within the thread-context
|
|||||||
area, each thread has a fixed-sized slot, a thread context. The layout of each
|
area, each thread has a fixed-sized slot, a thread context. The layout of each
|
||||||
thread context looks as follows
|
thread context looks as follows
|
||||||
|
|
||||||
[image img/thread_context]
|
[image thread_context]
|
||||||
|
|
||||||
; lower address
|
; lower address
|
||||||
; ...
|
; ...
|
||||||
@ -820,7 +820,7 @@ limit (this is the case for OKL4 and Pistachio), this configuration should
|
|||||||
result in the following assignments of physical priorities to process-tree
|
result in the following assignments of physical priorities to process-tree
|
||||||
nodes:
|
nodes:
|
||||||
|
|
||||||
[image img/priorities]
|
[image priorities]
|
||||||
|
|
||||||
The red marker shows the resulting priority of the corresponding process.
|
The red marker shows the resulting priority of the corresponding process.
|
||||||
|
|
||||||
|
@ -987,7 +987,7 @@ that this program must be build for a Linux host platformm using a separate
|
|||||||
build directory. This build directory must use the 'base-host' repository and
|
build directory. This build directory must use the 'base-host' repository and
|
||||||
extend the 'SPECS' variable with 'x11', 'xtest', and 'xdamage'.
|
extend the 'SPECS' variable with 'x11', 'xtest', and 'xdamage'.
|
||||||
|
|
||||||
[image img/red_green_screenshot]
|
[image red_green_screenshot]
|
||||||
|
|
||||||
The screenshot shows two Linux instances and the native launchpad application
|
The screenshot shows two Linux instances and the native launchpad application
|
||||||
seamlessly integrated into a single GUI. We slightly modified nitpicker to tint
|
seamlessly integrated into a single GUI. We slightly modified nitpicker to tint
|
||||||
@ -1018,7 +1018,7 @@ Even though compared with other browsers, its popularity is relatively small
|
|||||||
but for us, it is perfect to stretch the bounds of our Genode infrastructure.
|
but for us, it is perfect to stretch the bounds of our Genode infrastructure.
|
||||||
The following screenshot shows Arora running as native Genode process.
|
The following screenshot shows Arora running as native Genode process.
|
||||||
|
|
||||||
[image img/arora_screenshot]
|
[image arora_screenshot]
|
||||||
|
|
||||||
Porting Arora to Genode motivated many improvements of our C library, the Qt4
|
Porting Arora to Genode motivated many improvements of our C library, the Qt4
|
||||||
port, and the lwIP stack. In the current state, the application is fully
|
port, and the lwIP stack. In the current state, the application is fully
|
||||||
|
@ -104,7 +104,7 @@ The following figure gives an overview of how the components of the graphics
|
|||||||
software stack relate to each other. The components are described in the
|
software stack relate to each other. The components are described in the
|
||||||
following.
|
following.
|
||||||
|
|
||||||
[image img/gallium3d]
|
[image gallium3d]
|
||||||
|
|
||||||
|
|
||||||
EGL driver
|
EGL driver
|
||||||
@ -123,7 +123,7 @@ interface. For Genode, we have added a new EGL driver that uses Genode's
|
|||||||
part of 'gallium.lib.so'. The following screenshot shows the EGL driver
|
part of 'gallium.lib.so'. The following screenshot shows the EGL driver
|
||||||
in action.
|
in action.
|
||||||
|
|
||||||
[image img/gallium_softpipe_screen]
|
[image gallium_softpipe_screen]
|
||||||
|
|
||||||
|
|
||||||
Gallium i915 GPU driver
|
Gallium i915 GPU driver
|
||||||
|
@ -684,7 +684,7 @@ programs that run isolated from the Qt4 application, and thereby depend on
|
|||||||
on a significantly less complex trusted computing base than the Qt4
|
on a significantly less complex trusted computing base than the Qt4
|
||||||
application itself.
|
application itself.
|
||||||
|
|
||||||
[image img/nitpicker_plugin]
|
[image nitpicker_plugin]
|
||||||
|
|
||||||
The image above illustrates the use of the 'QNitpickerViewWidget' in the
|
The image above illustrates the use of the 'QNitpickerViewWidget' in the
|
||||||
scenario presented on the Live CD. The browser obtains the Nitpicker view to be
|
scenario presented on the Live CD. The browser obtains the Nitpicker view to be
|
||||||
@ -708,7 +708,7 @@ to implement on a classical OS but is a breeze to realize on Genode where all
|
|||||||
device drivers and protocol stacks are running as distinct user-level
|
device drivers and protocol stacks are running as distinct user-level
|
||||||
components. The following figure illustrates the idea:
|
components. The following figure illustrates the idea:
|
||||||
|
|
||||||
[image img/http_block]
|
[image http_block]
|
||||||
|
|
||||||
The block stub driver of the Linux kernel gets connected to a special block
|
The block stub driver of the Linux kernel gets connected to a special block
|
||||||
driver called 'http_block', which does not access a real block device but
|
driver called 'http_block', which does not access a real block device but
|
||||||
|
@ -84,7 +84,7 @@ until now, Vancouver has been tied to a specialized user land that comes with
|
|||||||
NOVA. For the current Genode release, we took the chance to adopt this
|
NOVA. For the current Genode release, we took the chance to adopt this
|
||||||
technology for Genode.
|
technology for Genode.
|
||||||
|
|
||||||
[image img/vancouver]
|
[image vancouver]
|
||||||
The Vancouver virtual machine monitor executed as Genode
|
The Vancouver virtual machine monitor executed as Genode
|
||||||
component
|
component
|
||||||
|
|
||||||
@ -126,7 +126,7 @@ Genode.
|
|||||||
:[http://l4android.org]:
|
:[http://l4android.org]:
|
||||||
L4Android project website
|
L4Android project website
|
||||||
|
|
||||||
[image img/l4android]
|
[image l4android]
|
||||||
Android, a Linux distribution, and a process tree of Genode
|
Android, a Linux distribution, and a process tree of Genode
|
||||||
components running side by side
|
components running side by side
|
||||||
|
|
||||||
@ -149,7 +149,7 @@ without changing the original source code of the UNIX programs. This work is
|
|||||||
primarily motivated by our ongoing mission to use Genode as development
|
primarily motivated by our ongoing mission to use Genode as development
|
||||||
environment.
|
environment.
|
||||||
|
|
||||||
[image img/noux]
|
[image noux]
|
||||||
The Noux runtime environment for UNIX software. The program is linked
|
The Noux runtime environment for UNIX software. The program is linked
|
||||||
against a custom libc plugin that directs system calls over an RPC
|
against a custom libc plugin that directs system calls over an RPC
|
||||||
interface to the Noux server. The RPC interface resembles a
|
interface to the Noux server. The RPC interface resembles a
|
||||||
@ -217,7 +217,7 @@ line with Genode's architecture but capitalizes it. Instead of adding
|
|||||||
special debugging interfaces to low-level components such as the kernel
|
special debugging interfaces to low-level components such as the kernel
|
||||||
and core, we use an approach that we call application-level virtualization.
|
and core, we use an approach that we call application-level virtualization.
|
||||||
|
|
||||||
[image img/no_gdb]
|
[image no_gdb]
|
||||||
A Genode process uses low-level services provided by core as well as a
|
A Genode process uses low-level services provided by core as well as a
|
||||||
higher-level service implemented as separate process component.
|
higher-level service implemented as separate process component.
|
||||||
|
|
||||||
@ -229,7 +229,7 @@ directly for those services but requests them via its chain of parents (i.e,
|
|||||||
the init process). This gives us the opportunity to route session requests for
|
the init process). This gives us the opportunity to route session requests for
|
||||||
those services to alternative implementations.
|
those services to alternative implementations.
|
||||||
|
|
||||||
[image img/gdb]
|
[image gdb]
|
||||||
GDB monitor transparently intercepts the interaction of a Genode process with
|
GDB monitor transparently intercepts the interaction of a Genode process with
|
||||||
its environment. By virtualizing fundamental core services, GDB monitor
|
its environment. By virtualizing fundamental core services, GDB monitor
|
||||||
exercises full control over the debugging target. GDB monitor, in turn,
|
exercises full control over the debugging target. GDB monitor, in turn,
|
||||||
|
Loading…
Reference in New Issue
Block a user