Introduction to Linux Kernel

29/12/2020
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 Shutdown Ubuntu 18.04

It doesn’t matter how silly it sounds but shutdown is a major part of our computing. You definitely want to shut down...
29/12/2020

[CI/CD] Phần 1: Hướng dẫn cài đặt Gitlab trên CentOS 7

Gitlab là một mã nguồn mở của máy chủ Git để quản lý mã nguồn dự án được sử dụng rộng...
30/12/2020

PGAdmin4 Tutorial Beginners

pgAdmin4 is a popular application to manage Postgres databases. All types of PostgreSQL features are supported by this...
29/12/2020
Bài Viết

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

Dịch Vụ Xây Dựng Hệ Thống Peering Với Internet Exchange (IXP)
04/04/2025

Dịch Vụ Triển Khai VPN Site-to-Site & Remote Access
04/04/2025

Dịch Vụ Thiết Lập Hệ Thống Tường Lửa (Firewall)
04/04/2025

Dịch Vụ Triển Khai Hệ Thống Ảo Hóa & Cloud
04/04/2025

Dịch Vụ Triển Khai Hệ Thống Ceph
04/04/2025