1) Multiuser Capability:
UNIX is a multiuser system. Users can view different programs, send messages among themselves or to users outside the system. They can access the saved database and get queries answered, reports generated, updated and modify data, all of these jobs simultaneously. Different Programming languages can be used. Apart from VT 100 and VT 220, PCs can also be used as terminals to UNIX systems. But usually loaded with link softwares such as PROCOM, VTERM, etc. Printers can be attached to remote terminals, if necessary.
Users can share resources such as printers, tapes and discs. UNIX verifies and checks at the login, whether the user is an authorized user, before the user accesses the system. UNIX allows access to programs and files of other users, provided the user has legal access.
2) Time Sharing:
UNIX operates on the principle of time sharing executed by the scheduler.Each user’s program is loaded into memory from the disc and the scheduler provides a time slice for each user executes his program for that element of time slice, moves to other users programmes successively, in a cycle. Once the cycle is completed for all users, it moves back to the program from where it commenced. Since the clock speed is very fast. Each user feels that the system is responding to only his terminal. If memory is not sufficient, the scheduler swaps the program to the disc whenever there is no processing of the program of the user and reloads it from the disc to the memory whenever necessary. Though many programs reside in the memory simultaneously, the operating system ensures that the jobs and the processes do not get mixed up with each other.
3) Command Interpreter:
UNIX provides a built-in shell, which interprets the commands typed by the user and enables the operating system to execute the command. UNIX command names are nothing but executable filenames. Hence, when the user enters the command, the shell locates the corresponding files and gets it executed by the operating system. A seasoned programmer of UNIX can even change the name of these commands, and use it as per his convenience and ease of remembrance.
4) Portability:
Ease of implementation of UNIX on different computers is known by the term portability (transportability). This is possible if a C compiler is available on the system. UNIX design has a very small portion that depends on the actual hardware, which is to be written in assembly code, and proves to be much easier and less time consuming that writing the full operating system in assembly language. When installing UNIX on a new system, only this small portion of operating system is to be developed and implemented. The ability to port UNIX from one type, brand or manufacture of one computer to another has been a major reason for the success and acceptance of UNIX as a multiuser operating system, by many computer manufacturers.
5) Multitasking and Background Processing:
Since UNIX caters to multiusers, who may assign different tasks to the system, it provides the capability of multitasking. Not only different users can perform different tasks , an individual users can also submit simultaneously, these different tasks to UNIX. These will be executed in the background. For example, when the printing is going on of a program of a user, he can simultaneously, edit the source program or give a command for compiling another program. These processes are carried out in the background and do not require any interaction with the user, they can be executed efficiently.
Hierarchical File System:
UNIX provides an excellent multiple directory file system. The directory in UNIX can have subdirectories and files co-existing. In UNIX hierarchically (one below the other), subdirectories for specific group of files can be made. It is possible to deny access of share with others, particular directories and files. An office assistant working on UNIX, may crate many letters, remainders, databases, reports and can store them under different directories, group the individual files under each directory and name them easy reference and retrieval, UNIX does not distinguish between text files, program files and data files and represents all of them by their filename.

Simple Command Structure:
UNIX system commands are user-friendly and consist of a simple command structure for most of the user commands. Commands are entered in lower case. The commands are easy to remember and an ordinary user has to know and use only 15 to 20 commands. Commands such as ls, cat, pwd, lpr, chmod, mkdir, rm, rmdir, cp, mv are used to handle the file and directories and cc,f77 pc, cob, as to compile and link source programs written in C, Fortran 77, Pascal, Cobol, and assembly language, respectively.

File Security and Protection:
UNIX provides protection to user’s files and directories from accidental or deliberate damage by other users in the system. Access permission to one’s file can be precisely defined and fixed for reading, writing or executing or alternatively denied to others. Users working as a group in a software project can share files and directories. These permissions can be changed by the owner of the files.
Login and password protection provided by UNIX, prevents unauthorized people from gaining access to the system itself, for the directories and files of another user. User ids and group ids require one to declare their identification before logging into the system or to have privileges of access to the group project directories and files.

Communication:
UNIX has a variety of communication softwares bundled. UNIX communication capabilities cover.
• A user can communicate from UNIX environment to users under Network and DOS environment, through Ethernet connectivity.
• UNIX provides communication capabilities from a computer in one city or country to another authorized user, through telephone lines, microwave links and satellite communication.
Communication and networking standards laid down by OSI(Open System Interconnect) incorporating TCP/IP (Transport Control Protocol/ Internet Protocol) implementations, is satisfied by UNIX due to it being and open system standard operating system with option of RFS(Remote File Sharing) and NFS (Network File Sharing). Thus UNIX provides remote communication between systems including LAN (Local Area Network) and WAN (Wide Area Network) using additional related software.

