Unix-like

From Pulsed Media Wiki
Revision as of 10:43, 7 May 2025 by Gallogeta (talk | contribs) (Information)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


Unix-like (or UN*X, *NIX) is a category of operating systems that share conceptual and often functional similarities to the original Unix operating system, first developed at Bell Labs in the 1970s. While they may not be certified as "UNIX" by The Open Group (the current trademark holder) and their source code is not derived from AT&T's proprietary Unix source, they implement many of the same features and follow similar design principles.

The term arose to describe the growing number of operating systems that emulated the behavior of Unix but were independently developed or based on non-AT&T codebases, often for licensing or technical reasons.

Overview and Definition

Unix-like systems broadly adhere to the "Unix philosophy" and architecture. They typically provide a multitasking, multi-user environment, a hierarchical file system with devices and inter-process communication handled as files, and a powerful command-line interface with utilities that can be combined using pipes.

The term "Unix-like" is not a rigid technical standard but rather a descriptive term for systems that exhibit these characteristics and are broadly compatible with Unix APIs (often aiming for compliance with standards like POSIX).

Key Characteristics of Unix-like Systems

Unix-like systems share many common traits:

Command-Line Interface (CLI)
A central feature, providing access to a powerful shell (like Bash, Zsh, or Tcsh) and a vast collection of text-based utilities and commands for system administration, scripting, and software development.
Hierarchical File System
A unified tree-like file system structure starting from a single root directory (`/`). Devices, processes, and network connections are often represented as files within this hierarchy ("everything is a file"). Standard directories like `/bin`, `/etc`, `/home`, `/usr`, `/var` have conventional purposes.
Multitasking and Multi-user Capabilities
Designed from the ground up to allow multiple programs (processes) to run concurrently and support multiple users logged in and interacting with the system simultaneously.
Inter-Process Communication
Provides various mechanisms for processes to communicate and synchronize, including pipes, signals, shared memory, and sockets.
Networking
Strong built-in support for TCP/IP and other networking protocols.
Unix Philosophy
Adherence to design principles like writing programs that do one thing well, working with text streams, and using pipes to connect programs together.

Distinction from Certified UNIX

"UNIX" is a registered trademark held by The Open Group. Only operating systems that meet the Single UNIX Specification – a set of standards defining the required behavior and APIs – can be officially certified and use the "UNIX" name.

Unix-like systems, while functionally similar and often complying with standards like POSIX (Portable Operating System Interface, an IEEE standard specifying a standard interface for Unix-like OSs), do not hold this official certification. This is often because their codebase is not licensed from the original AT&T/Novell/SCO sources, or they have not undergone the certification process.

History

The original Unix operating system was developed by Ken Thompson and Dennis Ritchie at Bell Labs starting in the late 1960s. It was initially distributed widely, especially to universities, leading to various modifications and reimplementations.

Significant branches of Unix-like development include:

  • BSD (Berkeley Software Distribution): Developed at the University of California, Berkeley, BSD added many features to early Unix and became a major branch. Modern BSD variants (FreeBSD, OpenBSD, NetBSD) are direct descendants of BSD and are Unix-like systems.
  • GNU Project: Started by Richard Stallman in 1983 to create a complete, free Unix-like operating system. The GNU Project developed many core utilities (shell, compiler, text editor, etc.) that are now ubiquitous on Unix-like systems.
  • Linux kernel: Developed by Linus Torvalds starting in 1991, the Linux kernel combined with the GNU utilities formed complete, free Unix-like operating systems (commonly called GNU/Linux distributions), which quickly became very popular.

Other proprietary Unix systems (like Solaris, AIX, HP-UX), while historically certified UNIX versions or derived from licensed Unix source, also exhibit Unix-like characteristics. The development of standards like POSIX helped ensure a degree of compatibility across different Unix and Unix-like systems.

Examples of Unix-like Systems

Prominent examples of modern Unix-like operating systems include:

  • Linux: A kernel around which many different distributions are built (e.g., Debian, Ubuntu, Fedora, CentOS, Red Hat Enterprise Linux, Alpine Linux). Widely used on servers, desktops, and embedded systems.
  • BSD Variants: FreeBSD, OpenBSD, NetBSD. Known for their robustness and clean design, often used for servers and networking appliances.
  • macOS / iOS: Apple's operating systems for Mac computers and mobile devices. They are based on Darwin, a core containing a Mach kernel and BSD components.

See also


External links