Vous êtes sur la page 1sur 2

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 Applications Kernel CPU Memory Device

Fig: A kernel connects the application software to the hardware of a computer

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 given location 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).
[Santosh Ban, 65031, Belx A ]

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 different processes; 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.

[Santosh Ban, 65031, Belx A ]

Vous aimerez peut-être aussi