124-443: A live CD (also live DVD , live disc , or live operating system ) is a complete bootable computer installation including operating system which runs directly from a CD-ROM or similar storage device into a computer's memory, rather than loading from a hard disk drive. A live CD allows users to run an operating system for any purpose without installing it or making any changes to the computer's configuration. Live CDs can run on
248-602: A Forth interpreter, with much of the firmware being written in Forth. It was standardized by the IEEE as IEEE standard 1275-1994; firmware that implements that standard was used in PowerPC -based Macs and some other PowerPC-based machines, as well as Sun's own SPARC -based computers. The Advanced RISC Computing specification defined another firmware standard, which was implemented on some MIPS -based and Alpha -based machines and
372-703: A boot floppy or the CD itself would boot specifically, and only, to install onto a hard drive. Early examples of operating systems which could be booted directly from CD-ROM are the FM Towns OS , and the Desktop-VMS distribution of VMS , both of which were first released in 1989. Although early developers and users of distributions built on top of the Linux kernel could take advantage of cheap optical disks and rapidly declining prices of CD drives for personal computers,
496-457: A CD to support "live" operations might have been the AmigaOS , which could be booted from CD on an Amiga CDTV in 1990.. Earlier examples of live OS are of course the operating systems used from floppy, and most widely spread is DOS . Unlike previous operating systems on optical media, though, Linux and OS/2 "live CDs" were specifically designed to run without installation onto other media like
620-625: A USB drive, a network drive, or other accessible media. Live backup CDs can create an image of drives, and back up files, without problems due to open files and inconsistent sets. A few additional uses include: Several live CDs are dedicated to specific type of applications according to the requirements of thematic user communities. These CDs are tailored to the needs of the applications in subject including general knowledge, tutorial, specifications and trial data too. Some of these topics covers sub topics, e.g. IT administration breaks down to firewall, rescue, security, etc. type of live CDs. In some cases
744-554: A basic shell (as in GNU GRUB), or even games (see List of PC Booter games ). Some boot loaders can also load other boot loaders; for example, GRUB loads BOOTMGR instead of loading Windows directly. Usually a default choice is preselected with a time delay during which a user can press a key to change the choice; after this delay, the default choice is automatically run so normal booting can occur without interaction. X11 The X Window System ( X11 , or simply X ; stylized 𝕏 )
868-677: A boot device and execute it. Firmware compatible with the BIOS on the IBM Personal Computer is used in IBM PC compatible computers. The UEFI was developed by Intel, originally for Itanium -based machines, and later also used as an alternative to the BIOS in x86 -based machines, including Apple Macs using Intel processors . Unix workstations originally had vendor-specific ROM-based firmware. Sun Microsystems later developed OpenBoot , later known as Open Firmware, which incorporated
992-548: A cassette tape drive mounted on the front panel; this sets up a boot loader in RAM which is then executed. However, since this makes few assumptions about the system it can equally well be used to load diagnostic (Maintenance Test Routine) tapes which display an intelligible code on the front panel even in cases of gross CPU failure. In the IBM System/360 and its successors, including the current z/Architecture machines,
1116-412: A client–server model: an X server communicates with various client programs. The server accepts requests for graphical output (windows) and sends back user input (from keyboard, mouse, or touchscreen). The server may function as: This client–server terminology – the user's terminal being the server and the applications being the clients – often confuses new X users, because
1240-466: A common part of all distributions based on Linux kernel 2.6. Booting In computing , booting is the process of starting a computer as initiated via hardware such as a button on the computer or by a software command. After it is switched on, a computer's central processing unit (CPU) has no software in its main memory , so some process must load software into memory before it can be executed. This may be done by hardware or firmware in
1364-421: A complete input or output operation. The same hardware logic could be used to load the contents of a punch card (the most typical ones) or other input media, such as a magnetic drum or magnetic tape , that contained a bootstrap program by pressing a single button. This booting concept was called a variety of names for IBM computers of the 1950s and early 1960s, but IBM used the term "Initial Program Load" with
SECTION 10
#17327975350621488-405: A computer without secondary storage , such as a hard disk drive, or with a corrupted hard disk drive or file system, allowing data recovery . As CD and DVD drives have been steadily phased-out, live CDs have become less popular, being replaced by live USBs , which are equivalent systems written onto USB flash drives , which have the added benefit of having writeable storage. The functionality of
1612-686: 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: X primarily defines protocol and graphics primitives – it deliberately contains no specification for application user-interface design, such as button, menu, or window title-bar styles. Instead, application software – such as window managers, GUI widget toolkits and desktop environments, or application-specific graphical user interfaces – define and provide such details. As
1736-508: A desktop environment, which, aside from the window manager, includes various applications using a consistent user interface. Popular desktop environments include GNOME , KDE Plasma and Xfce . The UNIX 98 standard environment is the Common Desktop Environment (CDE). The freedesktop.org initiative addresses interoperability between desktops and the components needed for a competitive X desktop. The X.Org implementation
1860-493: A different computer to still be fully accelerated on the X server's display. For example, in classic OpenGL (before version 3.0), display lists containing large numbers of objects could be constructed and stored entirely in the X server by a remote X client program, and each then rendered by sending a single glCallList(which) across the network. X provides no native support for audio; several projects exist to fill this niche, some also providing transparent network support. X uses
1984-518: A fixed program into memory when its start button was pressed. The program stored on this device, which David Wheeler completed in late 1948, loaded further instructions from punched tape and then executed them. The first programmable computers for commercial sale, such as the UNIVAC I and the IBM 701 included features to make their operation simpler. They typically included instructions that performed
2108-780: A frequent occurrence with relatively low-cost, "part-time-duty" hardware, such as the Teletype Model 33 ASR. (Friden Flexowriters were far more reliable, but also comparatively costly.) The earliest microcomputers, such as the Altair 8800 (released first in 1975) and an even earlier, similar machine (based on the Intel 8008 CPU) had no bootstrapping hardware as such. When powered-up, the CPU would see memory that would contain random data. The front panels of these machines carried toggle switches for entering addresses and data, one switch per bit of
2232-741: A functional form of the "network transparency" feature of X, via network transmissibility of graphical services, include: Several bitmap display systems preceded X. From Xerox came the Alto (1973) and the Star (1981). From Apollo Computer came Display Manager (1981). From Apple came the Lisa (1983) and the Macintosh (1984). The Unix world had the Andrew Project (1982) and Rob Pike 's Blit terminal (1982). Carnegie Mellon University produced
2356-751: A hard disk drive. The live CD concept was meant to promote Linux and showcase the abilities of the free, open source operating system on conventional personal computers with Microsoft Windows already installed. On a PC , a bootable Compact Disc generally conforms to the El Torito specification, introduced in 1994. Many Linux based live CDs use a compressed filesystem image, often with the cloop compressed loopback driver, or squashfs compressed filesystem, generally doubling effective storage capacity, although slowing application start up. The resulting environment can be quite rich: typical Knoppix systems include around 1,200 separate software packages. Live CDs have
2480-548: A live CD is also available with an external hard disk drive connected by USB. Many live CDs offer the option of persistence by writing files to a hard drive or USB flash drive. Many Linux distributions make ISO images available for burning to CD or DVD. While open source operating systems can be used for free, some commercial software, such as Windows To Go requires a license to use. Many live CDs are used for data recovery, computer forensics , disk imaging , system recovery and malware removal. The Tails operating system
2604-473: A native windowing system hosts X in addition, the X system can either use its own normal desktop in a separate host window or it can run rootless , meaning the X desktop is hidden and the host windowing environment manages the geometry and appearance of the hosted X windows within the host screen. An X terminal is a thin client that only runs an X server. This architecture became popular for building inexpensive terminal parks for many users to simultaneously use
SECTION 20
#17327975350622728-613: A network protocol supporting terminal and graphics windows, the server maintaining display lists. The email in which X was introduced to the Project Athena community at MIT in June 1984 The original idea of X emerged at MIT in 1984 as a collaboration between Jim Gettys (of Project Athena ) and Bob Scheifler (of the MIT Laboratory for Computer Science ). Scheifler needed a usable display environment for debugging
2852-822: A new session to the boot medium persisting through subsequent boots. The term "Live CD" came to be used for any CD containing operating system and software which could be run without installation on the host computer. Operating systems which can be used live include AmigaOS 4 , Amithlon , AROS , FreeBSD , FreeDOS , classic Mac OS , macOS , Microsoft Windows installation and repair discs, OS/2 , ReactOS , NetBSD , OpenBSD , MINIX 3 , Plan 9 from Bell Labs , MorphOS , OpenSolaris , BeleniX and others based on Solaris . There are maintenance versions of Microsoft Windows bootable from CD such as BartPE , Windows PE , and Microsoft Diagnostics and Recovery Toolset (DaRT), previously known as Emergency Repair Disk Commander (ERD Commander). The first personal computer operating system on
2976-442: A particular Live DVD covers more than one topic. Packaging a software appliance as an installable live CD, or live ISO, can often be beneficial as a single image can run on both real hardware and on most types of virtual machines. This allows developers to avoid the complexities involved in supporting multiple incompatible virtual machine images formats and focus on the lowest common denominator instead. Typically after booting
3100-416: A particular operating system or version is compatible with a particular hardware configuration and certain peripherals, or as a way to know beforehand which computer or peripheral will work before buying. A live CD can be used to troubleshoot hardware, especially when a hard drive fails, and more generally as a recovery disc in case of problems. Some live CDs can save user-created files in a Windows partition,
3224-419: A port of X to 386-compatible PCs and, by the end of the 1990s, had become the greatest source of technical innovation in X and the de facto standard of X development. Since 2004, however, the X.Org Server, a fork of XFree86, has become predominant. While it is common to associate X with Unix, X servers also exist natively within other graphical environments. VMS Software Inc.'s OpenVMS operating system includes
3348-577: A printed circuit card, the M792, that plugged into the Unibus and held a 32 by 16 array of semiconductor diodes. With all 512 diodes in place, the memory contained all "one" bits; the card was programmed by cutting off each diode whose bit was to be "zero". DEC also sold versions of the card, the BM792-Yx series, pre-programmed for many standard input devices by simply omitting the unneeded diodes. Following
3472-730: A protocol that could both run local applications and call on remote resources. In mid-1983 an initial port of W to Unix ran at one-fifth of its speed under V; in May 1984, Scheifler replaced the synchronous protocol of W with an asynchronous protocol and the display lists with immediate mode graphics to make X version 1. X became the first windowing system environment to offer true hardware independence and vendor independence. Scheifler, Gettys and Ron Newman set to work and X progressed rapidly. They released Version 6 in January 1985. DEC, then preparing to release its first Ultrix workstation, judged X
3596-402: A read-only file system is merged with a RAM drive using transparent techniques such as UnionFS , AuFS or EWF . Boot loaders like syslinux can boot ISO files from USB memory devices. Live CDs have to be able to detect and use a wide variety of hardware (including network cards , graphic cards etc.) in realtime, often using facilities such as udev , hotplug , hal, udisk etc.. which are
3720-434: A reboot may be the only method to return to a designated zero-state from an unintended, locked state. In addition to loading an operating system or stand-alone utility, the boot process can also load a storage dump program for diagnosing problems in an operating system. Boot is short for bootstrap or bootstrap load and derives from the phrase to pull oneself up by one's bootstraps . The usage calls attention to
3844-477: 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 (through extensions like GLX) 3D operations by an X client application which might be running on
Live CD - Misplaced Pages Continue
3968-544: A remote-access application called Alto Terminal, that displayed overlapping windows on the Xerox Alto, and made remote hosts (typically DEC VAX systems running Unix) responsible for handling window-exposure events and refreshing window contents as necessary. X derives its name as a successor to a pre-1983 window system called W (the letter preceding X in the English alphabet ). W ran under the V operating system . W used
4092-422: A reputation for supporting advanced auto-configuration and plug-and-play functionality. This came out of necessity to avoid requiring the user to configure the system each time it boots and to make it easily usable by those who are new to the operating system. A read-only file system , such as on a CD-ROM has the drawback of being unable to save any current working data. For this reason, a read-only file system
4216-515: A researcher at CSELT , included an (external) ROM. Gruppi Speciali was, starting from 1975, a fully single-button machine booting into the operating system from a ROM memory composed from semiconductors, not from ferrite cores. Although the ROM device was not natively embedded in the computer of Gruppi Speciali, due to the design of the machine, it also allowed the single-button ROM booting in machines not designed for that (therefore, this "bootstrap device"
4340-567: A result, there is no typical X interface and several different desktop environments have become popular among users. A window manager controls the placement and appearance of application windows. This may result in desktop interfaces reminiscent of those of Microsoft Windows or of the Apple Macintosh (examples include GNOME 2, KDE Plasma, Xfce) or have radically different controls (such as a tiling window manager, like wmii or Ratpoison ). Some interfaces such as Sugar or ChromeOS eschew
4464-452: A special program to load the actual operating system or standalone utility into main storage, and for this specific purpose "IPL Text" is placed on the disk by the stand-alone DASDI (Direct Access Storage Device Initialization) program or an equivalent program running under an operating system, e.g., ICKDSF, but IPL-able tapes and card decks are usually distributed with this "IPL Text" already present. IBM introduced some evolutionary changes in
4588-457: A specification for client interoperability, has a reputation for being difficult to implement correctly. Further standards efforts such as Motif and CDE did not alleviate problems. This has frustrated users and programmers. Graphics programmers now generally address consistency of application look and feel and communication by coding to a specific desktop environment or to a specific widget toolkit, which also avoids having to deal directly with
4712-476: A start up program that could not be erased. Growth in the capacity of ROM has allowed ever more elaborate start up procedures to be implemented. There are many different methods available to load a short initial program into a computer. These methods reach from simple, physical input to removable media that can hold more complex programs. Early computers in the 1940s and 1950s were one-of-a-kind engineering efforts that could take weeks to program and program loading
4836-423: A system which is not functioning normally due to operating system and software issues can be made available; for example, data can be recovered from a machine with an active virus infection without the virus process being active and causing more damage, and the virus can be removed with its defences against removal bypassed. Although some live CDs can load into memory to free the optical drive for other uses, loading
4960-406: A user typically may resort to using one or more boot codes to change the booting behavior. These vary from distribution to distribution but can most often be accessed upon first boot screen by one of the function keys . Some live CDs come with an installation utility launchable from a desktop icon that can optionally install the system on a hard drive or USB flash drive . Most live CDs can access
5084-473: A version of X with Common Desktop Environment (CDE), known as DECwindows, as its standard desktop environment. Apple originally ported X to macOS in the form of X11.app, but that has been deprecated in favor of the XQuartz implementation. Third-party servers under Apple's older operating systems in the 1990s, System 7, and Mac OS 8 and 9, included Apple's MacX and White Pine Software's eXodus. Microsoft Windows
Live CD - Misplaced Pages Continue
5208-409: A volume. After mounting the live CD's filesystem, software on the live CD can be run directly, without booting it, by chrooting into the mounted filesystem. A live CD ISO image can also be mounted by Virtual Machine software such as VirtualBox and VMware Workstation or can be converted to a Live USB using SYSLINUX . Special tools can automate this process. During live CD initialization,
5332-420: Is a windowing system for bitmap displays, common on Unix-like operating systems. X originated as part of Project Athena at Massachusetts Institute of Technology (MIT) in 1984. The X protocol has been at version 11 (hence "X11") 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
5456-436: Is aimed at preserving privacy and anonymity of its users, allowing them to work with sensitive documents without leaving a record on a computer's hard drive. All computers except the earliest digital computers are built with some form of minimal built-in loader, which loads a program or succession of programs from a storage medium, which then operate the computer. Initially a read-only medium such as punched tape or punched cards
5580-465: Is called a first-stage boot loader, and the program it loads is called a second-stage boot loader. On many embedded CPUs, the CPU built-in boot ROM , sometimes called the zero-stage boot loader, can find and load first-stage boot loaders. Examples of first-stage (hardware initialization stage) boot loaders include BIOS , UEFI , coreboot , Libreboot and Das U-Boot . On the IBM PC, the boot loader in
5704-502: Is complete when the operative runtime system , typically the operating system and some applications, is attained. The process of returning a computer from a state of sleep (suspension) does not involve booting; however, restoring it from a state of hibernation does. Minimally, some embedded systems do not require a noticeable boot sequence to begin functioning and when turned on may simply run operational programs that are stored in ROM. All computing systems are state machines , and
5828-407: Is generally not possible. However, approaches like Virtual Network Computing (VNC), NX and Xpra allow a virtual session to be reached from different X servers (in a manner similar to GNU Screen in relation to terminals), and other applications and toolkits provide related facilities. Workarounds like x11vnc ( VNC :0 viewers ), Xpra's shadow mode and NX's nxagent shadow mode also exist to make
5952-491: Is given a command to transfer data to memory starting at address 00100; when that transfer finishes, the CPU jumps to address 00101. IBM's competitors also offered single button program load. A noteworthy variation of this is found on the Burroughs B1700 where there is neither a bootstrap ROM nor a hardwired IPL operation. Instead, after the system is reset it reads and executes microinstructions sequentially from
6076-417: Is impossible to natively boot an operating system other than the standard one. This is the opposite extreme of the scenario using switches mentioned above; it is highly inflexible but relatively error-proof and foolproof as long as all hardware is working normally. A common solution in such situations is to design a boot loader that works as a program belonging to the standard OS that hijacks the system and loads
6200-524: Is no accessibility standard or accessibility guidelines for X11. Within the X11 standards process there is no working group on accessibility; however, accessibility needs are being addressed by software projects to provide these features on top of X. The Orca project adds accessibility support to the X Window System, including implementing an API ( AT-SPI ). This is coupled with GNOME's ATK to allow for accessibility features to be implemented in X programs using
6324-492: Is not shipped with support for X, but many third-party implementations exist, as free and open source software such as Cygwin/X , and proprietary products such as Exceed, MKS X/Server, Reflection X, X-Win32 and Xming . There are also Java implementations of X servers. WeirdX runs on any platform supporting Swing 1.1, and will run as an applet within most browsers. The Android X Server is an open source Java implementation that runs on Android devices. When an operating system with
SECTION 50
#17327975350626448-440: Is often merged with a temporary writable file system in the form of a RAM disk . Often the default Linux directories " /home " (containing users' personal files and configuration files ) and " /var " (containing variable data ) are kept in ramdisk, because the system updates them frequently. Puppy Linux and some other live CDs allow a configuration and added files to be written and used in later sessions. In modern live CDs,
6572-419: Is that they are not capable of any input or output other than the keyboard, mouse, and display. All relevant data is assumed to exist solely on the remote server, and the X terminal user has no methods available to save or load data from a local peripheral device. Dedicated (hardware) X terminals have fallen out of use; a PC or modern thin client with an X server typically provides the same functionality at
6696-414: Is the canonical implementation of X. Owing to liberal licensing, a number of variations, both free and open source and proprietary, have appeared. Commercial Unix vendors have tended to take the reference implementation and adapt it for their hardware, usually customizing it and adding proprietary extensions. Until 2004, XFree86 provided the most common X variant on free Unix-like systems. XFree86 started as
6820-404: Is the oldest Live CD still in production. Knoppix , a Debian -derived Linux distribution, was released in 2003, and found popularity as both a rescue disk system and as a primary distribution in its own right. Since 2003, the popularity of live CDs has increased substantially, partly due to Linux Live scripts and remastersys , which made it very easy to build customized live systems. Most of
6944-402: Is usually a disk drive, hence the special significance of the 02h read-type command, but exactly the same procedure is also used to IPL from other input-type devices, such as tape drives, or even card readers, in a device-independent manner, allowing, for example, the installation of an operating system on a brand-new computer from an OS initial distribution magnetic tape. For disk controllers,
7068-427: The 02h command also causes the selected device to seek to cylinder 0000h , head 0000h , simulating a Seek cylinder and head command, 07h , and to search for record 01h , simulating a Search ID Equal command, 31h ; seeks and searches are not simulated by tape and card controllers, as for these device classes a Read IPL command is simply a sequential read command. The disk, tape or card deck must contain
7192-469: The IBM 1401 system (c. 1958) used a card reader to load a program from a punched card. The 80 characters stored in the punched card were read into memory locations 001 to 080, then the computer would branch to memory location 001 to read its first stored instruction. This instruction was always the same: move the information in these first 80 memory locations to an assembly area where the information in punched cards 2, 3, 4, and so on, could be combined to form
7316-538: The IBM 7030 Stretch and later used it for their mainframe lines, starting with the System/360 in 1964. The IBM 701 computer (1952–1956) had a "Load" button that initiated reading of the first 36-bit word into main memory from a punched card in a card reader , a magnetic tape in a tape drive , or a magnetic drum unit, depending on the position of the Load Selector switch. The left 18-bit half-word
7440-581: The LOAD button. On the high end System/360 models, most System/370 and some later systems, the functions of the switches and the LOAD button are simulated using selectable areas on the screen of a graphics console, often an IBM 2250 -like device or an IBM 3270 -like device. For example, on the System/370 Model 158, the keyboard sequence 0-7-X (zero, seven and X, in that order) results in an IPL from
7564-502: The Linux distribution CDs or "distros" were generally treated as a collection of installation packages that would first need to be permanently installed to hard disks on the target machine. However, in the case of these distributions built on top of the Linux kernel, the free operating system was meeting resistance in the consumer market because of the perceived difficulty, effort, and risk involved in installing an additional partition on
SECTION 60
#17327975350627688-684: 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, display and interface solution which delivers a standard toolkit and protocol stack for building graphical user interfaces on most Unix-like operating systems and OpenVMS , and has been ported to many other contemporary general purpose operating systems . X provides
7812-633: The Master Boot Record (MBR) and the Partition Boot Record (PBR) was coded to require at least 32 KB (later expanded to 64 KB ) of system memory and only use instructions supported by the original 8088 / 8086 processors. Second-stage (OS initialization stage) boot loaders, such as shim, GNU GRUB , rEFInd , BOOTMGR , Syslinux , NTLDR and iBoot , are not themselves operating systems, but are able to load an operating system properly and transfer execution to it;
7936-664: The SGI Visual Workstation x86-based workstations. When a computer is turned off, its software—including operating systems, application code, and data—remains stored on non-volatile memory . When the computer is powered on, it typically does not have an operating system or its loader in random-access memory (RAM). The computer first executes a relatively small program stored in read-only memory (ROM, and later EEPROM , NOR flash ) which support execute in place , to initialize CPU and motherboard, to initialize DRAM (especially on x86 systems), to access
8060-622: The Spectre GCR cartridge with the Macintosh system ROM in the game slot and turning the Atari on, it could "natively boot" the Macintosh operating system rather than Atari's own TOS . The IBM Personal Computer included ROM-based firmware called the BIOS ; one of the functions of that firmware was to perform a power-on self test when the machine was powered up, and then to read software from
8184-417: The front panel . Since the early minicomputers used magnetic-core memory , which did not lose its information when power was off, these bootstrap loaders would remain in place unless they were erased. Erasure sometimes happened accidentally when a program bug caused a loop that overwrote all of memory. Other minicomputers with such simple form of booting include Hewlett-Packard's HP 2100 series (mid-1960s),
8308-565: The Altair 8800) in a commercial computer. According to Apple's ad announcing it "No More Switches, No More Lights ... the firmware in PROMS enables you to enter, display and debug programs (all in hex) from the keyboard." Due to the expense of read-only memory at the time, the Apple II booted its disk operating systems using a series of very small incremental steps, each passing control onward to
8432-573: The Argus system. Project Athena (a joint project between DEC , MIT and IBM to provide easy access to computing resources for all students) needed a platform-independent graphics system to link together its heterogeneous multiple-vendor systems; the window system then under development in Carnegie Mellon University 's Andrew Project did not make licenses available, and no alternatives existed. The project solved this by creating
8556-448: The Atari's floppy drive was read for additional components during the boot process. There was a timeout delay that provided time to manually insert a floppy as the system searched for the extra components. This could be avoided by inserting a blank disk. The Atari ST hardware was also designed so the cartridge slot could provide native program execution for gaming purposes as a holdover from Atari's legacy making electronic games; by inserting
8680-416: The CPU, or by a separate processor in the computer system. Restarting a computer also is called rebooting , which can be "hard", e.g. after electrical power to the CPU is switched from off to on, or "soft", where the power is not cut. On some systems, a soft boot may optionally clear RAM to zero. Both hard and soft booting can be initiated by hardware such as a button press or by a software command. Booting
8804-549: The GNOME/GTK APIs. KDE provides a different set of accessibility software, including a text-to-speech converter and a screen magnifier. The other major desktops (LXDE, Xfce and Enlightenment) attempt to be compatible with ATK. An X client cannot generally be detached from one server and reattached to another unless its code specifically provides for it ( Emacs is one of the few common programs with this ability). As such, moving an entire session from one X server to another
8928-526: The IBM PC and compatibles, the boot code must fit in the Master Boot Record (MBR) and the Partition Boot Record (PBR), which in turn are limited to a single sector; on the IBM System/360 , the size is limited by the IPL medium, e.g., card size, track size. On systems with those constraints, the first program loaded into RAM may not be sufficiently large to load the operating system and, instead, must load another, larger program. The first program loaded into RAM
9052-702: The ICCCM. X also lacks native support for user-defined stored procedures on the X server, in the manner of NeWS – there is no Turing-complete scripting facility. Various desktop environments may thus offer their own (usually mutually incompatible) facilities. Systems built upon X may have accessibility issues that make utilization of a computer difficult for disabled users, including right click , double click , middle click , mouse-over , and focus stealing . Some X11 clients deal with accessibility issues better than others, so persons with accessibility problems are not locked out of using X11. However, there
9176-593: The IPL process, changing some details for System/370 Extended Architecture (S/370-XA) and later, and adding a new type of IPL for z/Architecture. Minicomputers , starting with the Digital Equipment Corporation (DEC) PDP-5 and PDP-8 (1965) simplified design by using the CPU to assist input and output operations. This saved cost but made booting more complicated than pressing a single button. Minicomputers typically had some way to toggle in short programs by manipulating an array of switches on
9300-474: The Intel x86 series are designed to execute this software after reset without outside help). This software contains rudimentary functionality to search for devices eligible to participate in booting, and load a small program from a special section (most commonly the boot sector ) of the most promising device, typically starting at a fixed entry point such as the start of the sector. Boot loaders may face peculiar constraints, especially in size; for instance, on
9424-462: 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 run an X client application on a remote machine, the user may do the following: The remote X client application will then make
9548-517: The VAX-11/730 had an 8085-based console processor. These console processors could boot the main processor from various storage devices. Some other superminicomputers, such as the VAX-11/750, implement console functions, including the first stage of booting, in CPU microcode. Typically, a microprocessor will, after a reset or power-on condition, perform a start-up process that usually takes
9672-492: The X server is usually 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 often surprising to users accustomed to their programs being clients to services on remote computers. Here, rather than
9796-625: The alternative OS. This technique was used by Apple for its A/UX Unix implementation and copied by various freeware operating systems and BeOS Personal Edition 5 . Some machines, like the Atari ST microcomputer , were "instant-on", with the operating system executing from a ROM . Retrieval of the OS from secondary or tertiary store was thus eliminated as one of the characteristic operations for bootstrapping. To allow system customizations, accessories, and other support software to be loaded automatically,
9920-453: The bandwidth of a 100 Mbit/s network for a single client. In contrast, modern versions of X generally have extensions such as Mesa allowing local display of a local program's graphics to be optimized to bypass the network model and directly control the video card, for use of full-screen video, rendered 3D applications, and other such applications. X's design requires the clients and server to operate separately, and device independence and
10044-494: 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 ; individual client programs handle this. Programs may use X's graphical abilities with no user interface. As such, the visual styling of X-based environments varies greatly; different programs may present radically different interfaces. Unlike most earlier display protocols, X
10168-486: The boot process is known as Initial Program Load (IPL). IBM coined this term for the 7030 (Stretch) , revived it for the design of the System/360, and continues to use it in those environments today. In the System/360 processors, an IPL is initiated by the computer operator by selecting the three hexadecimal digit device address (CUU; C=I/O Channel address, UU=Control unit and Device address ) followed by pressing
10292-649: The computer memory word and address bus. Simple additions to the hardware permitted one memory location at a time to be loaded from those switches to store bootstrap code. Meanwhile, the CPU was kept from attempting to execute memory content. Once correctly loaded, the CPU was enabled to execute the bootstrapping code. This process, similar to that used for several earlier minicomputers, was tedious and had to be error-free. The introduction of integrated circuit read-only memory (ROM), with its many variants, including mask-programmed ROMs , programmable ROMs (PROM), erasable programmable ROMs (EPROM), and flash memory , reduced
10416-402: The computer to automatically load instructions into memory from a device specified by the front panel's data switches, and then jump to loaded code. In a minicomputer with a paper tape reader, the first program to run in the boot process, the boot loader, would read into core memory either the second-stage boot loader (often called a Binary Loader ) that could read paper tape with checksum or
10540-426: The current X-server screen available. This ability allows the user interface (mouse, keyboard, monitor) of a running application to be switched from one location to another without stopping and restarting the application. Network traffic between an X server and remote X clients is not encrypted by default. An attacker with a packet sniffer can intercept it, making it possible to view anything displayed to or sent from
10664-411: The data from a CD-ROM is still slower than a typical hard drive boot, so this is rarely the default with large live CD images, but for smaller live CD images loading the filesystem directly into RAM can provide a significant performance boost, as RAM is much faster than a hard drive, and uses less power. Experienced users of the operating system may also use a live CD to determine whether and to what extent
10788-454: The desktop metaphor altogether, simplifying their interfaces for specialized applications. Window managers range in sophistication and complexity from the bare-bones ( e.g. , twm, the basic window manager supplied with X, or evilwm, an extremely light window manager) to the more comprehensive desktop environments such as Enlightenment and even to application-specific window managers for vertical markets such as point-of-sale. Many users use X with
10912-594: The device address which was keyed into the input area. The Amdahl 470V/6 and related CPUs supported four hexadecimal digits on those CPUs which had the optional second channel unit installed, for a total of 32 channels. Later, IBM would also support more than 16 channels. The IPL function in the System/360 and its successors prior to IBM Z , and its compatibles such as Amdahl's, reads 24 bytes from an operator-specified device into main storage starting at real address zero. The second and third groups of eight bytes are treated as Channel Command Words (CCWs) to continue loading
11036-429: The form of "begin execution of the code that is found starting at a specific address" or "look for a multibyte code at a specific address and jump to the indicated location to begin execution". A system built using that microprocessor will have the permanent ROM occupying these special locations so that the system always begins operating without operator assistance. For example, Intel x86 processors always start by running
11160-410: The hard disk, in parallel with an existing operating system installation. The term "live CD" was coined because, after typical PC RAM was large enough and 52x speed CD drives and CD burners were widespread among PC owners, it finally became convenient and practical to boot the kernel and run X11 , a window manager and GUI applications directly from a CD without disturbing the OS on the hard disk. This
11284-489: The information on internal and/or external hard drives, diskettes and USB flash drives. Live CDs are usually distributed on read-only media, requiring either copying to rewriteable media (i.e. a hard drive or CD writer) or complete remastering to install additional software; however, there are exceptions. If Puppy Linux is recorded to an open multisession medium, changes made during use (such as files created, programs installed, and preferences customised) are written in
11408-509: The instructions beginning at F000:FFF0, while for the MOS 6502 processor, initialization begins by reading a two-byte vector address at $ FFFD (MS byte) and $ FFFC (LS byte) and jumping to that location to run the bootstrap code. Apple Computer 's first computer, the Apple 1 introduced in 1976, featured PROM chips that eliminated the need for a front panel for the boot process (as was the case with
11532-415: The instructions by the CPU. Smaller computers often use less flexible but more automatic boot loader mechanisms to ensure that the computer starts quickly and with a predetermined software configuration. In many desktop computers, for example, the bootstrapping process begins with the CPU executing software contained in ROM (for example, the BIOS of an IBM PC ) at a predefined address (some CPUs, including
11656-584: The machine from the live CD, the appliance either runs in non-persistent demo mode or installs itself, at the user's request, to an available storage device. The files on a live CD ISO image can be accessed in Microsoft Windows with a disk image emulator such as Daemon Tools , or in Unix variants by mounting a loop device . Later versions of Windows (i.e. Windows 8 and later), and software available for earlier versions, allow an ISO to be mounted as
11780-441: The next phase of the gradually more complex boot process. (See Apple DOS: Boot loader ). Because so little of the disk operating system relied on ROM, the hardware was also extremely flexible and supported a wide range of customized disk copy protection mechanisms. (See Software Cracking: History .) Some operating systems, most notably pre-1995 Macintosh systems from Apple , are so closely interwoven with their hardware that it
11904-555: The nonvolatile device (usually block-addressed device, e.g. NAND flash, SSD) or devices from which the operating system programs and data can be loaded into RAM; in addition, this program may initialize display devices (such as GPUs ), text input devices (such as the keyboard ) and pointer input devices (such as the mouse ). The small program that starts this sequence is known as a bootstrap loader , bootstrap or boot loader . Often, multiple-stage boot loaders are used, during which several programs of increasing complexity load one after
12028-458: The older approach, the earlier PDP-1 has a hardware loader, such that an operator need only push the "load" switch to instruct the paper tape reader to load a program directly into core memory. The PDP-7 , PDP-9 , and PDP-15 successors to the PDP-4 have an added Read-In button to read a program in from paper tape and jump to it. The Data General Supernova used front panel switches to cause
12152-425: The operating system from an outside storage medium. Pseudocode for the boot loader might be as simple as the following eight instructions: A related example is based on a loader for a Nicolet Instrument Corporation minicomputer of the 1970s, using the paper tape reader-punch unit on a Teletype Model 33 ASR teleprinter . The bytes of its second-stage loader are read from paper tape in reverse order. The length of
12276-496: The operating system subsequently initializes itself and may load extra device drivers . The second-stage boot loader does not need drivers for its own operation, but may instead use generic storage access methods provided by system firmware such as the BIOS, UEFI or Open Firmware , though typically with restricted hardware functionality and lower performance. Many boot loaders (like GNU GRUB, rEFInd, Windows's BOOTMGR, Syslinux, and Windows NT/2000/XP's NTLDR) can be configured to give
12400-463: The operator). Other systems may send hardware commands directly to peripheral devices or I/O controllers that cause an extremely simple input operation (such as "read sector zero of the system device into memory starting at location 1000") to be carried out, effectively loading a small number of boot loader instructions into memory; a completion signal from the I/O device may then be used to start execution of
12524-515: The original Data General Nova (1969), and DEC's PDP-4 (1962) and PDP-11 (1970). As the I/O operations needed to cause a read operation on a minicomputer I/O device were typically different for different device controllers, different bootstrap programs were needed for different devices. DEC later added, in 1971, an optional diode matrix read-only memory for the PDP-11 that stored a bootstrap program of up to 32 words (64 bytes). It consisted of
12648-453: The other in a process of chain loading . Some earlier computer systems, upon receiving a boot signal from a human operator or a peripheral device, may load a very small number of fixed instructions into memory at a specific location, initialize at least one CPU, and then point the CPU to the instructions and start their execution. These instructions typically start an input operation from some peripheral device (which may be switch-selectable by
12772-764: The physical size and cost of ROM. This allowed firmware boot programs to be included as part of the computer. The Data General Nova 1200 (1970) and Nova 800 (1971) had a program load switch that, in combination with options that provided two ROM chips, loaded a program into main memory from those ROM chips and jumped to it. Digital Equipment Corporation introduced the integrated-circuit-ROM-based BM873 (1974), M9301 (1977), M9312 (1978), REV11-A and REV11-C, MRV11-C, and MRV11-D ROM memories, all usable as bootstrap ROMs. The PDP-11/34 (1976), PDP-11/60 (1977), PDP-11/24 (1979), and most later models include boot ROM modules. An Italian telephone switching computer, called "Gruppi Speciali", patented in 1975 by Alberto Ciaramella ,
12896-427: The popular Linux distributions now include a live CD variant, which in some cases is also the preferred installation medium. Live CDs are made for many different uses. Some are designed to demonstrate or "test drive" a particular operating system (usually Linux or another free or open source operating system). Software can be tested, or run for a particular single use, without interfering with system setup. Data on
13020-417: The requirement that, if most software is loaded onto a computer by other software already running on the computer, some mechanism must exist to load the initial software onto the computer. Early computers used a variety of ad-hoc methods to get a small program into memory to solve this problem. The invention of read-only memory (ROM) of various types solved this paradox by allowing computers to be shipped with
13144-750: The same host. Additionally shared memory (via the MIT-SHM extension) can be employed for faster client–server communication. However, the programmer must still explicitly activate and use the shared memory extension. It is also necessary to provide fallback paths in order to stay compatible with older implementations, and in order to communicate with non-local X servers. Some people have attempted writing alternatives to and replacements for X. Historical alternatives include Sun 's NeWS and NeXT 's Display PostScript , both PostScript -based systems supporting user-definable display-side procedures, which X lacked. Current alternatives include: Additional ways to achieve
13268-517: The same large computer server to execute application programs as clients of each user's X terminal. This use is very much aligned with the original intention of the MIT project. X terminals explore the network (the local broadcast domain ) using the X Display Manager Control Protocol to generate a list of available hosts that are allowed as clients. One of the client hosts should run an X display manager . A limitation of X terminals and most thin clients
13392-476: The same, or lower, cost. The Unix-Haters Handbook (1994) devoted a full chapter to the problems of X. Why X Is Not Our Ideal Window System (1990) by Gajewska, Manasse and McCormack detailed problems in the protocol with recommendations for improvement. The lack of design guidelines in X has resulted in several vastly different interfaces, and in applications that have not always worked well together. The Inter-Client Communication Conventions Manual (ICCCM),
13516-426: The second stage loader is such that the final byte overwrites location 7. After the instruction in location 6 executes, location 7 starts the second stage loader executing. The second stage loader then waits for the much longer tape containing the operating system to be placed in the tape reader. The difference between the boot loader and second stage loader is the addition of checking code to trap paper tape read errors,
13640-487: The separation of client and server incur overhead. Most of the overhead comes from network round-trip delay time between client and server ( latency ) rather than from the protocol itself: the best solutions to performance issues depend on efficient application design. A common criticism of X is that its network features result in excessive complexity and decreased performance if only used locally. Modern X implementations use Unix domain sockets for efficient connections on
13764-425: The startup program (the first CCW is always simulated by the CPU and consists of a Read IPL command, 02h , with command chaining and suppress incorrect length indication being enforced). When the I/O channel commands are complete, the first group of eight bytes is then loaded into the processor's Program Status Word (PSW) and the startup program begins execution at the location designated by that PSW. The IPL device
13888-449: The stored program. Once this information was moved to the assembly area, the machine would branch to an instruction in location 080 (read a card) and the next card would be read and its information processed. Another example was the IBM 650 (1953), a decimal machine, which had a group of ten 10-position switches on its operator panel which were addressable as a memory word (address 8000) and could be executed as an instruction. Thus setting
14012-472: The switches to 7004000400 and pressing the appropriate button would read the first card in the card reader into memory (op code 70), starting at address 400 and then jump to 400 to begin executing the program on that card. The IBM 7040 and 7044 have a similar mechanism, in which the Load button causes the instruction set up in the entry keys on the front panel is executed, and the channel that instruction sets up
14136-513: 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; applications use these services, thus they are clients. The communication protocol between server and client operates network-transparently: the client and server may run on the same machine or on different ones, possibly with different architectures and operating systems. A client and server can even communicate securely over
14260-462: The user multiple booting choices. These choices can include different operating systems (for dual or multi-booting from different partitions or drives), different versions of the same operating system (in case a new version has unexpected problems), different operating system loading options (e.g., booting into a rescue or safe mode ), and some standalone programs that can function without an operating system, such as memory testers (e.g., memtest86+ ),
14384-499: The user's screen. The most common way to encrypt X traffic is to establish a Secure Shell (SSH) tunnel for communication. Like all thin clients , when using X across a network, bandwidth limitations can impede the use of bitmap -intensive applications that require rapidly updating large portions of the screen with low latency, such as 3D animation or photo editing. Even a relatively small uncompressed 640×480×24 bit 30 fps video stream (~211 Mbit/s) can easily outstrip
14508-417: Was a new and different situation for Linux than other operating systems, because the updates/upgrades were being released so quickly, different distributions and versions were being offered online, and especially because users were burning their own CDs. The first Linux -based 'Live CD' was Yggdrasil Linux first released in beta form 1992~1993 (ceased production in 1995), though in practice its functionality
14632-564: Was architecture-independent), e.g. the PDP-11. Storing the state of the machine after the switch-off was also in place, which was another critical feature in the telephone switching contest. Some minicomputers and superminicomputers include a separate console processor that bootstraps the main processor. The PDP-11/44 had an Intel 8085 as a console processor; the VAX-11/780 , the first member of Digital's VAX line of 32-bit superminicomputers, had an LSI-11 -based console processor, and
14756-410: Was hampered due to the low throughput of contemporary CD-ROM drives. DemoLinux , released in 1998, was the first Linux distribution specially designed as a live CD. The Linuxcare bootable business card , first released in 1999, was the first Live CD to focus on system administration, and the first to be distributed in the bootable business card form factor. As of 2023, Finnix (first released in 2000)
14880-421: Was one of many problems that had to be solved. An early computer, ENIAC , had no program stored in memory, but was set up for each problem by a configuration of interconnecting cables. Bootstrapping did not apply to ENIAC, whose hardware configuration was ready for solving problems as soon as power was applied. The EDSAC system, the second stored-program computer to be built, used stepping switches to transfer
15004-540: Was seen to be convenient and useful to boot the computer directly from compact disc, often with a minimal working system to install a full system onto a hard drive. While there are read-write optical discs, either mass-produced read-only discs or write-once discs were used for this purpose. The first Compact Disc drives on personal computers were generally much too slow to run complex operating systems; computers were not designed to boot from an optical disc . When operating systems came to be distributed on compact discs, either
15128-509: Was specifically 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 (such as the Internet) can display its user interface on an X server running on some other computer on the network. The X server is typically the provider of graphics resources and keyboard/mouse events to X clients , meaning that
15252-505: Was then executed as an instruction, which usually read additional words into memory. The loaded boot program was then executed, which, in turn, loaded a larger program from that medium into memory without further help from the human operator. The IBM 704 , IBM 7090 , and IBM 7094 had similar mechanisms, but with different load buttons for different devices. The term "boot" has been used in this sense since at least 1958. Other IBM computers of that era had similar features. For example,
15376-446: Was used for initial program load. With the introduction of inexpensive read-write storage, read-write floppy disks and hard disks were used as boot media . After the introduction of the audio compact disc , it was adapted for use as a medium for storing and distributing large amounts of computer data. This data may also include application and operating-system software, sometimes packaged and archived in compressed formats. Later, it
#61938