In computing, xterm is the standard terminal emulator for the X Window System. A user can have many different invocations of xterm running at once on the same display, each of which provides independent input/output for the process running in it. Xterm originated prior to the X Window System, it was written as a stand-alone terminal emulator for the VAXStation 100 by Mark Vandevoorde, a student of Jim Gettys, in the summer of 1984, when work on X started. It became clear that it would be more useful as part of X than as a standalone program, so it was retargeted to X; as Gettys tells the story, "part of why xterm's internals are so horrifying is that it was intended that a single process be able to drive multiple VS100 displays."After many years as part of the X reference implementation, around 1996 the main line of development shifted to XFree86, it is now maintained by Thomas Dickey. Many xterm variants are available. Most terminal emulators for X started as variations on xterm. Early versions emulated the VT102 and Tektronix 4014.
Versions added control sequences for DEC and other terminals such as: VT220: Added in patch 24. VT320: Added in patch 24. VT420: DECSTR was added in patch 34. VT520: Although not emulated, parts of VT520 features were implemented. Controls DECSMBV and DECSWBV for setting the margin- and warning-bell volume was added in patch 254; as with most X applications, xterm can be customized via global X resources files, per-user resource files, or command-line arguments. Most of the command-line options correspond to resource settings. While the name of the program is xterm, the X resource class is XTerm; the uxterm script overrides this. Xterm does not have a menu bar. To access xterm's three menus, users hold the control key and press the left, middle, or right mouse button. Support for a "toolbar" can be compiled-in. Supported terminal control functions include: ANSI X3.64 Digital Equipment Corporation VT family:VT52 VT102 VT220Tektronix family:Tektronix 4014In addition to protocols used in commercially available terminal machines, xterm added a few protocols that have been adopted by other terminal emulators, such as: Mouse tracking: Support for buttons 4 and 5 was added in patch 120.
16-colour terminal protocol: Added in patch 39. 256 colors terminal protocol: Added in patch 111. 88-colour terminal protocol: Added in patch 115. Custom colour palette: Ability to specifying the RGB values for palette entries was added in patch 111. Comparison of terminal emulators luit, a character set converter invoked automatically by xterm when necessary Vttest, vt100/vt220/xterm test utility Official website This article is based on material taken from the Free On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later
Wayland (display server protocol)
Wayland is a computer protocol that specifies the communication between a display server and its clients, as well as a reference implementation of the protocol in the C programming language. A display server using the Wayland protocol is called a Wayland compositor. Wayland is developed by a group of volunteers led by Kristian Høgsberg as a free and open community-driven project with the aim of replacing the X Window System with a modern, simpler windowing system in Linux and other Unix-like operating systems; the project's source code is published under the terms of the MIT License, a permissive free software licence. As part of its efforts, the Wayland project develops a reference implementation of a Wayland compositor called Weston. In recent years, Linux desktop graphics has moved from having "a pile of rendering interfaces... all talking to the X server, at the center of the universe" towards putting the Linux kernel and its components "in the middle", with "window systems like X and Wayland... off in the corner".
This will be "a much-simplified graphics system offering more flexibility and better performance". Kristian Høgsberg could have added an extension to X as many recent projects have done, but preferred to " X out of the hotpath between clients and the hardware" for reasons explained in the project's FAQ: What’s different now is that a lot of infrastructure has moved from the X server into the kernel or libraries, there is little left that has to happen in a central server process.... A tremendous amount of functionality that you must support to claim to speak the X protocol, yet nobody will use this.... This includes code tables, glyph rasterization and caching, XLFDs, the entire core rendering API that lets you draw stippled lines, wide arcs and many more state-of-the-1980s style graphics primitives. For many things we've been able to keep the X.org server modern by adding extension such as XRandR, XRender and COMPOSITE... With Wayland we can move the X server and all its legacy technology to an optional code path.
Getting to a point where the X server is a compatibility option instead of the core rendering system will take a while, but we'll never get there if don’t plan for it. Wayland consists of a reference implementation named Weston; the project is developing versions of GTK+ and Qt that render to Wayland instead of to X. Most applications are expected to gain support for Wayland through one of these libraries without modification to the application. Initial versions of Wayland have not provided network transparency, though Høgsberg noted in 2010 that network transparency is possible, it was not successful. Adam Jackson has envisioned providing remote access to a Wayland application by either "pixel-scraping" or getting it to send a "rendering command stream" across the network; as of early 2013, Høgsberg is experimenting with network transparency using a proxy Wayland server which sends compressed images to the real compositor. In August 2017, GNOME saw the first such pixel-scraping VNC server implementation under Wayland.
Wayland protocol follows a client–server model in which clients are the graphical applications requesting the display of pixel buffers on the screen, the server is the service provider controlling the display of these buffers. The Wayland reference implementation has been designed as a two-layer protocol: A low-level layer or wire protocol that handles the inter-process communication between the two involved processes—client and compositor—and the marshalling of the data that they interchange; this layer is message-based and implemented using the kernel IPC services Unix domain sockets in the case of Linux and Unix-like operating systems.:9 A high-level layer built upon it, that handles the information that client and compositor need to exchange to implement the basic features of a window system. This layer is implemented as "an asynchronous object-oriented protocol".:9While the low-level layer was written manually in C, the high-level layer is automatically generated from a description of the elements of the protocol stored in XML format.
Every time the protocol description of this XML file changes, the C source code that implements such protocol can be regenerated to include the new changes, allowing a flexible and error-proof protocol. The reference implementation of Wayland protocol is split in two libraries: a library to be used by Wayland clients called libwayland-client and a library to be used by Wayland compositors called libwayland-server.:57 The Wayland protocol is described as an "asynchronous object-oriented protocol".:9 Object-oriented means that the services offered by the compositor are presented as a series of objects living on the same compositor. Each object implements an interface which has a name, a number of methods as well as several associated events; every request and event has each one with a name and a data type. The protocol is asynchronous in the sense that requests do not have to wait for synchronized replies or ACKs, avoiding round-trip delay time and achieving improved performance; the Wayland clients can make a request on some object if the object's interface supports that request.
The client must supply the required data for the arguments of such request. This is the way; the compositor in turn sends information back to the client by causing t
XDarwin was a display server supporting the X Window System ported to run on the Mac OS X and Darwin operating systems. It permitted the use of programs written for X11 on those operating systems. XDarwin was ported by the XonX project, an offshoot project created by XFree86 developers, it is integrated in the upstream source code of the XFree86 and Xorg servers, where it is maintained. XDarwin required an X window manager to run. For this task, a window manager called. More recent versions of XDarwin can run in rootless mode, to say that it integrates with the native window manager instead of requiring such a program for X. Before the introduction of Apple's X11.app, XDarwin was the only X11 server available for OS X. According to the XonX project, X11.app itself contains code from XDarwin. Programs such as OpenOffice.org use XDarwin to run in the X11 windowing environment, either in a rootless or full-screen mode. A version of the program was created for Mac OS X Panther or higher that runs in the native Aqua interface.
MacX – X11 support on Classic Mac OS X.org – Official home of the X Window System X on Darwin and Mac OS X from X11R7.0 documentation XonX project OroborOSX
OS X Mountain Lion
OS X Mountain Lion is the ninth major release of OS X, Apple Inc.'s desktop and server operating system for Macintosh computers. OS X Mountain Lion was released on July 25, 2012 for purchase and download through Apple's Mac App Store, as part of a switch to releasing OS X versions online and every year, rather than every two years or so. Named to signify its status as a refinement of the previous Mac OS X version, Apple's stated aims in developing Mountain Lion were to allow users to more manage and synchronise content between multiple Apple devices and to make the operating system more familiar; the operating system gained the new malware-blocking system Gatekeeper and integration with Apple's online Game Center and iCloud services, while the Safari web browser was updated to version 6. As on iOS, Notes and Reminders became full applications, separate from Mail and Calendar, while the iChat application was replaced with a version of iOS's Messages. Mountain Lion added a version of iOS's Notification Center, which groups updates from different applications in one place.
Integrated links allowing the user to transfer content to Twitter were present in the operating system from launch. Facebook integration was planned but unfinished at launch date, it was released as a downloadable update later. OS X Mountain Lion received positive reviews, with critics praising Notification Center and speed improvements over Mac OS X Lion, while criticizing iCloud for unreliability and Game Center for lack of games. Mountain Lion sold three million units in the first four days, has sold 28 million units as of June 10, 2013, making it Apple's most popular OS X release. Mountain Lion was the last paid upgrade for an OS X major release, with OS X Mavericks and being free. OS X Mountain Lion was announced by Apple on their website on February 16, 2012, as a successor to Mac OS X 10.7 Lion. It achieved golden master status on July 9, 2012. Following a soft transition started with Mac OS X Lion, Apple refers to OS X Mountain Lion as "OS X" rather than "Mac OS X". During the Apple Worldwide Developers Conference keynote on June 11, 2012, Apple announced a "near final" release version of Mountain Lion for developers, with the public version arriving in July 2012 at a price tag of US$19.99.
The third generation MacBook Pro, revised MacBook Air, iPad Smart Case, third-generation AirPort Express were announced at the keynote as well. The specific release date of July 25 was not confirmed until the day before, July 24, by Apple CEO, Tim Cook, as part of Apple's 2012 third-quarter earnings announcement, it was released to the Mac App Store on July 25, 2012, where it sold 3 million units in the first four days of release. An update for Mountain Lion, version 10.8.1, was released on August 23, 2012. It resolved issues with iMessages, Migration Assistant, Microsoft Exchange Server and many other applications. Tests of the update revealed that 10.8.1 improved battery life on laptops, albeit gaining back only half of the battery life, lost in updating to Mountain Lion. Although 10.8.1 improved battery life for some customers, others continue to complain about reduced battery life and a constant drop in battery health resulting in a "Service Battery" message. The official system requirements of OS X 10.8 are 2 GB RAM, 8 GB available storage, OS X 10.6.8 or on any of the following Macs: iMac MacBook, MacBook Pro MacBook Air Mac Mini Mac Pro Xserve As in 10.7, the earliest models supporting AirDrop are the late-2008 MacBook Pro, late-2010 MacBook Air, late-2008 MacBook, mid-2010 Mac Mini, early-2009 Mac Pro with an AirPort Extreme card.
Any Mac released in or after 2011, except the MacBook, supports AirPlay Mirroring. Power Nap is supported on the MacBook Pro with Retina display; the technical basis for these requirements is incompatibility with 32-bit EFI and 32-bit kernel extensions. In order to prevent incompatible systems from installing 10.8, the installer contains a whitelist of supported motherboard IDs. Users have bypassed these limitations so that 10.8 may run with varying functionality on some unsupported computers. Notification Center was added in the operating system, it provides an overview of alerts from applications and displays notifications until the user completes an associated action, rather than requiring instant resolution. Users may choose what applications appear in Notification Center, how they are handled. There are three types of notifications: banners and badges. Banners are displayed for a short period of time in the upper right corner of the Mac's screen, slide off to the right; the icon of the application is displayed on the left side of the banner, while the message from the application will be displayed on the right side.
Alerts will not disappear from the screen until the user takes action. Badges are red notification icons, they indicate the number of items available for the application. Notification Center can be accessed by clicking the icon in the right corner of the menu bar; when open, the user can click a button to tweet, post status updates to Facebook, or view all notifications in the sidebar pane. Swiping up will reveal the option to disable Notification Center for on
An operating system is system software that manages computer hardware and software resources and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may include accounting software for cost allocation of processor time, mass storage and other resources. For hardware functions such as input and output and memory allocation, the operating system acts as an intermediary between programs and the computer hardware, although the application code is executed directly by the hardware and makes system calls to an OS function or is interrupted by it. Operating systems are found on many devices that contain a computer – from cellular phones and video game consoles to web servers and supercomputers; the dominant desktop operating system is Microsoft Windows with a market share of around 82.74%. MacOS by Apple Inc. is in second place, the varieties of Linux are collectively in third place. In the mobile sector, use in 2017 is up to 70% of Google's Android and according to third quarter 2016 data, Android on smartphones is dominant with 87.5 percent and a growth rate 10.3 percent per year, followed by Apple's iOS with 12.1 percent and a per year decrease in market share of 5.2 percent, while other operating systems amount to just 0.3 percent.
Linux distributions are dominant in supercomputing sectors. Other specialized classes of operating systems, such as embedded and real-time systems, exist for many applications. A single-tasking system can only run one program at a time, while a multi-tasking operating system allows more than one program to be running in concurrency; this is achieved by time-sharing, where the available processor time is divided between multiple processes. These processes are each interrupted in time slices by a task-scheduling subsystem of the operating system. Multi-tasking may be characterized in co-operative types. In preemptive multitasking, the operating system slices the CPU time and dedicates a slot to each of the programs. Unix-like operating systems, such as Solaris and Linux—as well as non-Unix-like, such as AmigaOS—support preemptive multitasking. Cooperative multitasking is achieved by relying on each process to provide time to the other processes in a defined manner. 16-bit versions of Microsoft Windows used cooperative multi-tasking.
32-bit versions of both Windows NT and Win9x, used preemptive multi-tasking. Single-user operating systems have no facilities to distinguish users, but may allow multiple programs to run in tandem. A multi-user operating system extends the basic concept of multi-tasking with facilities that identify processes and resources, such as disk space, belonging to multiple users, the system permits multiple users to interact with the system at the same time. Time-sharing operating systems schedule tasks for efficient use of the system and may include accounting software for cost allocation of processor time, mass storage and other resources to multiple users. A distributed operating system manages a group of distinct computers and makes them appear to be a single computer; the development of networked computers that could be linked and communicate with each other gave rise to distributed computing. Distributed computations are carried out on more than one machine; when computers in a group work in cooperation, they form a distributed system.
In an OS, distributed and cloud computing context, templating refers to creating a single virtual machine image as a guest operating system saving it as a tool for multiple running virtual machines. The technique is used both in virtualization and cloud computing management, is common in large server warehouses. Embedded operating systems are designed to be used in embedded computer systems, they are designed to operate on small machines like PDAs with less autonomy. They are able to operate with a limited number of resources, they are compact and efficient by design. Windows CE and Minix 3 are some examples of embedded operating systems. A real-time operating system is an operating system that guarantees to process events or data by a specific moment in time. A real-time operating system may be single- or multi-tasking, but when multitasking, it uses specialized scheduling algorithms so that a deterministic nature of behavior is achieved. An event-driven system switches between tasks based on their priorities or external events while time-sharing operating systems switch tasks based on clock interrupts.
A library operating system is one in which the services that a typical operating system provides, such as networking, are provided in the form of libraries and composed with the application and configuration code to construct a unikernel: a specialized, single address space, machine image that can be deployed to cloud or embedded environments. Early computers were built to perform a series of single tasks, like a calculator. Basic operating system features were developed in the 1950s, such as resident monitor functions that could automatically run different programs in succession to speed up processing. Operating systems did not exist in their more complex forms until the early 1960s. Hardware features were added, that enabled use of runtime libraries and parallel processing; when personal computers became popular in the 1980s, operating systems were made for them similar in concept to those used on larger computers. In the 1940s, the earliest electronic digital systems had no operating systems.
Electronic systems of this time were programmed on rows of mechanical switches or by jumper wires on plug boards. These were special-purpose systems that, for example, generated ballistics tables for the military or controlled the pri
X Window System
The X Window System is a windowing system for bitmap displays, common on Unix-like operating systems. X provides the basic framework for a GUI environment: drawing and moving windows on the display device and interacting with a mouse and keyboard. X does not mandate the user interface – this is handled by individual programs; as such, the visual styling of X-based environments varies greatly. X originated at the Massachusetts Institute of Technology in 1984; the X protocol has been version 11 since September 1987. The X. Org Foundation leads the X project, with the current reference implementation, X. Org Server, available as free and open source software under the MIT License and similar permissive licenses. X is an architecture-independent system for remote graphical user interfaces and input device capabilities; each person using a networked terminal has the ability to interact with the display with any type of user input device. In its standard distribution it is a complete, albeit simple and interface solution which delivers a standard toolkit and protocol stack for building graphical user interfaces on most Unix-like operating systems and OpenVMS, has been ported to many other contemporary general purpose operating systems.
X provides the basic framework, or primitives, for building such GUI environments: drawing and moving windows on the display and interacting with a mouse, keyboard or touchscreen. X does not mandate the user interface. Programs may use X's graphical abilities with no user interface; as such, the visual styling of X-based environments varies greatly. Unlike most earlier display protocols, X was designed to be used over network connections rather than on an integral or attached display device. X features network transparency, which means an X program running on a computer somewhere on a network can display its user interface on an X server running on some other computer on the network; the X server is the provider of graphics resources and keyboard/mouse events to X clients, meaning that the X server is running on the computer in front of a human user, while the X client applications run anywhere on the network and communicate with the user's computer to request the rendering of graphics content and receive events from input devices including keyboards and mice.
The fact that the term "server" is applied to the software in front of the user is surprising to users accustomed to their programs being clients to services on remote computers. Here, rather than a remote database being the resource for a local app, the user's graphic display and input devices become resources made available by the local X server to both local and remotely hosted X client programs who need to share the user's graphics and input devices to communicate with the user. X's network protocol is based on X command primitives; this approach allows both 2D and 3D operations by an X client application which might be running on a different computer to still be accelerated on the X server's display. For example, in classic OpenGL, display lists containing large numbers of objects could be constructed and stored in the X server by a remote X client program, each rendered by sending a single glCallList across the network. X provides no native support for audio. X uses a client–server model: an X server communicates with various client programs.
The server sends back user input. The server may function as: an application displaying to a window of another display system a system program controlling the video output of a PC a dedicated piece of hardwareThis client–server terminology – the user's terminal being the server and the applications being the clients – confuses new X users, because the terms appear reversed, but X takes the perspective of the application, rather than that of the end-user: X provides display and I/O services to applications, so it is a server. The communication protocol between server and client operates network-transparently: the client and server may run on the same machine or on different ones with different architectures and operating systems. A client and server can communicate securely over the Internet by tunneling the connection over an encrypted network session. An X client itself may emulate an X server by providing display services to other clients; this is known as "X nesting". Open-source clients such as Xnest and Xephyr support such X nesting.
To use an X client application on a remote machine, the user may do the following: on the local machine, open a terminal window use ssh with the X forwarding argument to connect to the remote machine request local display/input service The remote X client application will make a connection to the user's local X server, providing display and input to the user. Alternatively, the local machine may run a small program that connects to the remote machine and starts the client application. Practical examples of remote clients include: administering a remote machine graphically using a client application to join with large numbers of other terminal users in collaborative workgroups running a computationally intensive simulation on a remote machine and displaying the results on
Retina display is a brand name used by Apple for its series of IPS LCD, OLED displays that have a higher pixel density than traditional Apple displays. Apple has applied to register the term "Retina" as a trademark in regard to computers and mobile devices with the United States Patent and Trademark Office, Canadian Intellectual Property Office, in Jamaica. On November 27, 2012 the US Patent and Trademark office approved Apple's application and "Retina" is now a registered trademark for computer equipment; when an Apple product has a Retina display, each user interface widget is doubled in width and height to compensate for the smaller pixels. Apple calls this mode HiDPI mode. In simple words, it was one logical pixel = four physical pixels at the beginning; the advantage of this equation is that the CPU "sees" a small portion of the data and calculates the relative positions of each element and GPU renders these elements with high quality assets to make the output much sharper and more clear.
The goal of Retina displays is to make the display of text and images crisp, so pixels are not visible to the naked eye. This allows displays to rival the smooth curves and sharpness of printed text and immediacy of photographic prints; these better quality displays have been released over a number of years, the term is now used for nearly all of Apple products containing a screen, including Apple Watch, iPhone, iPod Touch, iPad, MacBook, MacBook Air, MacBook Pro, iMac. Apple uses different versions of the term for these models, including Retina HD Display for iPhone 6 and versions, Retina 4K/5K Display for iMac. Apple's Retina displays are not an absolute standard but vary depending on the size of the display on the device, how close the user would be viewing the screen. Where users view the screen at a closer distance to their eyes, as on smaller devices with smaller displays, the displays have more PPI, while larger devices with larger displays where the user views the screen further away use fewer PPI.
Device versions have had additional improvement, either counted by an increase in the screen size and/or contrast ratio, and/or more with PPI count, thus Apple using the name “Retina HD Display", "Retina 4K/5K Display", "Super Retina HD Display", or "Liquid Retina HD Display". When introducing the iPhone 4, Steve Jobs said the number of pixels needed for a Retina display is about 300 PPI for a device held 10 to 12 inches from the eye. One way of expressing this as a unit is pixels-per-degree which takes into account both the screen resolution and the distance from which the device is viewed. Based on Jobs' predicted number of 300, the threshold for a Retina display starts at the PPD value of 57 PPD. 57 PPD means that a tall skinny triangle with a height equal to the viewing distance and a top angle of one degree will have a base on the device's screen that covers 57 pixels. Any display's viewing quality can be described with this size-independent universal parameter. Note that the PPD parameter is not an intrinsic parameter of the display itself, unlike absolute pixel resolution or relative pixel density, but is dependent on the distance between the display and the eye of the person viewing the display.
It can be calculated by the formula 2 d r tan where d is the distance to the screen, r is the resolution of the screen in pixels per unit length, 1 ∘ is the aperture of a cone having the apex on focus, height d, the base in the eye lens —the optical correspondent to a cone inside the eye having the same base and the apex in the other focus, the fovea. That aperture, which can be measured by visual field tests, varies among different human subjects. In practice, thus far Apple has converted a device's display to Retina by doubling the number of pixels in each direction, quadrupling the total resolution; this increase creates a sharper interface at the same physical dimensions. The sole exception to this has been the iPhone 6 Plus, which renders its display at triple the number of pixels in each direction, before down-sampling to a 1080p resolution; the displays are manufactured worldwide by different suppliers. The iPad's display comes from Samsung, while the MacBook Pro, iPhone, iPod Touch displays are made by LG Display and Japan Display Inc.
There was a shift of display technology from twisted nematic liquid-crystal displays to in-plane switching LCDs starting with the iPhone 4 models in June 2010. Apple markets the following devices as having a Retina display, Retina HD Display, Liquid Retina HD Display, Super Retina HD Display, or Retina 4K/5K Display: Higher resolution Retina screens are standard on the 3rd-generation MacBook Pro and new MacBook, released in 2013 and 2015, respectively; the 4th-generation MacBook Pro, released in 2016, retains the same Retina display of the previous generation. Reviews of Apple devices with Retina displays have been positive on technical grounds, with comments describing it as a considerable improvement on earlier screens and praising Apple for driving third-party application support for high-resolution displays more than on Windows. While high-dpi displays such