Unix operating system || features of UNIX||UNIX architecture
UNIX ARCHITECTURE
1. Division of Labor: Kernel and Shell:
The kernel is the core of the operating system - a collection of routines mostly written in C. it is
loaded into memory when system is booted and communicates directly with the hardware. The applications (user programs) that need to access the hardware use the services of kernel, these
programs access the kernel through a set of functions called as system calls.
The kernel manages the system’s memory, schedules processes, and decides their priorities. The shell which is the outer part of the operating system translates the commands into action
(command interpreter). Even though there’s only one kernel running on the system, there could be several shells in action one for each user who is logged in.
When the user enters a command through the keyboard, the sell thoroughly examines the keyboard
input for special characters. If it finds any, it rebuilds a simplified command line, and finally
communicates with the kernel to see that the command is executed.
2. The File and Process:
A file is an array of bytes that stores information. It is also related to another file in the sense that both belong to a single hierarchical directory structure. UNIX considers even the directories and device as files.
A process is the second abstraction UNIX provides. It can be treated as a time image of an executable file. Like files, processes also belong to a hierarchical structure.
3.The system Calls:
These are the set of function calls used by programs to access kernel. All the UNIX flavors have one thing in common: they use the same system calls.
Ex: A typical command writes a file with the write system call.
The Features of UNIX
Multiuser system:
The system allows multiple users to work on the operating system simultaneously and
independently. computer breaks up a unit of time into several segments and each user is allotted a
segment, so at any point in time the machine will be doing the job of a single user.
Multitasking system:
UNIX is a multitasking system. In multitasking environment, a user sees one job running in
the foreground; the rest run in the background. The user can switch jobs between background and foreground, suspend, or even terminate
them.
Building block approach:
The UNIX commands are developed to perform one simple job. It’s through the pipes and filters that UNIX implements the small is beautiful philosophy.
Today, many UNIX tools are designed with the requirement that the output of one tool be used
as input to another.
The UNIX Toolkit:
To properly exploit the power of UNIX, one should use the host of applications that are
shipped with every UNIX system. These applications are quite diverse in scope. There are general-purpose tools, text
manipulation utilities, compilers and interpreters, networked applications and system
administration tools.
Pattern matching:
UNIX features a very sophisticate pattern matching features.
For example:
by using the ls command with an unusual argument (chap*) lists all the
filenames starting with chap and ending with anything. (Known as meta-character) is a special character used by the system to indicate that it can
match a number of filenames. The matching is not confined to filenames only. Some of the most advanced and useful tools
also use a special expression called regular expression that is framed with meta- characters
Programming facilities:
The UNIX shell is also a programming language; it was designed for a programmer. It has all the necessary ingredients, like control structures, loops and variables, that establish it
as a powerful programming language in its own right. These features are used to design shell scripts .
Documentation:
The principle online help facility available is the man command, which remains the most
important reference for commands and their configuration files. Apart from the online documentation there's a vast ocean of UNIX resources available on the
internet. There are several newsgroups, blogs and websites that provide information about
UNIX.
Tags:
unix