Unix Architecture
- Pages: 4
- Word count: 859
- Category: Architecture Computers
A limited time offer! Get a custom sample essay written according to your requirements urgent 3h delivery guaranteed
Order NowThe architecture of UNIX is divided into three levels. On the outer crust reside the Application Programs and other utilities. At the heart of UNIX, on the other hand, is the Kernel, which interacts with actual hardware in machine language. The stream lining of these two modes of communication is done by the middle layer called Shell.
Thus the three basic layers are:-
✓ HARDWARE
✓ KERNEL
✓ SHELL
At the core is the physical component of the computer system i.e. the hardware and the central part of UNIX system is Kernel which has record of all the hardware and knows how to communicate with every piece of hardware. The shell is the command interpreter. The uppermost layer consists of users creating the application programs.
✓ HARDWRE
The physical component of the computer system is called hardware. In a UNIX, physical components (hardware) are used like as CPU, ALU, main memory (RAM, ROM), I/O devices, external memory (magnetic tapes, CD’s etc).
✓ UNIX SHELL
The shell or the command interpreter is the mediator which interprets the commands we give and then conveys them to the Kernel which ultimately executes them. It provides the user interface to the Kernel. It is basically an expensive program running on the computer all the time and provides an interactive interface between the user and the computer functions. There are three types of shells:-
▪ Bourne Shell
▪ C Shell
▪ Korn Shell
Bourne Shell: – It is the original UNIX Shell written by Steve Bourne and John Mashey from AT & T’s Bell laboratories. It is the standard shell and is available on all UNIX operating system. It is known as “sh”.
C Shell: – It was developed by Bill Joy from university of California. It does not have the programming capabilities of Bourne Shell but is better for interactivity. It is known as “csh”.
Korn Shell: – It was developed by David Korn at the Bell labs. It has the programming capabilities of Bourne Shell and Interactive feature of C Shell. It is known as “ksh”.
✓ KERNEL
It is that part of the operating system that carries out the basic functions such as accessing files, allocating memory and handling communications. Its main function is to manage the resources of the computer’s hardware such as CPU, memory, I/O devices and network communication. It has a record of all the hardware and knows how to communicate with every piece of hardware. Each kernel is built for a specific computer and is not portable to another computer platform. The kernel is loaded into the main memory when the computer system starts up. It resides in the main memory in order to execute and direct activities inside the computer.
✓ USERS
The human beings that use the computer system are called the users. The application programs and system programs are written by the user to interact and work with UNIX operating system. The programs like shell and editor that are the topmost layers interact with kernel by invoking well defined set of system calls. These various calls instruct the kernel to perform various functions for calling system program or application program.
Kernel
Unix is a multitasking, multiuser, operating system, designed from day one to be lean and effective in dealing with real time processing of information. The operating system design essentially embodies effective operating system control over resources (hard disk, tapes, screen, filesystem, etc.), so that as many applications as possible to support over the system can run concurrently, without problem.
The architecture of Unix is relatively simple. Unix derives most of its functionality via the Kernel, which is a block of code that supports all interaction with end user applications, shells, etc.
Along with the kernel, is the device drivers, which allow all applications, via the kernel, to interact with the devices that are available within the system. The kernel is designed to be flexible – Unix traditionally is distributed as a package of source code files written in the C programming language. The target system hence either has an existing Unix implementation with a C compiler, which can recompile the latest kernel enhancements to create a new operating system image to execute after a system shutdown and reboot.
Recently, however, due to the standardization of the PC platform (i.e.: most PCs have a standard set of devices – floppy, hard disk(s), CDROM, high resolution video adaptor, etc.), you can obtain precompiled Unix releases that embody the majority of features that an end user or multi-user environment requires.
In either scenario, the kernel itself does relatively little on its own. The boot processes for Unix (located either in a boot sector of a PC hard disk, or in ROM for high end Unix workstations), will begin the loading procedure for the kernel. The kernel itself can be thought of as a collection of standard functionaltiy (i.e.: fopen(), fclose(), etc.), obtainable via system calls to the kernel from the application itself.
Recall, in the DOS environment, functions like fopen() were really wrappers around basic low level DOS services such as opening a file handle, closing a file handle, etc.