Skip to main content

Operating System Kernel: An Overview


What is Linux Kernel?
   In previous post, we have seen the structure of Linux operating system. We know that Linux kernel is the core part of Linux and every process of operating system passes through kernel. Also, only kernel has permission to access hardware directly.
    But where is exactly this kernel? There are two, say, spaces in operating system. User space and kernel space are the two layers where operating system operates. User space is where user library is located. Below user space comes kernel space which is where kernel is located.

credits: IBM
Linux kernel space and user space


   What is the use of kernel? Functions of kernel:
   There are various functions performed by kernel are:
1)      Resource allocation:- Kernel decides how the processes can access computer resources like CPU, RAM, I/O, etc.
2)      Inter-Process Communication:- Kernel acts as an agent for communication between processes when required.
3)      Memory Management:- Kernel has access to system memory and it is responsible to provide access to processes on request.
4)      Device Management:- Kernel has access to hardware, thus acts as an interface between hardware and process whenever they require to communicate. This is done by the device drivers present in kernel.
5)      System calls: - System calls are the gateways for processes to communicate with kernel.  They act as an interface between processes and kernel, in case a process require an access to system resources. They are generally c-library- glibc in case of Linux.
Types of kernels:
1)      Monolithic kernel: - For monolithic kernel, all the OS services run along the main kernel thread. This provides powerful access to hardware. The main con of having a monolithic kernel is that monolithic kernels are a lot dependent on system components. Thus a bug in a device driver may crash the whole system. Linux mainly runs on monolithic kernel.
2)      Microkernel: - Micro kernel mainly intends the kernel to keep the basic functionalities. Other functionalities such as networking are kept in user space. These functionalities are performed by set of servers which communicates through kernel. Thus a microkernel removes the flaw of monolithic kernel, where bugs in functionality does not prove harmful for entire kernel, though performance is affected.

3)      Modular kernel (Hybrid kernel):- As” Hybrid” suggests, a Modular kernel lies between Monolithic and Microkernel. Microkernel has only essential function in kernel, whereas monolithic kernel has every system functionality inside of kernel. Hybrid kernel has some of the non essential system function code inside kernel to make it perform faster. Windows 10 and Mac OS X are the examples.
4)      Nano kernel: - Nano kernel is a kernel of extremely small size. Nanokernel was derived from microkernel, where the size of the kernel is further reduced down.
5)      Exokernel: - Exokernels are still in development stage. In exokernel, hardware level access is given to even top level of abstraction. This is done to provide as few abstractions between hardware and developers as possible.
Thus an overview of kernel was seen, its functions, and types of kernel are known.

  
   

    

Comments

Popular posts from this blog

Top 10 distros for raspberry pi development: Part 1

As you must have heard about the hype raspberry pi produced, raspberry pi took the open source world by storm. This affected linux communities too. Then came handful of distros especially developed for raspberry pi. I have compiled a list of 10 best linux distros which can be used for raspberry pi development. The first five distros are mentioned below:- Pidora :- Pidora is a Fedora remix, as they claim, designed especially for Raspberry Pi development. Pidora contains packages from Fedora ARM compiled especially for ARMv6 architecture. Packages have been specially written or modified for our favorite Raspberry Pi.     The latest version Pidora 2014 contains packages from Fedora 20. However, few things to note are Pidora is little bit slower than its rivals, especially Raspbian. There are a few factors that slows down the performance of the distro for raspberry pi. RISC OS  :- RISC OS was developed in Cambridge, England by Acorn. RISC OS w...

Nvidia’s Linux distro? Nlinux is being discussed on Reddit and how it could affect Linux gaming

.    Had it been 2 years back, it was impossible for me to write about Linux and gaming together. Gaming back then was dominated by, still is, three gaming consoles i.e. Xbox, Playstation, Nintendo. Linux was considered a plaything exclusively for coders and hackers. This scenario is pretty soon going to change.    With launch of Steam OS, gaming was bought at the door of Linux. Steam OS is developed by Valve Software, which gave us big titles like Dota, Counter Strike, Half life, etc. Steam OS is debian based Linux designed for their Steam gaming console. Steam OS was designed primarily playing video games in living room. Users are able to stream games from their windows or Mac consoles to one with Steam OS console. Steam OS    While Steam OS was not able to provide better performance than windows, it opened a portal for Linux to enter gaming world. Big gaming titles including valve titles are now available. Other than Steam OS, even Ub...

Privacy Policy

What is this Privacy Policy for? This privacy policy is for this website www.linuxthug.com  and served by Shivendu Amale and governs the privacy of its users who choose to use it. The policy sets out the different areas where user privacy is concerned and outlines the obligations & requirements of the users, the website and website owners. Furthermore the way this website processes, stores and protects user data and information will also be detailed within this policy. The Website This website and it's owners take a proactive approach to user privacy and ensure the necessary steps are taken to protect the privacy of its users throughout their visiting experience. This website comply's to all national laws and requirements for user privacy. Use of Cookies This website uses cookies to better the users experience while visiting the website. Where applicable this website uses a cookie control system allowing the user on their first visit to the website to ...