Unix is ​​an “ideal” operating system that has been developed by many different vendors over the years. There are many different Unix systems that differ in functionality, external appearance, license model, and other non-standard features, developed by these different vendors. Some examples are Linux distributions, BSD systems, Sun/Oracle Solaris, or Apple OS X. However, there are a number of features that are common to all Unix and Unix-like systems. Unix systems have a hierarchical file system that allows relative and absolute file path names. These file systems can be mounted locally or remotely from the file server. All operations on file systems are performed by processes, which can spawn child processes to perform discrete tasks. All processes can be identified by their unique process ID (PID).

Unix systems have a core kernel that is responsible for managing core system operations, such as logical input/output devices (for example, /dev/pty) and the allocation of resources to user and system services.

Originally designed as a text processing system, Unix systems share many tools that manipulate and filter text in various ways. Also, small utilities can be easily combined to form full applications in quite sophisticated ways. The output of an application can be redirected to a file or to another application. Combining applications with redirects allows the creation of simple or more complex scripts that are capable of performing complicated and automated operations on text and files. These applications and scripts are executed from a user shell, which defines the user interface for the kernel.

Unix is ​​a multithreaded, multiuser, multithreaded system. This means that more than one user can run a shell and applications at the same time, and each user can run applications at the same time from a single shell. Each of these applications can create and kill lightweight processes as needed. Because Unix was created by active developers, rather than operating system administrators, it is better suited to the needs of programmers.

Following are some features common to typical Unix applications that follow Unix principles.

  • Programs are small, self-contained programs, usually created to perform a single task. If a new task needs to be solved, usually a few programs are developed or existing programs are combined into one script.
  • Programs accept data from standard input and write to standard input, and in return can be chained together to process each other’s output sequentially. The programs are not interactive, but instead present a wide range of command line options that specify the action performed. These ideas are consistent with the concept of channeling, which remains central to the operation of user housings. For example, the output of the ls command to list all the files in a directory can be “piped” using the | symbol to a program like grep to perform pattern matching. The number of pipelines in a single command line statement is not limited.
  • If any software is not working properly, a new one is usually developed within weeks or sometimes days.

This list is not an exhaustive explanation of what the Unix system is. It is more of a guide to understanding what makes Unix a great operating system.

Leave a Reply

Your email address will not be published. Required fields are marked *