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, while not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-like application is one that behaves like the corresponding Unix command or shell. There is no standard for defining the term, and some difference of opinion is possible as to the degree to which a given operating system or application is "Unix-like".

The term can include free and open-source operating systems inspired by Bell Labs' Unix or designed to emulate its features, commercial and proprietary work-alikes, and even versions based on the licensed UNIX source code (which may be sufficiently "Unix-like" to pass certification and bear the "UNIX" trademark).

Unix history-simple
Evolution of Unix and Unix-like systems, starting in 1969

Definition

The Open Group owns the UNIX trademark and administers the Single UNIX Specification, with the "UNIX" name being used as a certification mark. They do not approve of the construction "Unix-like", and consider it a misuse of their trademark. Their guidelines require "UNIX" to be presented in uppercase or otherwise distinguished from the surrounding text, strongly encourage using it as a branding adjective for a generic word such as "system", and discourage its use in hyphenated phrases.[1]

Other parties frequently treat "Unix" as a genericized trademark. Some add a wildcard character to the name to make an abbreviation like "Un*x"[2] or "*nix", since Unix-like systems often have Unix-like names such as AIX, A/UX, HP-UX, IRIX, Linux, Minix, Ultrix, Xenix, Xinu, and XNU. These patterns do not literally match many system names, but are still generally recognized to refer to any UNIX descendant or work-alike system, even those with completely dissimilar names such as Darwin/macOS, illumos/Solaris or FreeBSD.

In 2007, Wayne R. Gray sued to dispute the status of UNIX as a trademark, but lost his case, and lost again on appeal, with the court upholding the trademark and its ownership.[3][4]

History

Unix timeline.en
Simplified history of Unix-like operating systems.

"Unix-like" systems started to appear in the late 1970s and early 1980s. Many proprietary versions, such as Idris (1978), UNOS (1982), Coherent (1983), and UniFlex (1985), aimed to provide businesses with the functionality available to academic users of UNIX.

When AT&T allowed relatively inexpensive commercial binary sub-licensing of UNIX in 1979, a variety of proprietary systems were developed based on it, including AIX, HP-UX, IRIX, SunOS, Tru64, Ultrix, and Xenix. These largely displaced the proprietary clones. Growing incompatibility among these systems led to the creation of interoperability standards, including POSIX and the Single UNIX Specification.

Various free, low-cost, and unrestricted substitutes for UNIX emerged in the 1980s and 1990s, including 4.4BSD, Linux, and Minix. Some of these have in turn been the basis for commercial "Unix-like" systems, such as BSD/OS and macOS. Several versions of (Mac) OS X/macOS running on Intel-based Mac computers have been certified under the Single UNIX Specification.[5][6][7][8][9][10][11] The BSD variants are descendants of UNIX developed by the University of California at Berkeley with UNIX source code from Bell Labs. However, the BSD code base has evolved since then, replacing all of the AT&T code. Since the BSD variants are not certified as compliant with the Single UNIX Specification, they are referred to as "UNIX-like" rather than "UNIX".

Categories

Dennis Ritchie, one of the original creators of Unix, expressed his opinion that Unix-like systems such as Linux are de facto Unix systems.[12] Eric S. Raymond and Rob Landley have suggested that there are three kinds of Unix-like systems:[13]

Genetic UNIX

Those systems with a historical connection to the AT&T codebase. Most (but not all) commercial UNIX systems fall into this category. So do the BSD systems, which are descendants of work done at the University of California, Berkeley in the late 1970s and early 1980s. Some of these systems have no original AT&T code but can still trace their ancestry to AT&T designs.

Trademark or branded UNIX

These systems‍—‌largely commercial in nature‍—‌have been determined by the Open Group to meet the Single UNIX Specification and are allowed to carry the UNIX name. Most such systems are commercial derivatives of the System V code base in one form or another, although Apple macOS 10.5 and later is a BSD variant that has been certified, and a few other systems (such as IBM z/OS) earned the trademark through a POSIX compatibility layer and are not otherwise inherently Unix systems. Many ancient UNIX systems no longer meet this definition.