DOS/ UNIX Interface:
UNIX supports the DOS merge utility, whereby a user can switch from UNIX to DOS in his terminal and execute programs available under DOS such as Wordstar, Dbase, spreadsheet and store DOS data files and programs in the UNIX system hardware, thus providing a seamless integration between MS-DOS/UNIX.

System Administration and Job Accounting:
UNIX provides excellent features from monitoring and controlling the use of a multiuser system. System administration relates to the various activities needed to control, coordinate and maintain the system.
UNIX normally does not need any constant attention once it is started up, but there are commands and utilities available in UNIX for the system administrator to diagnose the actual problem under abnormal conditions such as system crashes, hardware failue, overload or faulty discs.

Job Accounting:
UNIX also provides for maintenance of job accounting of various usersof the system, in terms of monitoring the CPU time used, lines printed, disc space utilized, terminal logged-on time etc and bill the individual user, if necessary.

Tools and Utilities:
UNIX tools can be defined as any command that is executable in UNIX. All commands are across. The term tools and commands are often used interchangeably. There are hundreds of tools available in UNIX and the numbers are increasing. Even users can create tools of their own as per their convenience. Complex tools can be built from simpler tools, which from a part of UNIX. UNIX provides compilers for C, Fortran 77 , Pascal, Cobol, Lisp, Prolog etc along with debugging tolls.Differnet kinds of Editors available. UNIX enables large software projects to be broken down to smaller, manageable program modules, allowing separate compilation of modules, storing of different versions of the modules as well using what is known as SCCS (Source Code Control System).

Shell and Shell Programming:
The command interpreter of UNIX is called as shell. There are two types of popular shells available in UNIX. One is Bourne shell, named after the inventor Stephen Bourne, and C shell name as such since most of the commands resembles C language. Bourne and C shells are bundled with UNIX. The command statements are known as shell scripts

Sunday 3 July 2011

1) Multiuser Capability:
UNIX is a multiuser system. Users can view different programs, send messages among themselves or to users outside the system. They can access the saved database and get queries answered, reports generated, updated and modify data, all of these jobs simultaneously. Different Programming languages can be used. Apart from VT 100 and VT 220, PCs can also be used as terminals to UNIX systems. But usually loaded with link softwares such as PROCOM, VTERM, etc. Printers can be attached to remote terminals, if necessary.
Users can share resources such as printers, tapes and discs. UNIX verifies and checks at the login, whether the user is an authorized user, before the user accesses the system. UNIX allows access to programs and files of other users, provided the user has legal access.
2) Time Sharing:
UNIX operates on the principle of time sharing executed by the scheduler.Each user’s program is loaded into memory from the disc and the scheduler provides a time slice for each user executes his program for that element of time slice, moves to other users programmes successively, in a cycle. Once the cycle is completed for all users, it moves back to the program from where it commenced. Since the clock speed is very fast. Each user feels that the system is responding to only his terminal. If memory is not sufficient, the scheduler swaps the program to the disc whenever there is no processing of the program of the user and reloads it from the disc to the memory whenever necessary. Though many programs reside in the memory simultaneously, the operating system ensures that the jobs and the processes do not get mixed up with each other.
3) Command Interpreter:
UNIX provides a built-in shell, which interprets the commands typed by the user and enables the operating system to execute the command. UNIX command names are nothing but executable filenames. Hence, when the user enters the command, the shell locates the corresponding files and gets it executed by the operating system. A seasoned programmer of UNIX can even change the name of these commands, and use it as per his convenience and ease of remembrance.
4) Portability:
Ease of implementation of UNIX on different computers is known by the term portability (transportability). This is possible if a C compiler is available on the system. UNIX design has a very small portion that depends on the actual hardware, which is to be written in assembly code, and proves to be much easier and less time consuming that writing the full operating system in assembly language. When installing UNIX on a new system, only this small portion of operating system is to be developed and implemented. The ability to port UNIX from one type, brand or manufacture of one computer to another has been a major reason for the success and acceptance of UNIX as a multiuser operating system, by many computer manufacturers.
5) Multitasking and Background Processing:
Since UNIX caters to multiusers, who may assign different tasks to the system, it provides the capability of multitasking. Not only different users can perform different tasks , an individual users can also submit simultaneously, these different tasks to UNIX. These will be executed in the background. For example, when the printing is going on of a program of a user, he can simultaneously, edit the source program or give a command for compiling another program. These processes are carried out in the background and do not require any interaction with the user, they can be executed efficiently.
Hierarchical File System:
UNIX provides an excellent multiple directory file system. The directory in UNIX can have subdirectories and files co-existing. In UNIX hierarchically (one below the other), subdirectories for specific group of files can be made. It is possible to deny access of share with others, particular directories and files. An office assistant working on UNIX, may crate many letters, remainders, databases, reports and can store them under different directories, group the individual files under each directory and name them easy reference and retrieval, UNIX does not distinguish between text files, program files and data files and represents all of them by their filename.

