what is kernel ?

November 12, 2017 kernel

A kernel has generally four basic responsibilities:

1.Device management

2.Memory management

3.Process management

4.Handling system calls
The first responsibility is called device management. A computer system has several devices connected to it: not only the CPU and memory are available, but also disks (and disk controllers), network cards, graphical cards, sound cards, … Because every device operates differently, the kernel is required to know what the device can do and how to address and manipulate each device so that it plays nice in the entire system. This information is stored in the device driver: without such driver, the kernel doesn’t know the device and will therefore not be able to control it.

Next to the device drivers, the kernel also manages the communication between the devices: it governs access to the shared components so that all drivers can happily operate next to each other. All communication must adhere to strict rules and the kernel makes sure that these rules are followed.

The memory management component manages the memory usage of the system: it keeps track of used and unused memory, assigns memory to processes who require it and ensures that processes can’t manipulate the data of one another. To do this, it uses the concept of virtual memory addresses: addresses for one process are not the real addresses, and the kernel keeps track of the correct mappings. It is also possible for data not to be really present in memory although it is present for a process: such data is stored on a swap space. Because swap space is much, much slower than real memory, use of this space should be limited to data that isn’t read often.

To ensure that each process gets enough CPU time, the kernel gives priorities to processes and gives each of them a certain amount of CPU time before it stops the process and hands over the CPU to the next one. Process management not only deals with CPU time delegation (called scheduling), but also with security privileges, process ownership information, communication between processes and more.

Finally, for a kernel to actually work on a system, it must provide the means to the system and the programmer to control itself and give or receive information from which new decisions can be made.
A Linux operating system, like Gentoo Linux, uses Linux as the kernel.


comments

  • Μy programmer is trying to convince me to movе to
    .net from PHP. I have always disliked the іdea because of the сosts.
    But he’s tryiong none the less. I’ve been using WordPrеss on vаrious wеbsites for about a year and
    am anxiouѕ about ѕwitching to another pⅼatform.
    I have heard very good things about blogengine.net.
    Is there a way I can transfer all my wordpress рosts into it?

    Any help would be really appreciated!

    • i don’t understand why you want to transfer php to asp.net. php is upgrades to fight for a better speed like any other language. if you want to transfer your site asp.net you need usage c#….

  • I would like to thnkx for the efforts you’ve put in writing this blog. I’m hoping the same high-grade web site post from you in the upcoming also. In fact your creative writing abilities has inspired me to get my own site now. Really the blogging is spreading its wings quickly. Your write up is a great example of it.

  • Thanks for the auspicious writeup. It actually used to be a amusement account it. Look complicated to more introduced agreeable from you! However, how can we be in contact?

  • Write a Reply or Comment

    Your email address will not be published. Required fields are marked *