5.31.2012

Unix Kernel

Kernel (from German Kern, nucleus, core) is the main component of most computer operating systems acts as  a bridge between applications and the actual data processing done at the hardware level. The kernel's responsibilities include managing the system's resources (the communication between hardware and software components).  Usually as a basic component of an operating system, a kernel can provide the lowest-level abstraction  for the resources (especially processors and I/O devices) that application software must control to perform its function. It typically makes these facilities available to application processes through inter-process communication and system calls.



Operating system tasks are done differently by different kernels, depending on their design and implementation. While monolithic kernels execute all the operating system code in the same address space to increase the performance of the system, microkernels run most of the operating system services in user space as servers, aiming to improve maintainability and modularity of the operating system.[2] A range of possibilities exists between these two extremes.

Unix kernel 

the core or key components of the operating system — consists of many kernel subsystems like process management, memory management, file management, device management and network management.

Each of the subsystems has some features:

    Concurrency: As Unix is a multiprocessing OS, many processes run concurrently to improve the performance of the system.
    Virtual memory (VM): Memory management subsystem implements the virtual memory concept and a user need not worry about the executable program size and the RAM size.
    Paging: It is a technique to minimize the internal as well as the external fragmentation in the physical memory.
    Virtual file system (VFS): A VFS is a file system used to help the user to hide the different file systems complexities. A user can use the same standard file system related calls to access different file systems.

The kernel provides these and other basic services: interrupt and trap handling, separation between user and system space, system calls, scheduling, timer and clock handling, file descriptor management.

    Unix systems use a centralized operating system kernel which manages system and process activities.
    All non-kernel software is organized into separate, kernel-managed processes.
    Unix systems are preemptively multitasking: multiple processes can run at the same time, or within small time slices and nearly at the same time, and any process can be interrupted and moved out of execution by the kernel. This is known as thread management.
    Files are stored on disk in a hierarchical file system, with a single top location throughout the system (root, or "/"), with both files and directories, subdirectories, sub-subdirectories, and so on below it.
    With few exceptions, devices and some types of communications between processes are managed and visible as files or pseudo-files within the file system hierarchy. This is known as everything is a file. However, Linus Torvalds states that this is inaccurate and may be better rephrased as "everything is a stream of bytes"

The UNIX operating system supports the following features and capabilities:

    Multitasking and multiuser.
    Kernel written in high-level language.
    Programming interface.
    Use of files as abstractions of devices and other objects.
    Character-based default UI.
    Built-in networking. (TCP/IP is standard)
    Persistent system service processes called "daemons" and managed by init or inetd.

5.30.2012

About UNIX


A open source platform Operating System which is inherited by many  operating systems.It is developed in 1969 by a group of AT&T employees at Bell Labs