Table of Contents

What is Unix?

Unix is a comprehensive suite of programs designed to make a computer function efficiently. It is widely recognized as a stable, multi-user, and multi-tasking operating system.

The User Interface:

  • Graphical User Interface (GUI): Modern Unix systems offer a GUI similar to Microsoft Windows, providing a user-friendly workspace.
  • Command Line Necessity: Despite the GUI, deep knowledge of Unix is essential for advanced operations not covered by graphical tools or when accessing systems remotely (e.g., via a telnet session).

Historical Evolution

The journey of Unix began with a focus on shared resources and portability. The core concepts originated in the 1969 Multics project, which was designed as a time-sharing system to allow multiple users to access a mainframe simultaneously.

Developed by pioneers Ken Thompson and Dennis Ritchie, Unix introduced fundamental building blocks like the hierarchical file system and command-line interpreters on the PDP-7 machine.

As different proprietary versions (like HP-UX and SunOS) emerged, incompatibility grew. This led to the creation of POSIX (Portable Operating System Interface) standards to ensure interoperability. Today, the Unix family includes modern POSIX-compliant systems like Linux (and its many variants) and Mac OS.

System Architecture and Philosophy

Unix is built on a modular philosophy: programs should be single-purpose, interoperable, and work with a standardized text interface.

The Kernel:

At the heart of the system lies the Kernel, which acts as the primary manager for hardware and processes. Its subsystems include:

  • Process Management: Handling multiple running programs.
  • File and Memory Management: Organizing data storage and RAM allocation.
  • Network Management: Controlling data exchange over networks.

Salient Features of Unix

Unix stands out due to several pioneering features that defined modern computing:

  1. Multi-User & Multi-Tasking: Multiple users can share the same hardware resources simultaneously, and each user can execute several processes at once.
  2. High-Level Language (C): Unix was the first OS written in a high-level language (C Language). This made the system exceptionally easy to "port" to different hardware with minimal changes.
  3. Hierarchical File Structure: It organizes data in a tree-like structure, making maintenance and access highly intuitive.
  4. Built-in Networking: Networking functions are integrated into the core, allowing users to exchange information effortlessly.
  5. Extensibility: Users can extend the system's functionality by building their own programs on a standard interface.

Essential Unix Commands

While Unix has a vast library of tools, these basic commands are the starting point for any user:

  1. who – find out who is logged into the system
  2. date – show current date and time
  3. passwd – change user password
  4. mkdir – make new directory
  5. rmdir – remove directories in Unix
  6. cd – change directory
  7. cal – to display calendar
  8. tty – to display the terminal name on which user is working
  9. bc – to display the calculator
  10. ls – list files and directories
  11. cp – copy files (work in progress)
  12. rm – remove files and directories (work in progress)