Operating System KERNEL

Embed Size (px)

Citation preview

  • 8/3/2019 Operating System KERNEL

    1/2

    [Santosh Ban, 65031, Belx A] 1

    Operating System KERNEL

    In computing, the kernel is the main component of most computer operating systems; it is a bridge

    between applications and the actual data processing done at the hardware level. The kernel's

    responsibilities include managing the system's resources i.e. the communication between hardware and

    software components. Usually as a basic component of an operating system, a kernel can provide the

    lowest-level abstraction layer for the resources that application software must control to perform its

    function. It typically makes these facilities available to application processes through inter-process

    communication mechanisms and system calls.

    Kernel is the fundamental part of an operating system. It is a piece of software responsible for providing

    secure access to the machine's hardware to various computer programs. Since there are many

    programs, and access to the hardware is limited, the kernel is also responsible for deciding when and

    how long a program should be able to make use of a piece of hardware , in a technique called

    multiplexing. Accessing the hardware directly could also be very complex, so kernels usually implement

    a set of hardware abstractions. These abstractions are a way of hiding the complexity, and providing a

    clean and uniform interface to the underlying hardware, which makes it easier on application

    programmers."

    Different Type of Kernel is as follows:

    Monolithic kernels Microkernels Hybrid (or)Modular kernels Nanokernels Exokernels Megalithic Kernels

    Process management:

    The main task of a kernel is to allow the execution of applications and support them with features such

    as hardware abstractions. A process defines which memory portions the application can access. Kernel

    process management must take into account the hardware built-in equipment for memory protection.

    To run an application, a kernel typically sets up an address space for the application, loads the file

    containing the application's code into memory, sets up a stack for the program and branches to a givenlocation inside the program, thus starting its execution.

    Multi-tasking kernels are able to give the user the illusion that the number of processes being run

    simultaneously on the computer is higher than the maximum number of processes the computer is

    physically able to run simultaneously. Typically, the number of processes a system may run

    simultaneously is equal to the number of CPUs installed (however this may not be the case if the

    processors support simultaneous multithreading).

    A lications

    Kernel

    CPU Memory Device

    Fig: A kernel connects the application

    software to the hardware of a computer

  • 8/3/2019 Operating System KERNEL

    2/2

    [Santosh Ban, 65031, Belx A] 2

    Memory management:

    The kernel has full access to the system's memory and must allow processes to safely access this

    memory as they require it. Often the first step in doing this is virtual addressing, usually achieved by

    paging and/or segmentation. Virtual addressing allows the kernel to make a given physical address

    appear to be another address, the virtual address. Virtual address spaces may be different for differentprocesses; the memory that one process accesses at a particular (virtual) address may be different

    memory from what another process accesses at the same address. This allows every program to behave

    as if it is the only one running and thus prevents applications from crashing each other.

    Device management:

    To perform useful functions, processes need access to the peripherals connected to the computer,

    which are controlled by the kernel through device drivers. A device driver is a computer program that

    enables the operating system to interact with a hardware device. It provides the operating system with

    information of how to control and communicate with a certain piece of hardware. The driver is an

    important and vital piece to a program application.