MicroXwin
Encyclopedia
MicroXwin is a windowing system
Windowing system
A windowing system is a component of a graphical user interface , and more specifically of a desktop environment, which supports the implementation of window managers, and provides basic support for graphics hardware, pointing devices such as mice, and keyboards...

 similar to the X Window System
X Window System
The X window system is a computer software system and network protocol that provides a basis for graphical user interfaces and rich input device capability for networked computers...

 (simply known as X). By a different architecture
Software architecture
The software architecture of a system is the set of structures needed to reason about the system, which comprise software elements, relations among them, and properties of both...

, it provides a faster graphical user interface backend than the original X Window System, while still preserving the compatibility with standard X11 applications. It also greatly reduces the size needed by the system in memory and disk resource usage.

Background

The GUI
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...

 of the X Window System is slower partly because it is designed in a client–server model. X is separated into two parts, the X server and multiple X clients. The X server is a single-threaded
Thread (computer science)
In computer science, a thread of execution is the smallest unit of processing that can be scheduled by an operating system. The implementation of threads and processes differs from one operating system to another, but in most cases, a thread is contained inside a process...

 process
Process (computing)
In computing, a process is an instance of a computer program that is being executed. It contains the program code and its current activity. Depending on the operating system , a process may be made up of multiple threads of execution that execute instructions concurrently.A computer program is a...

 which handles the requests from X clients to perform access and control to graphical and input devices. Some drawbacks have been noticed in this kind of configuration:
  1. There is a round-trip delay time
    Round-trip delay time
    In telecommunications, the round-trip delay time or round-trip time is the length of time it takes for a signal to be sent plus the length of time it takes for an acknowledgment of that signal to be received...

     between client and server (latency
    Latency (engineering)
    Latency is a measure of time delay experienced in a system, the precise definition of which depends on the system and the time being measured. Latencies may have different meaning in different contexts.-Packet-switched networks:...

     rather than from the protocol itself) when a synchronized request is issued.
  2. A context switch
    Context switch
    A context switch is the computing process of storing and restoring the state of a CPU so that execution can be resumed from the same point at a later time. This enables multiple processes to share a single CPU. The context switch is an essential feature of a multitasking operating system...

     is required to move between executing client code and server code, if they are running on the same machine.
  3. The client and server have to buffer and format commands and responses as per the X Window protocol.
  4. On processors with virtually addressed cache, such as ARM 9
    ARM architecture
    ARM is a 32-bit reduced instruction set computer instruction set architecture developed by ARM Holdings. It was named the Advanced RISC Machine, and before that, the Acorn RISC Machine. The ARM architecture is the most widely used 32-bit ISA in numbers produced...

    , context switching between an application and the X server results in a cache flush, further degrading performance.


Due to higher CPU usage, these drawbacks make the X Window System an unresponsive and slower GUI framework to the user in comparison with other windowing systems such as Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

 (up to and including Windows XP) and Quartz
Quartz (graphics layer)
Quartz specifically refers to a pair of Mac OS X technologies, each part of the Core Graphics framework: Quartz 2D and Quartz Compositor. It includes both a 2D renderer in Core Graphics and the composition engine that sends instructions to the graphics card...

.

Advantages

By contrast, the client–server architecture is abandoned in the design of MicroXwin. In MicroXwin, the X server is replaced by a kernel module x11.ko in the OS
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

 and dedicated libraries, LibX11.so and LibXext.so, compatible with Xlib
Xlib
Xlib is an X Window System protocol client library written in the C programming language. It contains functions for interacting with an X server. These functions allow programmers to write programs without knowing the details of the protocol...

 and are used by the X clients to interact with the kernel module. By the configuration, MicroXwin provides the following advantages:
  1. An improvement of 62% for asynchronous display or 384% for synchronous display of images of a 100x100 size.
  2. Scrolling a web page under MicroXwin is much faster and smoother.
  3. There are only about 300 Kbytes of kernel memory in use by the kernel module. X.Org server
    X.Org Server
    X.Org Server refers to the X server release packages stewarded by the X.Org Foundation,which is hosted by freedesktop.org, and grants...

    , however, has a run-time memory usage of 12MB.
  4. The smallest MicroXwin distribution can fit within 1 megabyte of disk space in contrast to the X.Org Server, which has a disk footprint of 1.8MB.


Rationale for advantages:
  1. Round trip and synchronized requests are even faster on MicroXwin.
  2. The round trip delay measured is much smaller.
  3. Kernel module x11.ko has higher priority than the user-space X server.
  4. Performance is independent of scheduling latency caused by the scheduler
    Scheduling (computing)
    In computer science, a scheduling is the method by which threads, processes or data flows are given access to system resources . This is usually done to load balance a system effectively or achieve a target quality of service...

    , because the X server is no longer a process in the system.

Drawbacks

MicroXwin is more suitable as the GUI for an embedded system
Embedded system
An embedded system is a computer system designed for specific control functions within a larger system. often with real-time computing constraints. It is embedded as part of a complete device often including hardware and mechanical parts. By contrast, a general-purpose computer, such as a personal...

 which is usually required to perform real-time
Real-time computing
In computer science, real-time computing , or reactive computing, is the study of hardware and software systems that are subject to a "real-time constraint"— e.g. operational deadlines from event to system response. Real-time programs must guarantee response within strict time constraints...

 tasks. However, there are still drawbacks that can easily be observed in this architecture:
  1. Network transparency no longer exists. X clients cannot connect to a remote terminal
    Computer terminal
    A computer terminal is an electronic or electromechanical hardware device that is used for entering data into, and displaying data from, a computer or a computing system...

     running MicroXwin without extra work.
  2. The library needs to be updated each time Xlib is changed in order to maintain compatibility.
  3. The additional kernel module x11.ko may crash the system if it is not well-designed or stable.


In addition to the above drawbacks, shape extension
Shape extension
In the X Window System, the X Nonrectangular Window Shape Extension allows windows to be given arbitrary, non-rectangular shapes.Two well-known applets that use the shape extension are oclock, which is a simple round analog clock, and xeyes, which shows two googly eyes that follow the cursor on the...

 is not supported before version 1.5. MicroXwin supports the shape extension starting from version 1.5.

See also

  • Wayland
    Wayland (display server)
    Wayland is a display server protocol for the Unix-like operating systems and a library for Linux implementing that protocol.Wayland provides a method for compositing window managers to communicate directly with applications and to communicate directly with video and input hardware...

     - lightweight replacement for the X Window System
  • Windowing system
    Windowing system
    A windowing system is a component of a graphical user interface , and more specifically of a desktop environment, which supports the implementation of window managers, and provides basic support for graphics hardware, pointing devices such as mice, and keyboards...

  • X Window System
    X Window System
    The X window system is a computer software system and network protocol that provides a basis for graphical user interfaces and rich input device capability for networked computers...


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK