UNIX (officially trademarked as UNIX) is a multitasking and multi-user computer operating system that exists in many variants. Original UNIX was developed at AT&T's Bell Labs research center by Dennis Ritchie, Ken Thompson and others. From the power user's or programmer's perspective, the Unix systems are characterized by a modular design that is sometimes called the Unix philosophy, which meaning the OS provides a set of simple tools that each perform a limited, well-defined function, with a unified file system as the main means of communication and a shell scripting and command language to combine the tools to perform complex workflows.
C programming was designed and developed by Dennis Ritchie as a systems programming language for UNIX, allowing for portability beyond the initial PDP-11 development platform and the use of UNIX on a plethora of computing platforms.
During the late 1970s and 1980s, the UNIX developed into a standard operating system for academia. The AT&T tried to commercialize it by licensing the OS to third-party vendors, leading to a variety of both academic (e.g., BSD) and commercial variants of Unix (such as Xenix) and eventually to the "Unix wars" between groups of vendors. The AT&T finally sold its rights in UNIX to Novell in the early 1990s.
The Open Group, an industry standards consortium, has now owns the UNIX trademark and allows its use for certified operating systems compliant with its standard, the Single UNIX Specification. The other operating systems that emulate UNIX to some extent may be called Unix-like, the Open Group disapproves of this term. The term UNIX is also often used informally to denote any operating system that closely resembles the trademarked system. The most common version of UNIX (bearing certification) is Apple's OS X, where Linux is the most popular non-certified work alike.
Components of UNIX:
UNIX is made up of three components
- the kernel;
- the shell
The kernel of UNIX is the heart of the operating system. Kernel allocates time and memory to programs and handles the file structure and communication between the different parts of the computer system such as the keyboard and the screen.
The shell is an interface between the user and the UNIX kernel. It resembles the ‘dos box’ that Windows displays if you run the command cmd. Whenever a user logs in UNIX checks the username and password, then starts another program called the shell. Shell interprets the commands the user types and transmits them to the kernel to be executed. Such commands are programs.
There are a variety of shells available for the various UNIX systems. The expert user can customize their own shell and users can use different shells on the same machine.
The kernel and shell work together like this:
- A user types cat some file to display a file;
- Shell finds the program cat;
- Shell instructs the kernel to run the program cat on some file;
- At the time when the program finishes the kernel passes control back to the shell and displays the UNIX prompt.
There are a number of different shells for UNIX. The people can become very attached to the shell they prefer. The popular shells include
- sh - the bourne shell
- bash - the bourne again shell
- csh - the c shell
- ksh - the Korn shell (strangely, not named for the band)
- zsh - the z shell
You can invoke any shell installed on your system with one of the above commands at the prompt. All shells have different functionality in some respects but we are not going to worry about it right now. Whenever you begin to write Unix Shell Scripts you will probably want to choose a shell and stick with it if you can. Every shell has its advocates for scripting. Bourne again shell is popular with many script writers. In the UNIX community some have expressed doubts about the suitability of the c shell for scripting but this is something you can address when you know more about UNIX
By typing the shell name on command line prompt you can start a shell of a particular kind.
Programs are not part of the operating system as such; they are logical sequences of commands, which have been developed for implementing specific tasks. Usually include application software running at the user end.
Features of UNIX:
Multiple users can use the machine at a time supported via terminals (serial or network connection)
multiple programs can be run at a time
Hierarchical directory structure
it has hierarchical directory structure to maintenance of files and supports the organization.
Only the kernel (<10%) written in assembler tools for program development a wide range of support tools (debuggers, compilers)
Why we are best?
- 24/7 Availability
- No plagiarism
- Projects, assignments and homework solutions in deadline
- Reference style, Harvard, APA, AMA, MLA, IEEE
Assignmentpedia site, number one online tutoring service for UNIX programming, provides UNIX homework help, UNIX assignment help; UNIX quiz help, and UNIX project help. Our team has highly qualified tutors to help you with the most challenging assignments. With clear and accurate solutions, Assignmentpedia Site stands out as the number one UNIX assignment help and homework help services. Our UNIX assignment help tutors will provide you with detail explanation on how to complete the assignment on your own for learning purposes and for exam purposes.