Functional UNIX

Broadly, any Unix-like system that behaves in a manner roughly consistent with the UNIX specification, including having a "program which manages your login and command line sessions";[14] more specifically, this can refer to systems such as Linux or Minix that behave similarly to a UNIX system but have no genetic or trademark connection to the AT&T code base. Most free/open-source implementations of the UNIX design, whether genetic UNIX or not, fall into the restricted definition of this third category due to the expense of obtaining Open Group certification, which costs thousands of dollars for commercial closed source systems.

Around 2001, Linux was given the opportunity to get a certification including free help from the POSIX chair Andrew Josey for the symbolic price of one dollar. There have been some activities to make Linux POSIX-compliant, with Josey having prepared a list of differences between the POSIX standard and the Linux Standard Base specification,[15] but in August 2005, this project was shut down because of missing interest at the LSB work group.

Compatibility layers

Some non-Unix-like operating systems provide a Unix-like compatibility layer, with variable degrees of Unix-like functionality.

Other means of Windows-Unix interoperability include:

  • The above Windows packages can be used with various X servers for Windows
  • Hummingbird Connectivity provides several ways for Windows machines to connect to Unix and Linux machines, from terminal emulators to X clients and servers, and others
  • The Windows Resource Kits for versions of Windows NT include a Bourne Shell, some command-line tools, and a version of Perl
  • Hamilton C shell is a version of csh written specifically for Windows.

See also

References

  1. ^ "Legal: Trademark Guidelines". The Open Group. Archived from the original on October 2, 2013. Retrieved November 4, 2013.
  2. ^ Eric S. Raymond; Guy L. Steele Jr. "UN*X". The Jargon File. Retrieved January 22, 2009.
  3. ^ Gray v. Novell, X/Open Company, The SCO Group (11th Cir. January 7, 2011). Text
  4. ^ "More Wayne Gray. No! Again? Still?! Yes. He Wants to Reopen Discovery in the USPTO Dispute". Groklaw. April 22, 2011. Retrieved February 5, 2013.
  5. ^ "Mac OS X Version 10.5 on Intel-based Macintosh computers". The Open Group. Retrieved December 4, 2014.
  6. ^ "Mac OS X Version 10.6 on Intel-based Macintosh computers". The Open Group. Retrieved December 4, 2014.
  7. ^ "Mac OS X Version 10.8 on Intel-based Macintosh computers". The Open Group. Retrieved December 4, 2014.
  8. ^ "OS X Version 10.9 on Intel-based Macintosh computers". The Open Group. Retrieved December 4, 2014.
  9. ^ "OS X version 10.10 Yosemite on Intel-based Mac computers". The Open Group. Retrieved October 23, 2015.
  10. ^ "OS X version 10.11 El Capitan on Intel-based Mac computers". The Open Group. Retrieved October 23, 2015.
  11. ^ "macOS version 10.12 Sierra on Intel-based Mac computers". The Open Group. Retrieved October 13, 2016.
  12. ^ Interview with Dennis M. Ritchie Manuel Benet, LinuxFocus, July 1999
  13. ^ The meaning of 'Unix' Eric Raymond and Rob Landley, OSI Position Paper on the SCO-vs.-IBM Complaint
  14. ^ "Introduction to UNIX - Part 1: Basic Concepts". Retrieved April 4, 2014.
  15. ^ Andrew Josey (August 20, 2005). "Conflicts between ISO/IEC 9945 (POSIX) and the Linux Standard Base". The Open Group. Retrieved July 23, 2012.
  16. ^ BASH Running in Ubuntu on Windows - MSDN

External links

At (command)

In computing, at is a command in Unix-like operating systems, Microsoft Windows, and ReactOS used to schedule commands to be executed once, at a particular time in the future.

Basename

