Upload
santosh-ban
View
213
Download
0
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.