Home Did you know ? What is Linux Kernel? Explained in Layman’s Terms

What is Linux Kernel? Explained in Layman’s Terms

by Unallocated Author

There are so many Linux distributions out in the wild, but there is only one de facto thing that they have in common: the Linux kernel. But while it’s often talked about, a lot of people don’t really know exactly what it does.

Let’s take a look at what the Linux kernel really does and why it’s needed, with as few geeky terms as possible.

What’s a Kernel?

Each operating system uses a kernel. Without a kernel, you can’t have an operating system that actually works. Windows, Mac OS X, and Linux all have kernels, and they’re all different. It’s the kernel that also does the grunt work of the operating system. Besides the kernel, there are a lot of applications that are bundled with the kernel to make the entire package something useful — more on that a bit later.

The kernel’s job is to talk to the hardware and software, and to manage the system’s resources as best as possible. It talks to the hardware via the drivers that are included in the kernel (or additionally installed later on in the form of a kernel module). This way, when an application wants to do something (say change the volume setting of the speakers), it can just submit that request to the kernel, and the kernel can use the driver it has for the speakers to actually change the volume.

The kernel is highly involved in resource management. It has to make sure that there is enough memory available for an application to run, as well as to place an application in the right location in memory. It tries to optimize the usage of the processor so that it can complete tasks as quickly as possible. It also aims to avoid deadlocks, which are problems that completely halt the system when one application needs a resource that another application is using. It’s a fairly complicated circus act to coordinate all of those things, but it needs to be done and that’s what the kernel is for.

linux_kernel_map

What Else Makes Up An Operating System?

Like I mentioned earlier, operating systems include their own kernel along with a bunch of other applications. With just a kernel, it’s nearly impossible to do anything with the operating system. You also need some other applications to be bundled with it, such as a shell. The shell is responsible for displaying the prompt that you see in terminals or command lines. Shells are a much easier way to launch applications, navigate through folders, and much more. All of those tasks that you can do in a shell are supported via other applications that must be bundled as well. For example, the tar application is needed if you’re working with tarballs in a shell.

Operating systems, particularly Linux distributions, then continue to bundle more applications, such as a desktop environment, a web browser, an office suite, and other applications that you often interact with directly. So as you can see, the kernel is just a very small portion of an operating system, but it’s arguably the most crucial one.

Linux History

How long has the Linux kernel been around? It was first created by a Finnish student named Linus Torvalds in 1991. He sent out an email to a mailing list saying, “Hello everybody out there using minix — I’m doing a (free) operating system (just a hobby, won’t be big and professional like gnu) for 386 (486) AT clones.” Over the course of over two decades, the hobby operating system has turned into a major piece of software that now powers millions of devices all over the world.

During this time, Linus decided to license the kernel using the GPL license, meaning that it was open source. People were free to look at the code, modify it to their needs, and then distribute it to others (under the same license).

Hope you like this article.

You may also like

Latest Hacking News

Privacy Preference Center

Necessary

The __cfduid cookie is used to identify individual clients behind a shared IP address and apply security settings on a per-client basis.

cookie_notice_accepted and gdpr[allowed_cookies] are used to identify the choices made from the user regarding cookie consent.

For example, if a visitor is in a coffee shop where there may be several infected machines, but the specific visitor's machine is trusted (for example, because they completed a challenge within your Challenge Passage period), the cookie allows Cloudflare to identify that client and not challenge them again. It does not correspond to any user ID in your web application, and does not store any personally identifiable information.

__cfduid, cookie_notice_accepted, gdpr[allowed_cookies]

Advertising

DoubleClick by Google refers to the DoubleClick Digital Marketing platform which is a separate division within Google. This is Google’s most advanced advertising tools set, which includes five interconnected platform components.

DoubleClick Campaign Manager: the ad-serving platform, called an Ad Server, that delivers ads to your customers and measures all online advertising, even across screens and channels.

DoubleClick Bid Manager – the programmatic bidding platform for bidding on high-quality ad inventory from more than 47 ad marketplaces including Google Display Network.

DoubleClick Ad Exchange: the world’s largest ad marketplace for purchasing display, video, mobile, Search and even Facebook inventory.

DoubleClick Search: is more powerful than AdWords and used for purchasing search ads across Google, Yahoo, and Bing.

DoubleClick Creative Solutions: for designing, delivering and measuring rich media (video) ads, interactive and expandable ads.

doubleclick

Analytics

The _ga is asssociated with Google Universal Analytics - which is a significant update to Google's more commonly used analytics service. This cookie is used to distinguish unique users by assigning a randomly generated number as a client identifier. It is included in each page request in a site and used to calculate visitor, session and campaign data for the sites analytics reports. By default it is set to expire after 2 years, although this is customisable by website owners.

The _gat global object is used to create and retrieve tracker objects, from which all other methods are invoked. Therefore the methods in this list should be run only off a tracker object created using the _gat global variable. All other methods should be called using the _gaq global object for asynchronous tracking.

_gid works as a user navigates between web pages, they can use the gtag.js tagging library to record information about the page the user has seen (for example, the page's URL) in Google Analytics. The gtag.js tagging library uses HTTP Cookies to "remember" the user's previous interactions with the web pages.

_ga, _gat, _gid