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:
- Multi-User & Multi-Tasking: Multiple users can share the same hardware resources simultaneously, and each user can execute several processes at once.
- 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.
- Hierarchical File Structure: It organizes data in a tree-like structure, making maintenance and access highly intuitive.
- Built-in Networking: Networking functions are integrated into the core, allowing users to exchange information effortlessly.
- 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:
- who – find out who is logged into the system
- date – show current date and time
- passwd – change user password
- mkdir – make new directory
- rmdir – remove directories in Unix
- cd – change directory
- cal – to display calendar
- tty – to display the terminal name on which user is working
- bc – to display the calculator
- ls – list files and directories
- cp – copy files (work in progress)
- rm – remove files and directories (work in progress)