Introduction to Unix Architecture
The architecture of Unix is divided into kernel, hardware, shell, files and directories in which the kernel manages the connections related to hardware, applications and commands. While the second layer is hardware and the third layer called shell is the bridge between the user, commands executed by the user and the commands in Unix that are already predefined and the last layer is files and directories which are called Unix programs mostly and can be considered as commands in Unix.
UNIX can also be called as an operating system that has its utilization in both work stations and servers. This is important for the development of the internet and the reconfiguration of computer systems. Unix was developed by Ken Thompson, Dennis Ritchie and other people working at AT&T laboratories. This was mainly developed for the intention to help the programmers develop software rather than non-programmers. However, now it is used by everyone because of its simplicity. This is designed to be accessed by multiple people at a time and be multitasking and time-sharing configuration.
UNIX operated systems are classified into various sub context let us know about them below-
- The first step is the Plain Text for data storage.
- This consists of the hierarchical file system.
- Considering treating devices and interprocess communications as a file.
- The fourth part is the use of a large number of software tools in other words which can be categorized into small programs connected through an interpreter using pipes.
Unix Application Programming Interface
Many of the operating systems have a simple view of how applications behave depending on their use. The application written in the operating system reads the data from disk, terminal, printer or tape and does the required processing on the other end required output is produced on to the disk, terminal, printer or tape. Generally, operating systems are inbuilt with well-implemented facilities to support such kind of applications.
As the applications, demand raises the need for more sophisticated features such as network access, inter-process communication, multitasking also increases. These features are not documented and cannot be understood easily. The main thing is these are callable only from assembly level language. The kind of program written with these features is tough to handle and maintain.
The architecture of UNIX is basically divided into four main layers-
- Files and directories
The first layer kernel deals with all the hardware connections all the applications and commands are associated with it. Hardware is the second layer. The third layer known as shell acts as the bridge between the user, user commands and predefined UNIX commands. Last but not the least files and directories can be concluded as the UNIX commands which will be UNIX programs in most cases. The final layer is the user. This means the whole operating system is visible to the user from the shell itself
Let us know about each of them in detail:
Amongst the four layer’s kernel is the most powerful one. The kernel contains mainly utilities along with the master control program. Kernel program has the power to start or stop a program and even handle the file system. It also suggests which program to be selected when two resources try to access the device at the same time for the same resource. As the kernel has special access to the OS this leads to the division of space between user-space and kernel-space.
Kernel structure is designed in such a way it should support primary UNIX requirements. Which are divided into two categories and listed below
- Process management.
- File management.
- Process Management
The resource allocation in CPU, memory, and services are few things which will be handled under process management.
- File Management
File management deals with managing all the data in files needed by the process while communicating with devices and regulating data transmission.
The main operations done by the kernel are
- Kernel ensures the running of user-given programs is done on time.
- Plays a role in memory allocation.
- Manages the swapping between memory and disk.
- Transports data between peripherals.
- The kernel also requests service from the process.
That’s the reason why the kernel is called as the heart of the UNIX system. The kernel itself can be defined as a small program that contains enough data structure to pass arguments and receive results from a call and the process them on the calling process.
Hardware can be defined as the system components which are seen through the human eye and be touched like keyboard, monitors, etc., Hardware also included speakers, clocks, devices in OS architecture.
The shell can easily be defined as the software program which acts as a communication bridge between kernel and user. When the user gives the commands the shell reads the commands, understands them and then sends a request to execute the program. Then when the program is executed it again sends the request to display the program to the user on-screen. The shell can also be called a command interpreter. As told above the shell calls the kernel there are all most 100 in build calls.
Various tasks which shell ask the kernel to do are
- File opening.
- File writing.
- Executing programs.
- Obtaining detailed information about the program.
- Termination of the process.
- Getting information about time and date.
4. Unix Files And Directories
This includes user-written and shell programs as well as libraries of UNIX
Directories in Unix have name, path, files, and folder. Rules for both files and folders are the same. These are stored in the up-side-down hierarchical tree structure. The main working flow of directories is as follows.
- Displays home directories.
- Copies files to other directories.
- Renaming directories.
- Deleting directories.
These are the files that contain data, text and program instructions. The main workflow of files is
- Store user information like an image drawn or some content written.
- Mostly located under a directory.
- It does not allow/store the data of other files.
In this, we have discussed the most important topics of the Unix system and also learned the basics of operating systems. The kernel makes Unix the most secure operating system than the Windows operating system. Excluding ease of operation for the user which is a windows operating system, Unix is most preferred than windows and its users are enormously increasing day-to-day. Many software companies from start-ups to Mnc’s are using Unix operating systems.
This has been a guide to Unix Architecture. Here we discussed the working, application program and architecture of Unix respectively. You can also go through our other suggested articles to learn more –