Home • About • Donate |
OPERATING SYSTEMS (OS)
Unix
The name Unix refers both to a multi-user, multi-tasking operating system developed by AT&T's Bell Labs and to the family of operating systems which are derived from that original Unix operating system. Over the years, the original Unix inspired the rise of many operating systems which were either based off the code developed by Bell Labs or inspired by the Unix design. The BSD family of operating systems can trace their code's lineage back to the original Unix code base, making the BSDs a modern form of Unix. Other operating systems, such as GNU/Linux distributions, share a common design with Unix, but do not contain any of the original Unix source code. This makes GNU/Linux distributions Unix-like or Unix clones.
|
Research Unix
The term Research Unix refers to early versions of the Unix operating system developed at Bell Labs Computing Sciences Research Center (CSRC). These versions were used on DEC PDP-7, PDP-11, VAX and Interdata 7/32 and 8/32 computers. Research Unix originated at Bell Laboratories as an internal research and development environment. Its versions were:
|
Version 6 Unix
|
UNIX System V
Unix System V (pronounced: "System Five") is one of the first commercial versions of the Unix operating system. It was originally developed by AT&T and first released in 1983. Four major versions of System V were released, numbered 1, 2, 3, and 4. System V Release 4 (SVR4) was commercially the most successful version, being the result of an effort, marketed as Unix System Unification, which solicited the collaboration of the major Unix vendors. It was the source of several common commercial Unix features. System V is sometimes abbreviated to SysV. As of 2021, the AT&T-derived Unix market is divided between four System V variants:
UNIX System V Release 4 (SVR4)System V Release 4.0 was announced on 18/10/1988 and was incorporated into a variety of commercial Unix products from early 1989 onwards. A joint project of AT&T Unix System Laboratories and Sun Microsystems, it combined technology from:
New features included:
Many companies licensed SVR4 and bundled it with computer systems such as workstations and network servers. SVR4 systems vendors included: Atari (Atari System V), Commodore (Amiga Unix), Data General (DG/UX), Fujitsu (UXP/DS), Hitachi (HI-UX), Hewlett-Packard (HP-UX), NCR (Unix/NS), NEC (EWS-UX, UP-UX, UX/4800, SUPER-UX), OKI (OKI System V), Pyramid Technology (DC/OSx), SGI (IRIX), Siemens (SINIX), Sony (NEWS-OS), Sumitomo Electric Industries (SEIUX), and Sun Microsystems (Solaris) with illumos in the 2010s as the only open source platform. Software porting houses also sold enhanced and supported Intel x86 versions. SVR4 software vendors included Dell (Dell UNIX), Everex (ESIX), Micro Station Technology (SVR4), Microport (SVR4), and UHC (SVR4). The primary platforms for SVR4 were Intel x86 and SPARC; the SPARC version, called Solaris 2 (or, internally, SunOS 5.x), was developed by Sun. The relationship between Sun and AT&T was terminated after the release of SVR4, meaning that later versions of Solaris did not inherit features of later SVR4.x releases. Sun would in 2005 release most of the source code for Solaris 10 (SunOS 5.10) as the open source OpenSolaris project, creating, with its forks, the only open source (albeit heavily modified) System V implementation available. After Oracle took over Sun, Solaris was forked into proprietary release, but illumos as the continuation project is being developed in open source. A consortium of Intel-based resellers including Unisys, ICL, NCR Corporation, and Olivetti developed SVR4.0MP with multiprocessing capability (allowing system calls to be processed from any processor, but interrupt servicing only from a "master" processor). Release 4.1 ES (Enhanced Security) added security features required for Orange Book B2 compliance and Access Control Lists and support for dynamic loading of kernel modules. |
SunOS - Solaris
SunOS is an Unix operating system developed by Sun Microsystems for their workstation and server computer systems.
|
BSD
• See more information here: BSD |
---|
BSD ("Berkeley Software Distribution" or "Berkeley Standard Distribution") is a discontinued operating system based on Research Unix (from AT&T), derived from the contributions made to the system by the Computer Systems Research Group (CSRG) at the University of California, Berkeley. These days the term BSD usually refers to a family of related open source operating systems, specifically FreeBSD, NetBSD, OpenBSD, DragonFly BSD and their derivatives. |
Unix-like
A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. Some well-known examples of Unix-like operating systems include GNU/Linux. One of the key features of Unix-like systems is their ability to support multiple users and processes simultaneously. This allows users to run multiple programs at the same time and to share resources such as memory and disk space. This is in contrast to many older operating systems, which were designed to only support a single user or process at a time. Another important feature of Unix-like systems is their modularity. This means that the operating system is made up of many small, interchangeable components that can be added or removed as needed. This makes it easy to customize the operating system to suit the needs of different users or environments. |
GNU (GNU/Linux)
• See more information here: GNU |
---|
GNU is a collection of software which makes up an operating system that is licensed as free software. GNU, which is sometimes called the GNU Operating System, was founded by Richard M Stallman and is sponsored by the Free Software Foundation (FSF). In the 1980s, GNU formed a mostly complete Unix-like operating system. Most of the pieces of the operating system were in place and functioning, with the notable exception of a kernel. In the early 1990s, Linus Torvalds created the Linux kernel. Developers from around the world began to use the GNU Operating System with the Linux kernel. |
• See more information here: GNU/Linux |
The combination of the two (GNU and Linux) is called GNU/Linux.
|
Linux kernel
• See more information here: Linux kernel |
---|
On GNU/Linux distributions and on Android devices, Linux is the name of the kernel. The Linux kernel was originally created by Linus Torvalds and is currently worked on by many developers and companies around the world. Because of the importance of the role of the Linux kernel in GNU/Linux distributions, such distributions are often referred to under the simplified term "Linux distributions" or "GNU/Linux distributions", here we use "GNU/Linux distributions". These days the Linux kernel is used not only in GNU/Linux distributions and Android devices, but also in embedded devices and appliances all around the world. GNU/Linux is also run on most of the world's fastest super computers. Linux is a complex and flexible kernel which makes it useful in a wide range of computing environments.
|
Linux-libre
Linux-libre is a modified version of the Linux kernel that contains no binary blobs, obfuscated code, or code released under proprietary licenses. In the Linux kernel, they are mostly used for proprietary firmware images. While generally redistributable, binary blobs do not give the user the freedom to audit, modify, or, consequently, redistribute their modified versions. The GNU Project keeps Linux-libre in synchronization with the mainline Linux kernel.
The Linux kernel started to include binary blobs in 1996. The work to clear out the binary blobs began in 2006 with gNewSense's find-firmware and gen-kernel. This work was taken further by the BLAG Linux distribution in 2007 when deblob and Linux-libre was born. Linux-libre was first released by the Free Software Foundation Latin America (FSFLA), then endorsed by the Free Software Foundation (FSF) as a valuable component for the totally free Linux distributions. It became a GNU package in March 2012. Alexandre Oliva is the project maintainer.
The removal process is achieved by using a script called |
Distribution
Please see GNU/Linux distribution |
LICENSES
GPL
The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses or copyleft that guarantee end users the four freedoms to run, study, share, and modify the software, and is one of the more commonly used free software licenses. The license was the first copyleft for general use and was originally written by Richard Stallman, the founder of the Free Software Foundation (FSF), for the GNU Project. Most components of GNU/Linux distributions are licensed under the GPL, which means GNU/Linux distributions can usually be modified and shared with others with few restrictions.
|
LGPL
The GNU Lesser General Public License (LGPL) is a free-software license published by the Free Software Foundation (FSF). The license allows developers and companies to use and integrate a software component released under the LGPL into their own (even proprietary) software without being required by the terms of a strong copyleft license to release the source code of their own components. However, any developer who modifies an LGPL-covered component is required to make their modified version available under the same LGPL license. For proprietary software, code under the LGPL is usually used in the form of a shared library, so that there is a clear separation between the proprietary and LGPL components. The LGPL is primarily used for software libraries, although it is also used by some stand-alone applications. The LGPL was developed as a compromise between the strong copyleft of the GNU General Public License (GPL) and more permissive licenses such as the BSD licenses and the MIT License. The word "Lesser" in the title shows that the LGPL does not guarantee the end user's complete freedom in the use of software; it only guarantees the freedom of modification for components licensed under the LGPL, but not for any proprietary components.
|
MIT License
The MIT License is a permissive software license originating at the Massachusetts Institute of Technology (MIT) in the late 1980s. As a permissive license, it puts very few restrictions on reuse and therefore has high license compatibility. Unlike copyleft software licenses, the MIT License also permits reuse within proprietary software, provided that all copies of the software or its substantial portions include a copy of the terms of the MIT License and also a copyright notice.
|
BSD Licenses
BSD licenses are a low restriction type of license for open source software that does not put requirements on redistribution. As a low restriction and requirement license type, Berkeley Source Distribution (BSD) licenses are used for the distribution of many freeware, Shareware and open source software. BSD licenses are much like the license that accompanied the original BSD. The original BSD Unix license was first written in 1969. There are 4 main clauses of the classic BSD license:
Similarly, other BSD licenses can have these clauses but may not include them all. As a base, the first two clauses are a part of any BSD license. There are two, three and four clause BSD licenses.
The BSD license is a type of open source license that permits the free use, modification and distribution of software. The BSD license is permissive, meaning that it imposes minimal restrictions on the use and distribution of the licensed software. The main requirement of the BSD license is that any redistribution of the software must include a copy of the license and a disclaimer. Many software developers and companies use this license to ensure that their work is accessible to a wide range of users, while maintaining the rights to the software. It was first used in 1980 for the Berkeley Source Distribution (BSD), also known as BSD UNIX, an enhanced version of the original UNIX operating system that was first written in 1969 by Ken Thompson at Bell Labs. The only restrictions placed on users of software released under a typical BSD license are that if they redistribute such software in any form, with or without modification, they must include in the redistribution the original copyright notice, a list of two simple restrictions and a disclaimer of liability. These restrictions can be summarized as one should not claim that they wrote the software if they did not write it and one should not sue the developer if the software does not function as expected or as desired. Some BSD licenses additionally include a clause that restricts the use of the name of the project (or the names of its contributors) for endorsing or promoting derivative works. Due to the extremely minimal restrictions of BSD-style licenses, software released under such licenses can be freely modified and used in proprietary (i.e., commercial) software for which the source code is kept secret. It is possible for a product to be distributed under a BSD-style license and for some other license to apply as well. The following BSD licenses are available:
|
ISC License
The ISC license is a permissive free software license published by the Internet Software Consortium, now called Internet Systems Consortium (ISC). It is functionally equivalent to the simplified BSD and MIT licenses, but without language deemed unnecessary following the Berne Convention. The ISC license it has become the preferred license for contributions to OpenBSD. The ISC license is also used for [{GNU/Linux]] wireless drivers contributed by Qualcomm Atheros, as well as by the LV2 plugin system. |
CDDL
The Common Development and Distribution License (CDDL) is a free and open source software license, produced by Sun Microsystems, based on the Mozilla Public License (MPL). Files licensed under the CDDL can be combined with files licensed under other licenses, whether open source or proprietary. In 2005 the Open Source Initiative (OSI) approved the license. The Free Software Foundation (FSF) considers it a free software license, but one which is incompatible with the GNU General Public License (GPL). OpenSolaris community contributions and Sun-written/-owned code is released under the Common Development and Distribution License (CDDL) Version 1.0. The OpenSolaris project also includes a number of existing open source project components, which are released under their current licenses.
|
WTFPL
The WTFPL is a permissive free software license. As a public domain like license, the WTFPL is essentially the same as dedication to the public domain. It allows redistribution and modification of the work under any terms. The name is an abbreviation of Do What The Fuck You Want To Public License. The first version of the WTFPL, released in March 2000, was written by Banlu Kemiyatorn for his own software project. Sam Hocevar, Debian's former project leader, wrote version 2.
The WTFPL intends to be a permissive, public-domain-like license. The license is not a copyleft license. The license differs from public domain in that an author can use it even if they do not necessarily have the ability to place their work in the public domain according to their local laws. The WTFPL does not include a no-warranty disclaimer, unlike other permissive licenses, such as the MIT License. Though the WTFPL is untested in court, the official website offers a disclaimer to be used in software source code.
|
TERMS AND PROJECTS
Operating system
An operating system (OS) is a collection of software which works together to make a computer or mobile device work. The operating system's job is to communicate with the computer's hardware, receive input (in the form of typing, voice commands and mouse movement) from the user and provide a way for applications to display output back to the user. An operating system typically consists of a kernel, some simple applications such as a text editor, a file manager, a method for installing/removing applications and quite often a desktop environment.
|
Free software
Free software is a special kind of open source software. Free software refers to software that has been licensed in such a way as to encourage users to be able to view, modify and redistribute the source code of programs they run on their computers. The Free Software Foundation, the primary advocate of free software, states on their website, "Free software developers guarantee everyone equal rights to their programs; any user can study the source code, modify it, and share the program. By contrast, most software carries fine print that denies users these basic rights, leaving them susceptible to the whims of its owners and vulnerable to surveillance." There is a common misconception that free software refers to software that is available at no monetary cost. However, this is not the case. While many free software programs are available at no charge, the term "free" in this case refers to the freedom to modify and redistribute software. In other words, "free software" is a similar concept to "freedom of speech". |
Free Software Fundation (FSF)
The Free Software Foundation (FSF) is a non-profit organization founded by Richard Stallman on 04/10/1985, to support the free software movement, with the organization's preference for software being distributed under copyleft ("share alike") terms, such as with its own GNU General Public License. The FSF was incorporated in Boston, Massachusetts, United States, where it is also based. From its founding until the mid-1990s, FSF's funds were mostly used to employ software developers to write free software for the GNU Project and its employees and volunteers have mostly worked on legal and structural issues for the free software movement and the free software community. Consistent with its goals, the FSF aims to use only free software on its own computers.
¨Website: https://www.fsf.org/ |
Kernel
An operating system is made up of many individual parts. One of the more important elements of an operating system is the kernel. The kernel's primary task is to communicate with the computer's hardware. The kernel allows applications to talk to or access a computer's hardware, like the mouse and keyboard. The kernel enables programs to write files to a computer's hard drive and read the files stores there. On modern operating systems the kernel makes it possible to run multiple programs at the same time. It might help to think of the kernel as the core or lowest level of the operating system. It is the part which holds control over all other aspects of the operating system. |
Open source
Open source is a term which is usually used to indicate that people who run a program can see the program's source code, the building blocks which are used to make the program work. Software licensed under an open source license can usually be modified and redistributed by anyone who has acquired a copy of the software. There are many types of open source licenses, with some being very liberal in what people can do while others may contain several restrictions which put limits on users and developers. As the Open Source Initiative's website states, "Generally, open source software is software that can be freely accessed, used, changed, and shared (in modified or unmodified form) by anyone. Open source software is made by many people, and distributed under licenses that comply with the The Open Source Definition." Open source software is often regarded as beneficial to users as anyone with the proper skills can fix or improve an open source program. In the open source community, such improvements are usually shared quickly and, as a result, all users of the software benefit. This is in contrast to proprietary software licenses where usually only one person or company is allowed to fix a program's bugs or improve the software. Since there is a lot of overlap between the concepts of open source software and free software, the two are often combined under the blanket term "free and open source software" or simply "FOSS". |
Rolling release
Rolling release, also known as rolling update or continuous delivery, is a concept in software development of frequently delivering updates to applications. This is in contrast to a standard or point release development model which uses software versions which replace the previous version. In software development a rolling release indicates that the software receives a steady stream of updates. In the case of Linux distributions this means that the operating system can be installed once and then receive a constant stream of software updates that offer users both new features and security updates. This allows users to stay up to date with the latest versions of software. |
Source-based distribution
Most GNU/Linux distributions are provided to the public in binary form. That is, the software which is packaged for the distribution has already been built from its source code into programs which can be run natively on the operating system. This is very convenient and is the way most operating systems are put together and distributed to end users. While binary packages are very convenient to work with, in some scenarios better performance and flexibility can be achieved by the end-user building the software they plan to run on their own, local machines. A source-based distribution packages and provides source archives rather than binary packages. The user, usually with the help of a package manager, downloads these source archives, optionally configures them and builds the source code into a running program. Quite often building packages from source code can take a long time, a few minutes to several hours, depending on the size of the application being built. Due to the complexity and the time required to build packages, not many users run source-based distributions. Those who do usually do so to enable (or disable) specific features or to strive for optimizations specific to their computer's hardware. |
Spin
The term "spin" or "distribution spin" is used to refer to an (often unofficial) distribution edition of a distribution which uses the same core technology and software repositories as the main edition, but includes a different set of software by default. For example, the Fedora distribution is currently available in three different official editions (Workstation, Server and Atomic). The Workstation edition features the GNOME desktop environment. People who wish to run the Fedora operating system, while using a different desktop, can use an unofficial edition or "spin" that features the KDE Plasma or Xfce desktop. These unofficial editions use the same core technology and can use the same software packages, but offer a different desktop environment and a few different applications. Spins are often created by community members and are a good way for a distribution's community to provide a wider range of install media that offer different tools or desktop environments. Spins, while convenient, are often not officially supported by the parent project. |
Fork
The term "Form" a project fork happens when developers take a copy of source code from one software package and start independent development on it, creating a distinct and separate piece of software. The term often implies not merely a development branch, but also a split in the developer community; as such, it is a form of schism. Grounds for forking are varying user preferences and stagnated or discontinued development of the original software. Free and open source software is that which, by definition, may be forked from the original development team without prior permission, and without violating copyright law. As a result of a bifurcation, several projects may derive from a pre-existing one, which may try to cover different but similar needs or implement different solutions to address the same problems and may even compete with each other. Forks of free and open source software projects can arise from a schism in goals or a clash of personalities. In a fork, both sides assume identical copyrights but typically only the larger group, or the one containing the original architect, will retain the full original name. Since this is freely licensed software, each member of the associated user community can choose to stay with the original project, or switch to the forked and upgraded version through a different form of management. |
Upstream (downstream)
The term upstream, as applied to software, refers to the origin of a program. For example, if a distribution packages Mozilla's Firefox web browser, then Mozilla is the "upstream" source of Firefox. The distribution packaging Firefox for its users is considered the "downstream" location of the Firefox package. Sometimes the "stream" becomes longer. For instance, The Document Foundation creates the LibreOffice productivity suite. Debian then packages LibreOffice for its users. Then another distribution, for example Ubuntu, takes Debian's package of LibreOffice and copies it. At this point there is a chain from The Document Foundation to Debian to Ubuntu. So Debian, being in the middle, is "upstream" for Ubuntu, but also "downstream" from The Document Foundation. This chain of ownership can become important when filing bug reports. Often times a distribution will advise bug reporters to file a bug "upstream" with the original authors of a piece of software if they do not have the time or expertise to fix the issue themselves. |
Desktop environment
A desktop environment (DE) is an implementation made of a bundle of programs running on top of an operating system that share a common graphical user interface (GUI), sometimes described as a graphical shell. The desktop environment was seen mostly on personal computers until the rise of mobile computing. Desktop GUIs help the user to easily access and edit files, while they usually do not provide access to all of the features found in the underlying operating system. Instead, the traditional command-line interface (CLI) is still used when full control over the operating system is required. A desktop environment typically consists of icons, windows, toolbars, folders, wallpapers and desktop widgets. A GUI might also provide drag and drop functionality and other features that make the desktop metaphor more complete. A desktop environment aims to be an intuitive way for the user to interact with the computer using concepts which are similar to those used when interacting with the physical world, such as buttons and windows. |
Window manager
A window manager is the software which enables the user to interact with multiple applications in a graphical user interface. The window manager handles the placement and general appearance of the application windows. While some people use window managers on their own, most people run full featured desktop environments, of which a window manager is one key component. A full desktop environment will feature helper applications, possibly resource monitors, panels and other convenient tools as well as the underlying window manager. Running a window manager by itself, without these extra applications, provides a desktop-like interface with less visual clutter and requires fewer resources. A window manager it can be part of a desktop environment or be used standalone. Stacking window managerIs a Window manager that draws and allows windows to overlap, without using a compositing algorithm. All window managers that allow the overlapping of windows but are not compositing window managers are considered stacking window managers, although it is possible that not all use exactly the same methods. Other window managers that are not considered stacking window managers are those that do not allow the overlapping of windows, which are called tiling window managers. Stacking window managers allow windows to overlap using clipping to allow applications to write only to the visible parts of the windows they present. Tiling window managerA tiling window manager is a window manager with an organization of the screen into mutually non-overlapping frames, as opposed to the more common approach (used by stacking window managers) of coordinate-based stacking of overlapping objects (windows) that tries to fully emulate the desktop metaphor. Dynamic window managerA dynamic window manager is a tiling window manager where windows are tiled based on preset layouts between which the user can switch. Layouts typically have a main area and a secondary area. The main area usually shows one window, but one can also change the number of windows in this area. Its purpose is to reserve more space for the more important window(s). The secondary area shows the other windows. Tiling window managers that don't use layouts are called manual tiling window managers. They let the user decide where windows should be placed. Compositing window managerA compositing manager, or compositor, is software that provides applications with an off-screen buffer for each window. The compositing manager composites the window buffers into an image representing the screen and writes the result into the display memory. A compositing window manager is a window manager that is also a compositing manager. Compositing managers may perform additional processing on buffered windows, applying 2D and 3D animated effects such as blending, fading, scaling, rotation, duplication, bending and contortion, shuffling, blurring, redirecting applications, and translating windows into one of a number of displays and virtual desktops. Computer graphics technology allows for visual effects to be rendered in real time such as drop shadows, live previews, and complex animation. Since the screen is double buffered, it does not flicker during updates. |
Display server
A display server or window server is a program whose primary task is to coordinate the input and output of its clients to and from the rest of the operating system, the hardware, and each other. The display server communicates with its clients over the display server protocol, a communications protocol, which can be network-transparent or simply network-capable. The display server is a key component in any graphical user interface, specifically the windowing system. The server/client relationship of a standalone display server is somewhat counterintuitive in that a "server" is usually thought of as a large, remote machine, whereas a standalone "display server" is a small local system, with most clients being executed on a larger central machine. The explanation is that a display server provides the services of a display and input devices.
|
X Window System
X (or X11, X Window System) is low level software (display server) for handling the display of graphical data on a computer screen and for receiving input from devices such as a mouse or keyboard. On GNU/Linux and BSD the X software is a core component of the graphical user interface and acts as a foundation for window managers and desktop environments. In recent years, some people have noted the X software and its legacy code have become difficult to maintain. This has given rise to alternative low-level graphical implementations such as Mir and Wayland. |
XFree86
XFree86 it was an implementation of the X Window System. It was originally written for Unix-like operating systems on IBM PC compatibles and was available for many other operating systems and platforms. It is free and open source software under the XFree86 License version 1.1. It was developed by the XFree86 Project, Inc. The lead developer was David Dawes. The last released version was 4.8.0, released December 2008. The last XFree86 CVS commit was made on May 18, 2009; the project was confirmed dormant in December 2011. For most of the 1990s and early 2000s, the project was the source of most innovation in X and was the de facto steward of X development. Until early 2004, it was almost universal on Linux and the BSDs. In February 2004, with version 4.4.0, The XFree86 Project began distributing new code with a copyright license that the Free Software Foundation considered GPL incompatible. Most open source operating systems using XFree86 found this unacceptable and moved to a fork from before the license change. The first fork was the abortive Xouvert, but X.Org Server soon became dominant. Most XFree86 developers also moved to X.Org.
|
X.Org Server
X.Org Server is the free and open source implementation of the X Window System (X11) display server stewarded by the X.Org Foundation, which emerged as a fork of the XFree86 project. Implementations of the client-side X Window System protocol exist in the form of X11 libraries, which serve as helpful APIs for communicating with the X server. Two such major X libraries exist for X11. The first of these libraries was Xlib, the original C language X11 API, but another C language X library, XCB, was created later in 2001. Other smaller X libraries exist, both as interfaces for Xlib and XCB in other languages, and as smaller standalone X libraries. The services with which the X.Org Foundation supports X Server include the packaging of the releases; certification (for a fee); evaluation of improvements to the code; developing the web site, and handling the distribution of monetary donations. The releases are coded, documented, and packaged by global developers. The X.Org Server implements the server side of the X Window System core protocol version 11 (X11) and extensions to it. The first version of the X.Org server (included in X11R6.7.0), was based on the XFree86 4.4 RC2 code, due to a license change in February 2004 (it was previously distributed under the MIT license, and the new license has incompatibilities with the GNU General Public License). Several of the previous developers of XFree86, such as Keith Packard, joined the project, since it is managed in a more open way than XFree86. The project runs under the auspices of the X.Org Foundation and is hosted at freedesktop.org. The latest version of the X Window System is X11R7.7.
|
Wayland
The term Wayland is usually used to refer both to the protocol being used in the background and the software used to implement the protocol. Many graphics libraries along with KDE's Plasma desktop and the GNOME Shell desktop have been ported to Wayland. At the time of writing, Wayland running the GNOME desktop is the default display server for the Fedora Workstation distribution. Wayland is a communication protocol that specifies the communication between a display server and its clients, as well as a C library implementation of that protocol. Wayland is developed by a group of volunteers initially led by Kristian Høgsberg as a free and open-source community-driven project with the aim of replacing the X Window System with a secure and simpler windowing system for 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 also develops a reference implementation of a Wayland compositor called Weston.
CompositorA display server using the Wayland protocol is called a Wayland compositor, because it additionally performs the task of a compositing window manager. |
Mir
Mir is a open source computer display server designed for Internet of Things (IoT) devices, and recently a Wayland compositor for the GNU/Linux operating system that is under development by Canonical Ltd. Originally built to power a whole range of devices, from desktops to mobile phones, it is also being used to power a new wave of graphical experiences in the IoT. It was planned to replace the currently used X Window System for Ubuntu; however, the plan changed and Mutter was adopted as part of GNOME Shell. Mir was announced by Canonical on 04/03/2013 as part of the development of Unity 8, intended as the next generation for the Unity user interface. Four years later Unity 8 was dropped although Mir's development continued for Internet of Things (IoT) applications. Mir was designed from the ground-up with security in mind. To meet the needs of today's users Mir avoids the X11 protocol and uses Wayland for a more modern and secure approach to graphics. Each application talks exclusively to the Mir server through its own socket that is both secure and robust against attack.
|
Package manager
A package manager or package-management system is a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer in a consistent manner.
Packages contain metadata, such as the software's name, description of its purpose, version number, vendor, checksum (preferably a cryptographic hash function), and a list of dependencies necessary for the software to run properly. Upon installation, metadata is stored in a local package database. Package managers typically maintain a database of software dependencies and version information to prevent software mismatches and missing prerequisites. They work closely with software repositories, binary repository managers, and app stores. Package managers are designed to eliminate the need for manual installs and updates.
Comparison of commandsAlthough the commands are specific for every particular package manager, they are to a large extent translatable, as most package managers offer similar functions.
|
Command Line Interface (CLI)
A Command Line Interface (CLI) is a type of computer user interface that allows users to give instructions to some computer program or to the operating system by means of a simple line of text. It should be noted that the concepts of CLI, shell and terminal emulator are not the same since CLI refers to the paradigm, while a shell or terminal emulator are specific computer programs, which usually together implement the CLI. However, the three are often used synonymously. CLIs can be used interactively, by typing instructions into some sort of text input, or they can be used in a much more automated way (batch file), by reading commands from a script file. |
Graphical User Interface (GUI)
A Graphical User Interface (GUI) is a form of user interface that allows users to interact with electronic devices through graphical icons and visual indicators such as secondary notation. In many applications, GUIs are used instead of text-based UIs, which are based on typed command labels or text navigation. GUIs were introduced in reaction to the perceived steep learning curve of command-line interfaces (CLIs), which require commands to be typed on a computer keyboard. |
Symmetric multiprocessing (SMP)
The SMP (symmetric multiprocessing) is computer processing done by multiple processors that share a common operating system and memory. In symmetric multiprocessing, the processors share the same input/output (I/O) bus or data path. A single copy of the OS is in charge of all the processors. SMP systems are better suited for online transaction processing than massively parallel processing (MPP) systems in which many users access the same database in a relatively simple set of transactions. Unlike MPP systems, SMP systems can dynamically balance the workload among computers to serve more users faster. The SMP computer architecture is a multiprocessor hardware and software architecture that has multiple identical processors. The processors equally share main memory and have access to all I/O devices. Today, most modern OSes support SMP machines. In the past, users had to learn special programming skills to use SMP.
Symmetric multiprocessing systems are used primarily in resource-intensive computing environments. These are environments that need a large amount of computing power to execute application tasks and processes. Most multiprocessor systems use SMP architectures. SMP is most useful for time-sharing systems and multithreading time-sharing systems. |
Userland
The term user space (or userland) refers to all code that runs outside the operating system's kernel. User space (userland) usually refers to the various programs and libraries that the operating system uses to interact with the kernel: software that performs input/output, manipulates file system objects, application software, etc. Each user space (userland) process normally runs in its own virtual memory space, and, unless explicitly allowed, cannot access the memory of other processes. This is the basis for memory protection in today's mainstream operating systems, and a building block for privilege separation. A separate user mode can also be used to build efficient virtual machines. With enough privileges, processes can request the kernel to map part of another process's memory space to its own, as is the case for debuggers. Programs can also request shared memory regions with other processes, although other techniques are also available to allow inter-process communication. |
Userland
(user |
User applications | bash, LibreOffice, GIMP, Blender, Mozilla Firefox, ... | ||||
---|---|---|---|---|---|---|
System components | init daemons: OpenRC, runit, systemd... |
System daemons: polkitd, Samba (smbd), sshd, udevd... |
Display server (Window system): X11, Wayland, Mir... |
Graphics: Mesa, AMD Catalyst, ... |
Other libraries: GTK, Qt, Enlightenment Foundation Libraries (EFL), Simple DirectMedia Layer (SDL), Simple and Fast Multimedia Library (SFML), Fast Light Toolkit (FLTK), GNUstep, ... | |
C standard library (libc) |
fopen , execv , malloc , memcpy , localtime , pthread_create ... (up to 2000 subroutines)glibc aims to be fast, musl aims to be lightweight, uClibc targets embedded systems, bionic was written for Android, etc. All aim to be POSIX/Single UNIX Specification (SUS)-compatible. | |||||
Kernel space |
Linux kernel |
stat , splice , dup , read , open , ioctl , write , mmap , close , exit , etc. (about 380 system calls)The Linux kernel System Call Interface (SCI), aims to be POSIX/Single UNIX Specification (SUS)-compatible | ||||
Process scheduling subsystem | Inter-process communication (IPC) subsystem | Memory management subsystem | Virtual files subsystem | Networking subsystem | ||
Other components: Advanced Linux Sound Architecture (ALSA), (Direct Rendering Infrastructure (DRI), evdev, klibc, Logical Volume Manager (Linux) (LVM), device mapper, Linux Network Scheduler, Netfilter Linux Security Modules: Security-Enhanced Linux (SELinux), TOMOYO Linux, AppArmor, Smack (Linux security module) | ||||||
Hardware (Central Processing Unit, (CPU); Random-Access Memory (main memory), data storage devices, etc.) |
Long-term support (LTS)
Long-term support (LTS) is a product lifecycle management policy in which a stable release of computer software is maintained for a longer period of time than the standard edition. The term is typically reserved for open-source software, where it describes a software edition that is supported for months or years longer than the software's standard edition. Short-term support (STS) is a term that distinguishes the support policy for the software's standard edition. STS software has a comparatively short life cycle, and may be afforded new features that are omitted from the LTS edition to avoid potentially compromising the stability or compatibility of the LTS release.
This table only lists software that have a specific LTS version in addition to a normal release cycle. Many projects, such as CentOS, provide a long period of support for every release.
|
LiveCD - LiveDVD - Live USB - LiveDistro - Live OS
A Live CD, Live DVD, Live USB, LiveDistro, or Live OS) is a complete bootable computer installation including operating system which runs directly from a storage device, into a computer's memory, rather than loading from a hard disk drive. It allows users to run an operating system for any purpose without installing it or making any changes to the computer's configuration. It can run on 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 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 Live CDs are used for data recovery, computer forensics, disk imaging, system recovery and malware removal. |
Respin - Spin-off - Remix - Flavor
Topic | Characteristics |
---|---|
Respin |
|
Spin-off |
|
Remix |
|
Flavor |
|
RespinA respin in GNU/Linux is a modified version of an existing Linux distribution, typically with additional software packages, bug fixes, or customization. Respins are often created by enthusiasts or communities to address specific needs or preferences. They are usually based on a stable release of a popular distribution and aim to provide a more tailored or enhanced experience. Examples of respins:
Spin-offA spin-off in GNU/Linux refers to a distribution that is derived or built from another existing or major distribution. For example, Ubuntu is considered a spin-off of Debian. These variants may have interface changes, pre-installed software packages, specific configurations, among other aspects, that distinguish them from the original distribution. Essentially, a GNU/Linux spin-off is a derivative version that is based on a main distribution but with specific modifications or customizations. It may share some common components or codebase but has a distinct identity, focus, and development process. Spin-offs often emerge from specific projects or communities within the larger GNU/Linux ecosystem. Examples of spin-offs:
RemixA GNU/Linux remix is a modified version of an existing distribution, usually with significant customizations to the desktop environment, pre-installed applications and software selection. Remixes are usually targeted at specific user niches or use cases, offering a customized and optimized experience. Examples of remixes:
In short, a Remix in Linux is a distribution derived from a main one, with specific modifications and customizations, either in software packages, configurations, user interface, or other aspects, that differentiate it from the original distribution. These Remixes seek to meet particular needs or preferences of users. FlavorA GNU/Linux flavor is an official variant of an existing distribution, offering different desktop environments or pre-installed software selections. Flavors are usually maintained by the core development team of the base distribution and provide alternative options for users who prefer a specific environment. Examples of flavors:
|