23CA103 UNIX ARCHITECTURE AND PROGRAMMING
UNIT-1 INTRODUCTION
Unix Overview
Unix is a powerful, multiuser, multitasking operating system originally developed in the 1970s. It’s
known for its stability, flexibility, and the philosophy of building small, modular tools that do one
thing well.
Multiuser: Multiple users can work on the system simultaneously without interfering with
each other.
Multitasking: Runs multiple processes at the same time.
File System: Everything is treated as a file—from documents to hardware devices.
Shell: The command-line interface that interprets user commands; Unix has several shells
like Bourne Shell (sh), C Shell (csh), and Bourne Again Shell (bash).
Portability: Unix is designed to be portable across different hardware platforms.
Security: Uses permissions and ownership to control access.
Tools and Utilities: Built on a collection of small, modular programs that can be combined in
powerful ways (pipes, filters, etc.).
Process Management: Allows users and the system to manage running programs efficiently.
Unix Structure
Unix is built with a clear, layered structure that keeps things organized and flexible. Its main
components include:
Kernel: The heart of Unix. It manages hardware resources, process scheduling, memory, file
systems, and device control. It acts as the bridge between the hardware and user
applications.
Shell: The command interpreter that provides the user interface. It reads user commands,
interprets them, and passes them to the kernel for execution. Common shells include the
Bourne Shell (sh), C Shell (csh), and Bash (bash).
File System: A hierarchical organization of files and directories, starting from the root (/).
Everything in Unix is treated as a file, including hardware devices and processes.
Processes: Running instances of programs managed by the kernel. Unix supports
multitasking and multiuser environments by handling multiple processes simultaneously.
Utilities: A rich set of small, specialized programs that perform specific tasks, like file
manipulation, text processing, and system monitoring. These can be combined to perform
complex operations.
Users and Permissions: Unix is designed to support multiple users, each with a defined set of
permissions controlling access to files and resources.
Unix Structure: File System
Unix organizes data in a hierarchical file system that resembles an upside-down tree. At the top, you
have the root directory (/), and everything else branches out from there.
Root Directory (/): The starting point of the Unix file system.
Directories: Containers for files and other directories (subdirectories).
Files: Basic units of storage. Unix treats everything as a file — whether it’s a text document, a
device, or a process.
Absolute vs Relative Paths:
o Absolute Path: Full path starting from root, e.g., /home/user/docs.
o Relative Path: Path relative to the current directory, e.g., docs/report.txt.
File Types:
o Regular files (text or binary)
o Directories
o Special files (devices, sockets, pipes)
Permissions: Unix controls access with read (r), write (w), and execute (x) permissions for
user, group, and others.
Inodes: Each file is represented by an inode, containing metadata like ownership,
permissions, timestamps, and file location.
Mounting: File systems can be mounted to specific directories, allowing access to storage
devices or remote filesystems in the hierarchy.