In 1965, Bell Telephone Labs joined a short with the General Electric Company and Project MAC of Massachusetts Institute of Technology to develop a replacement software system known as Multics, to produce synchronic pc access to a large community of users, to produce ample computation power and knowledge storage, and to permit users to share their data easily, if needed. A primitive version was running on a GE 645 computer by 1969. But the goals were not being met. So, Bell Labs ended their participation. After that, a small team from Computing Science Research Center, Bell Labs, started design on a fully functional system in the lines of Multics. The work was initiated by Ken Thompson with help from Dennis Ritchie. Ken Thompson initially built a kernel for GE 645 itself. At the same time, he attempted building a game for GECOS (Honeywell 635) on Fortran. But it was not as efficient as expected and he ported to PDP7.
This eventually led to the development of a file system, the processing subsystem, and a small set of utility programs on Fortran. Eventually, it was moved out of GECOS to a self-sustained system built on top of PDP-7 and was named UNIX. As a side effect, Thompson tied to build a Fortran compiler, which led to the language B, and a later Ritchie enhanced it to C, involving machine code and data structures (since B was interpreted and slow to implement).
In 1973, the entire operating system was rewritten in C, and a UNI. Systems Group was formed at Bell Labs. In 1974, the concept was formally published in the paper “The UNIX Time-Sharing System”. The implementation in C made the operating system very popular, with speed coming in as a big factor.
The system is divided into two parts. One part gives programs and services readily apparent to its users. The other part consists of the operating system that supports the programs and services. UNIX was designed as an OS for programmers and scientists who work closely with the hardware, and not meant to be “friendly”. But the ability to write short, powerful code to accomplish virtually any task is well accepted.
Features of UNIX
*Contributing factors for success
*The UNIX environment
*Personal environment (for desktops)
*Time-sharing environment (corporate)
UNIX consists of four main components: Kernel, Shell, a standard set of Utilities and Application Programs.
It is the heart of the UNIX system. It contains the two most important parts of the UNIX framework – process control and resource management. All other components of the system use them using system calls to perform services.
The shell is the part of UNIX that is most visible to the user. It receives and interprets commands entered by the user. Every activity initiated by the user involves a shell command either directly or indirectly. The request can be a utility or application program, and the shell forwards the corresponding request to the kernel. A shell consists of 2 parts.
1) An interpreter that reads the commands and works with the kernel to execute them.
2) A programming capability to write the command script. It can be a terminal or shell script
There are 3 main shells in UNIX today.
1) Bourne Shell(bsh), developed by Steve Bourne at AT &T Labs. It is the oldest and most primitive shell available. Now, it is obsolete and replaced by Bourne Again Shell.
2) C Shell, developed by Bill Joy, was developed keeping in mind that commands should look like C statements. It is used in Linux as an adapted version.
3) Korn shell, developed by David Korn of AT&T Labs. It is fully compatible with bash, and is the newest and most powerful.
A utility is a standard UNIX program that provides a support program for users. There are 3 main utilities – text editors, search programs and sort programs. Some utilities are quite complex programs like mail, vi, emacs and pico. Others are small like ls.
” margin_top=”50px” margin_bottom=”” animation_type=”slide” animation_direction=”left” animation_speed=”0.3″ class=”” id=””]