Introduction to UNIX
- The UNIX operating system is a set of programs that act as a link between the computer and the user
- UNIX is a computer Operating System which is capable of handling activities from multiple users at the same time. hence UNIX is called a multiuser system
- A user can also run multiple programs at the same time; hence UNIX is called multitasking.
- UNIX has been found to be a very robust and reliable operating system. Unlike some of the other operating systems, UNIX rarely, if ever, crashes with memory or segmentation problems.
- It is a highly portable operating system. Having been written in C, as against assembly language, it is independent of any particular hardware architecture. This also leads to software portability, i.e., a software developed using a Unix system can be easily ported to any other Unix system, even if the other system is on a different hardware architecture.
UNIX Operating System
- The kernel of UNIX is the hub of the operating system: it allocates time and memory to programs and handles the file store and communications in response to system calls.
- The computer programs that allocate the system resources and coordinate all the details of the computer’s internals is called the operating system or kernel.
- Kernel interacts with hardware and most of the tasks like memory management, task scheduling and file management.
- Allocates time and memory to programs
- Handles storage of files etc.
- When a user logs in, the login program checks the username and password, and then starts another program called the shell.
- Users communicate with the kernel through a program known as the shell.
- The shell is the utility that processes your requests
- The shell is a command line interpreter; it translates commands entered by the user and converts them into a language that is understood by the kernel.
- The shell uses standard syntax for all commands
- C Shell, Bourne Shell and Korn Shell are most famous shells which are available with most of the UNIX variants.
The tcsh shell has certain features to help the user inputting commands.
Filename Completion – By typing part of the name of a command, filename or directory and pressing the [Tab] key, the tcsh shell will complete the rest of the name automatically. If the shell finds more than one name beginning with those letters you have typed, it will beep, prompting you to type a few more letters before pressing the tab key again.
History – The shell keeps a list of the commands you have typed in. If you need to repeat a command, use the cursor keys to scroll up and down the list or type history for a list of previous commands.
As an illustration of the way that the shell and the kernel work together, suppose a user types rm myfile (which has the effect of removing the file myfile). The shell searches the file store for the file containing the program rm, and then requests the kernel, through system calls, to execute the program rm on myfile. When the process rm myfile has finished running, the shell then returns the UNIX prompt % to the user, indicating that it is waiting for further commands.
Commands and Utilities
- There are various command and utilities which you would use in your day to day activities.
- cp, mv, cat and grep etc. are few examples of commands and utilities.
Files and Directories
- Everything in UNIX is either a file or a process.
- All data in UNIX is organized into files.
- All files are organized into directories.
- These directories are organized into a tree-like structure called the file system.
- All the files are grouped together in the directory structure. The file-system is arranged in a hierarchical structure, like an inverted tree. The top of the hierarchy is traditionally called root (written as a slash / )