basename is a standard computer program on Unix and Unix-like operating systems. When basename is given a pathname, it will delete any prefix up to the last slash ('/') character and return the result. basename is described in the Single UNIX Specification and is primarily used in shell scripts.

BlackBerry Tablet OS

BlackBerry Tablet OS is an operating system from BlackBerry Ltd based on the QNX Neutrino real-time operating system designed to run Adobe AIR and BlackBerry WebWorks applications, currently available for the BlackBerry PlayBook tablet computer.

The BlackBerry Tablet OS is the first tablet running an operating system from QNX (now a subsidiary of RIM).

BlackBerry Tablet OS supports standard BlackBerry Java applications. Support for Android apps has also been announced, through sandbox "app players" which can be ported by developers or installed through sideloading by users. A BlackBerry Tablet OS Native Development Kit, to develop native applications with the GNU toolchain is currently in closed beta testing. The first device to run BlackBerry Tablet OS was the BlackBerry PlayBook tablet computer.A similar QNX-based operating system, known as BlackBerry 10, replaced the long-standing BlackBerry OS on handsets after version 7.

Chown

The command chown, an abbreviation of change owner, is used on Unix and Unix-like operating systems to change the owner of file system files, directories. Unprivileged (regular) users who wish to change the group membership of a file that they own may use chgrp.

The ownership of any file in the system may only be altered by a super-user. A user cannot give away ownership of a file, even when the user owns it. Similarly, only a member of a group can change a file's group ID to that group

Cksum

cksum is a command in Unix-like operating systems that generates a checksum value for a file or stream of data. The cksum command reads each file given in its arguments, or standard input if no arguments are provided, and outputs the file's CRC checksum and byte count.

The cksum command can be used to verify that files transferred by unreliable means arrived intact. However, the CRC checksum calculated by the cksum command is not cryptographically secure: While it guards against accidental corruption (it is unlikely that the corrupted data will have the same checksum as the intended data), it is not difficult for an attacker to deliberately corrupt the file in a specific way that its checksum is unchanged. Unix-like systems typically include other commands for cryptographically secure checksums, such as sha256sum.

Cygwin

Cygwin ( SIG-win) is a POSIX-compatible environment that runs natively on Microsoft Windows. Its goal is to allow programs of Unix-like systems to be recompiled and run natively on Windows with minimal source code modifications by providing them with the same underlying POSIX API they would expect in those systems.

The Cygwin installation directory behaves like the root and follows a similar directory layout to that found in Unix-like systems, with familiar directories like /bin, /home, /etc, /usr, /var available within it, and includes by default hundreds of programs and command-line tools commonly found in the Unix world, plus the terminal emulator Mintty which is the default command-line interface tool provided to interact with the environment.

Cygwin provides native integration of Windows-based applications, data, and other system resources with applications, software tools, and data of the Unix-like environment. Thus it is possible to launch Windows applications from the Cygwin environment, as well as to use Cygwin tools and applications within the Windows operating context.

Cygwin consists of two parts: a dynamic-link library (DLL) as an API compatibility layer in the form of a C standard library providing a substantial part of the POSIX API functionality, and an extensive collection of software tools and applications that provide a Unix-like look and feel.

Cygwin was originally developed by Cygnus Solutions, which was later acquired by Red Hat, to port the Gnu/Linux toolchain to Win32, including the GNU Compiler Suite. Rather than rewrite all the tools to use Win32 runtimes, Cygwin implemented a POSIX compatible runtime as a DLL. It is free and open-source software, released under the GNU Lesser General Public License version 3. Today it is maintained by employees of Red Hat, NetApp and many other volunteers.

Head (Unix)

head is a program on Unix and Unix-like operating systems used to display the beginning of a text file or piped data.

Join (Unix)

join is a command in Unix and Unix-like operating systems that merges the lines of two sorted text files based on the presence of a common field. It is similar to the join operator used in relational databases but operating on text files.

List of operating systems

