The UNIX Environment ||UNIX Structure ||UNIX The UNIX Environment ||UNIX Structure | POSIX and the Single UNIX Specification:
The UNIX Environment:
UNIX is used in three different computer environments:
- Personal environment
- Time sharing environment
- Client/Server environment
Personal Environment:
Although originally designed as a multiuser environment, many users are installing UNIX on their personal computers. The trend of personal UNIX systems accelerated in the mid 1990’s with the availability of LINUX, the Apple system X, released in 2001, incorporated UNIX as its kernel.
Time-Sharing Environment:
In Time-Sharing environment, many users are connected to one or more computers. Their terminals are non-programmable. Output devices (such as printers) and auxiliary storage devices (such as disks) are shared by all of the users. All the computing must be done by the central computer, it must control the shared resources, it must manage the shared data and printing, and it must also do the computing. All these work tend to keep the computer busy and the responses will be slow
. A typical college lab in which a minicomputer is shared by many students is shown in the figure below:
![]() |
Fig. TIME SHARING ENVIRONMENT |
Client/Server Environment:
A Client/Server computing environment splits the computing function between a central computer and users’ computers. the users are given personal computers or workstations so that some computation responsibility can be moved off the central computer and assigned to the workstations. In the Client/Server environment, the users’ workstations are called as the Client. The central computer system is known as the Server. Since the work is shared between the client and server, the response time and monitor display are faster and users are more productive.
A typical Client/Server environment is shown in the figure below:
![]() |
Fig. CLIENT/SERVER ENVIRONMENT |
UNIX Structure:
UNIX consists of four major components:
- the Kernel
- the Shell
- a standard set of Utilities
- Application programs.
These components are shown in the figure below:
![]() |
fig. Component of UNIX |
The Kernel:
- Kernel is the heart (core) of the UNIX operating system.
- It contains most basic parts including process control and resource management.
- All the other components call on the kernel to perform these services for them.
The Shell:
It receives and interprets the commands entered by the user. To do any operations in the system, user must give the Shell a command. If the command requires a utility, the shell requests that the kernel execute the utility. If the command requires an application program, the shell request that it be run. There are two major parts of a shell. The first is the Interpreter; the second part of the shell is a programming capability that allows you to write a shell script.
The shells are shown in the figure below:
![]() |
fig. Some Standard SHELLS |
Utilities:
Utility is a standard UNIX program that provides a support process for users. There are literally hundreds of UNIX utilities.
Three common utilities are
- text editors,
- search programs
- sort programs.
For example: vi (text editor), the list (ls) utility displays the files that reside on the disk.
Applications:
Applications are programs that are not a standard part of UNIX. These are written by system administrators, professional programmers or users, they provide an extended capability to the system. Many standard utilities started out as application years ago
POSIX and the Single UNIX Specification:
- The group of standards, the Portable Operating System Interface for Computer Environments (POSIX), was developed based on the instructions given by Institution of Electrical and Electronics Engineers (IEEE).
- POSIX refers to the operating system in general, but was based on UNIX. Two of the most cited standards from the POSIX family are known as POSIX.1 and POSIX.2.
- POSIX.1 specifies the system calls.
- POSIX.2 specifies the shell and utilities.
- In 2001, a joint initiative of X/Open and IEEE resulted in the unification of the two standards, this is the Single UNIX Specification, Version 3 (SUSV3).
- The “Write once, adopt everywhere” approach to this development means that once software has been developed on any POSIX compliant UNIX system, it can be easily ported to another POSIX-complaint UNIX machine with minimum modifications.