In basic general terms, Unix is an Operating System. An Operating System is a control program or manager for some type of hardware such as computer hardware.
Unix is the most widely used Operating System (OS) globally. Unix is a multiuser and multitasking operating system which enables multiple users to run various programs at the same time on a single machine. After many years of use, Unix is still regarded as one of the most powerful, versatile, flexible and reliable operating systems in the world of computing. This operating system was initially designed for a large number of programmers access the computer at the same time and share its resources.
Unix operating system controls the commands from the keyboards manage generated data which let each user believe he or she is the only person working on the machine. The real-time sharing of resources makes Unix like Operating System one of the most powerful operating systems ever.
Main Features of Unix Operating System
The Unix Operating System has various features such as flexibility, stability, power, robustness etc. Some of these features include,
- Unix is a multi-user and multi-tasking Operating System which allows multiple users to access and share resources concurrently.
- The Unix OS is written in C programming language (high-level programming language). This makes easy for programmers to read and modify the source code of the operating system.
- Unix hides the details of low-level machine architecture from the user which makes application programs easier to port to other hardware.
- Unix provides a simple but powerful command line Interface.
- The command interface provides primitive commands that can be combined to make larger and more complex programs from smaller programs.
- Unix OS has a hierarchical file system which allows for effective and efficient implementation while providing a solid logical file representation for users.
UNIX OS Architecture
The UNIX operating system is functionally organized at below three levels,
- The kernel schedules tasks and manages storage.
- The shell connects and interprets commands calls programs and executes them.
- The tools and applications provides additional functionality to the operating system.
Kernel is the heart of Unix Operating System. It manages resource of Unix Operating System. Resources means facilities available in Unix such as file management, facility to store data, print data on printer, memory management, etc.
- Kernel decides which program will use the resources, for how long and when.
- The kernel is an intermediary program between the computer hardware and various programs/application/shell.
- The kernel controls the hardware and turns part of the system on and off at the users command. If we ask the computer to list the files within a directory then kernel asks the computer to read all the files in from that directory and display on screen.
Computers only understand the binary language (0’s and 1’s). In earlier days of computing, instruction are given using binary language which is difficult for humans to read and write. So in Operating System, we have a special program called Shell. Shell accepts your instruction or commands and if it’s a valid command then it is passed to kernel. Shell is a user program for user interaction to the OS.
Basic Concepts of Unix Filesystem
All files in UNIX like operating system, are related to one another. The file-system is a collection of all these related files organized in a hierarchical architecture. Every UNIX file system has a top directory which serves as the reference point for all files. This top directory is called root directory and is represented by a forward slash (/). The root directory has a number of subdirectories. These subdirectories have other sub directories under them.
- / – it is the starting directory for Unix OS which is called root directory.
- etc – It contains all system configuration files and the files which maintain information about users and groups.
- boot – It contains the boot information of the operating system.
- bin – It contains all binary executable files (command that can be used by normal user also)
- usr – This is default directory provided by Unix OS to create users home directories and contains manual pages – also contains executable commands
- tmp – Here system or user creates temporary files which will be removed when the server reboots.
- dev – it contains all device files i.e. logical file names to physical devices.
- home – it contains user directories and files.
- lib – it contains all library files.
- mnt – it contains device files related to mounted devices.
- proc – it contains files related to system processes.
- root – the root users’ home directory ( this is different than /).
- home – This is default directory allocated for the home directories of normal users when the administrator don’t specify any other directory.
- var – It contains all system log files and message files.
- sbin – it contains all system administrator executable files ( command generally normal users don’t have the privileges).
Read Also : How to Add and Remove Users in RHEL/CentOS