This is a list of operating systems. Computer operating systems can be categorized by technology, ownership, licensing, working state, usage, and by many other characteristics. In practice, many of these groupings may overlap. Criteria for inclusion is notability, as shown either through an existing Wikipedia article or citation to a reliable source.

List of web browsers for Unix and Unix-like operating systems

The following is a list of web browsers for various Unix and Unix-like operating systems. Not all of these browsers are specific to these operating systems; some are available on non-Unix systems as well. Some, but not most work for Android.

MINIX

MINIX (from "mini-Unix") is a POSIX-compliant (since version 2.0), Unix-like operating system based on a microkernel architecture.

Early versions of MINIX were created by Andrew S. Tanenbaum for educational purposes. Starting with MINIX 3, the primary aim of development shifted from education to the creation of a highly reliable and self-healing microkernel OS. MINIX is now developed as open-source software.

MINIX was first released in 1987, with its complete source code made available to universities for study in courses and research. It has been free and open-source software since it was re-licensed under the BSD license in April 2000.It is the most popular operating system in the world, as it is included in every modern Intel computer.

PATH (variable)

PATH is an environment variable on Unix-like operating systems, DOS, OS/2, and Microsoft Windows, specifying a set of directories where executable programs are located. In general, each executing process or user session has its own PATH setting.

Pwd

In Unix-like and some other operating systems, the pwd command (print working directory)

writes the full pathname of the current working directory to the standard output.

QNX

QNX ( or ) is a commercial Unix-like real-time operating system, aimed primarily at the embedded systems market. The product was originally developed in the early 1980s by Canadian company Quantum Software Systems, later renamed QNX Software Systems and ultimately acquired by BlackBerry in 2010. QNX was one of the first commercially successful microkernel operating systems and is used in a variety of devices including cars and mobile phones.

Rmdir

rmdir (or rd) is a command which will remove an empty directory on a Unix (e.g. macOS, Solaris, AIX, HP-UX), Unix-like (e.g. FreeBSD, Linux), DOS, FlexOS, OS/2, Microsoft Windows or ReactOS operating system.

The command is also available in the open source MS-DOS emulator DOSBox. The numerical computing environments MATLAB and GNU Octave include an rmdir

function with similar functionality.

Superuser

In computing, the superuser is a special user account used for system administration. Depending on the operating system (OS), the actual name of this account might be root, administrator, admin or supervisor. In some cases, the actual name of the account is not the determining factor; on Unix-like systems, for example, the user with a user identifier (UID) of zero is the superuser, regardless of the name of that account; and in systems which implement a role based security model, any user with the role of superuser (or its synonyms) can carry out all actions of the superuser account.

The principle of least privilege recommends that most users and applications run under an ordinary account to perform their work, as a superuser account is capable of making unrestricted, potentially adverse, system-wide changes.

Tee (command)

In computing, tee is a command in command-line interpreters (shells) using standard streams which reads standard input and writes it to both standard output and one or more files, effectively duplicating its input. It is primarily used in conjunction with pipes and filters. The command is named after the T-splitter used in plumbing.

Touch (command)

In computing, touch is a command in Unix and Unix-like operating systems, the AROS shell, and the OS-9 shell used to update the access date and/or modification date of a computer file or directory. The command is also available for FreeDOS and Microsoft Windows.

Whoami

In computing, whoami is a command found on most Unix-like operating systems, every Windows operating system since Windows Server 2003, and on ReactOS. It is a concatenation of the words "Who am I?" and prints the effective username of the current user when invoked.

Unix and Unix-like operating systems
File system
Processes
User environment
Text processing
Shell builtins
Searching
Documentation
Software development
Miscellaneous
General
Kernel
Process management
Memory management and
resource protection
Storage access and
file systems
List
Miscellaneous concepts

This page is based on a Wikipedia article written by authors (here).
Text is available under the CC BY-SA 3.0 license; additional terms may apply.
Images, videos and audio are available under their respective licenses.