Introduction to Linux Kernel

Chưa phân loại
The Kernel of an Operating System is the program which makes the hardware and the software work together. With the help of device drivers, the Linux kernel acts as a translator allowing communication between the software and the user interface with the hardware.

This article will focus on Linux kernel, which is a Monolithic Kernel based on Unix.

Other kernels may be MicroKernels delegating some functions to other programs such as external drivers.

A monolithic kernel is a kernel monopolizing all hardware and driver operations as parts of itself, in contrast with microkernels which deal with a few basic tasks while leaving the rest as external tasks, due the lack of popular operating systems using microkernels we’ll ignore their existence for now.We can think about the kernel as the first level or lower level of communication between our OS (operating system) and our physical device.

Being a “hardware-software translator” the kernel’s main task is allocating hardware resources to software processes, mainly memory and processor. The kernel also can limit memory allocation to failing devices to prevent crashes.

Let’s say we installed a new Linux system and some of our devices fail to work properly, like an undetected wifi card. After doing some checks we realize the operating system we just installed does not support our wifi card. Before such scenario we may edit our kernel’s configuration adding support for the device we need. On a previous article on LinuxHint we took this scenario to teach how to compile the Slackware Linux kernel to add hardware support. If we want we can also remove hardware support we don’t need from our kernel to make it lighter.

While modifying a kernel we can edit the hardware support as native or we can load support as a loadable module called upon need, and of course you can write your own modules if needed.
Kernel modules have advantages over regular applications with the same utility (such as external drivers) because modules only work upon need. In contrast with applications kernel modules release hardware resources terminating all it’s activity while regular applications may retain them. On the other hand it’s disadvantage is regular applications are less likely to make the system crash.

Since the Linux kernel administrates every interaction between our hardware and software, it can also regulate functions of our system. By editing the Linux kernel we can remove or add support for internet protocols as IPv6, firewall tables and every way of interaction between our hardware and software.

It is critical to keep the core of our system, the kernel updated in order to avoid security flaws such as 2018-14634 which allows privileges escalation within a system. On LinuxHint we already explained how to keep your kernel upgraded, check this article to keep your Debian’s kernel upgraded, this for your Ubuntu kernel and this one to upgrade Linux Mint kernel.

See Also this additional article written on LinuxHint: Linux Kernel Tutorial For Beginners.

I hope you found this introduction to the Linux kernel useful to understand it’s functions and potential in an easy way. Keep following us on LinuxHint for more tips and updates on Linux.

ONET IDC thành lập vào năm 2012, là công ty chuyên nghiệp tại Việt Nam trong lĩnh vực cung cấp dịch vụ Hosting, VPS, máy chủ vật lý, dịch vụ Firewall Anti DDoS, SSL… Với 10 năm xây dựng và phát triển, ứng dụng nhiều công nghệ hiện đại, ONET IDC đã giúp hàng ngàn khách hàng tin tưởng lựa chọn, mang lại sự ổn định tuyệt đối cho website của khách hàng để thúc đẩy việc kinh doanh đạt được hiệu quả và thành công.
Bài viết liên quan

How to install KDE Plasma 5.8 LTS on Ubuntu 16.10, Ubuntu 16.04

KDE Plasma 5.8 LTS was released late last year – October, but got updated in the Kubuntu backports PPA end of December...

How to Access Google Drive from Ubuntu Desktop

Google drive is a very useful option to keep backups of necessary documents. You can also synchronize your devices with...

Install LLVM on Ubuntu

Install LLVM 5 on Ubuntu 17.10 Artful Aardvark LLVM is a C/C++ compiler toolset just like GCC. LLVM can compile C, C++...
Bài Viết

Bài Viết Mới Cập Nhật

Huớng dẫn dùng proxy cho ios, iphone 2023

Cách gắn set proxy cho điện thoại android, oppo, giả lập android, Ldplayer Bằng Proxydroid

Mua Proxy Socks5 VN Chơi Game Gia Lập Tăng Cường Trải Nghiệm Chơi Game

Mua Proxy Mỹ, Us Nuôi Tài Khoản Etsy, eBay Tìm Hiểu Về Mua Proxy Mỹ tại

Mua Proxy Game – Giải pháp tuyệt vời cho việc chơi game trên mạng mà không bị giới hạn về vị trí địa lý