Simple Command Structure:
UNIX system commands are user-friendly and consist of a simple command structure for most of the user commands. Commands are entered in lower case. The commands are easy to remember and an ordinary user has to know and use only 15 to 20 commands. Commands such as ls, cat, pwd, lpr, chmod, mkdir, rm, rmdir, cp, mv are used to handle the file and directories and cc,f77 pc, cob, as to compile and link source programs written in C, Fortran 77, Pascal, Cobol, and assembly language, respectively.

File Security and Protection:
UNIX provides protection to user’s files and directories from accidental or deliberate damage by other users in the system. Access permission to one’s file can be precisely defined and fixed for reading, writing or executing or alternatively denied to others. Users working as a group in a software project can share files and directories. These permissions can be changed by the owner of the files.
Login and password protection provided by UNIX, prevents unauthorized people from gaining access to the system itself, for the directories and files of another user. User ids and group ids require one to declare their identification before logging into the system or to have privileges of access to the group project directories and files.

Communication:
UNIX has a variety of communication softwares bundled. UNIX communication capabilities cover.
• A user can communicate from UNIX environment to users under Network and DOS environment, through Ethernet connectivity.
• UNIX provides communication capabilities from a computer in one city or country to another authorized user, through telephone lines, microwave links and satellite communication.
Communication and networking standards laid down by OSI(Open System Interconnect) incorporating TCP/IP (Transport Control Protocol/ Internet Protocol) implementations, is satisfied by UNIX due to it being and open system standard operating system with option of RFS(Remote File Sharing) and NFS (Network File Sharing). Thus UNIX provides remote communication between systems including LAN (Local Area Network) and WAN (Wide Area Network) using additional related software.

DOS/ UNIX Interface:
UNIX supports the DOS merge utility, whereby a user can switch from UNIX to DOS in his terminal and execute programs available under DOS such as Wordstar, Dbase, spreadsheet and store DOS data files and programs in the UNIX system hardware, thus providing a seamless integration between MS-DOS/UNIX.

System Administration and Job Accounting:
UNIX provides excellent features from monitoring and controlling the use of a multiuser system. System administration relates to the various activities needed to control, coordinate and maintain the system.
UNIX normally does not need any constant attention once it is started up, but there are commands and utilities available in UNIX for the system administrator to diagnose the actual problem under abnormal conditions such as system crashes, hardware failue, overload or faulty discs.

Job Accounting:
UNIX also provides for maintenance of job accounting of various usersof the system, in terms of monitoring the CPU time used, lines printed, disc space utilized, terminal logged-on time etc and bill the individual user, if necessary.

Tools and Utilities:
UNIX tools can be defined as any command that is executable in UNIX. All commands are across. The term tools and commands are often used interchangeably. There are hundreds of tools available in UNIX and the numbers are increasing. Even users can create tools of their own as per their convenience. Complex tools can be built from simpler tools, which from a part of UNIX. UNIX provides compilers for C, Fortran 77 , Pascal, Cobol, Lisp, Prolog etc along with debugging tolls.Differnet kinds of Editors available. UNIX enables large software projects to be broken down to smaller, manageable program modules, allowing separate compilation of modules, storing of different versions of the modules as well using what is known as SCCS (Source Code Control System).

Shell and Shell Programming:
The command interpreter of UNIX is called as shell. There are two types of popular shells available in UNIX. One is Bourne shell, named after the inventor Stephen Bourne, and C shell name as such since most of the commands resembles C language. Bourne and C shells are bundled with UNIX. The command statements are known as shell scripts