What are the four main components and the roles of the UNIX OS?

The four primary components of the Unix OS are as follows −

Unix Kernel

The Unix Kernel is called the core of OS because of its role in managing all the internal processes of the operating system, from booting the system from a zero state to managing processes and memory in a normal system state.

The early architecture relied on a component model that later became known as a microkernel.

Objects listed in /usr/src/[conf,dev,sys,h] are linked into the kernel through a build process, as desired. This kept the operating system lean by building into the kernel only those devices, services and features that were necessary.

The openness of the kernel configuration process also made it possible for administrators and architects to scale the OS to the requirements of the environment (small box, small OS) by exposing all the internals.

Besides being portable, the kernel also does a wonderful job at managing system resources, which enables multiple people to access a computer simultaneously, and multiple programs and activities to proceed in parallel with one another.

Memory management, error handling, process management, interrupts, communications and logging are all handled by the kernel based on what features are linked into the OS.

Linux, although a derivative of Unix, took a step away from this philosophy by building a monolithic kernel that includes software components for nearly all possibilities.

Development Tools

A rather unique feature of the Unix OS is the inclusion of development tools. Because the early adopters of the system required a way to alter the boot and device drivers (/usr/sys/dev) and link in new libraries, development tools like the C compiler and Assembler were included.

The boot-strap code was often written in Assembler, due to its speed and fine control over devices. C often filled out the rest of the kernel software and general commands.

A linker (ld), library (lib) and build tool (make)--also included--allowed new devices to be added or a complete application to be built. Later releases of Unix offered new languages, like C++ and Java.

When new applications were installed on Unix, like versions of X windows, the libraries and header files were also included, so developers could create their own applications using the environment. This approach reinforced the open standards of the OS.

General Commands

Unix includes a rich set of commands available to users and administrators, often executed from either the command line or GUI interface (Xwin). The most common commands are the various shells (bsh, csh, ksh).

Each user is assigned a default shell that controls the behavior of the user session with features like directory access, access to programs, productivity features and environment customizations.

The real flexibility of the shell makes it possible for users to select a new shell and customize the behavior by creating synonyms to execute long, integrated strings of commands.

Commands can be further categorized as system utilities that perform functions on devices or manage processes and other general utilities, like printing, communications, formatting and graphics.

Because of the openness of the Unix environment, developers often combine the source libraries of these general commands and create their own command sets.


Two major documentation programs are available on Unix − man and doc.

Man offers a reference library for commands like make or sh. For each man entry, details about command parameters, run restrictions, error handling and examples are included.

Doc offers fewer references but provides greater detail and is similar to a technical reference book. Users and administrators can use man or doc commands to add chapters for users.