what does linux kernel mean
The Linux kernel is the lowest level of easily replaceable software that interfaces with the hardware in a computer; the kernel is responsible for connecting all applications running in "user mode" to the physical hardware and allows processes to use inter-process communication to connect from Get information from each other.
#The operating environment of this article: linux5.9.8 system, Dell G3 computer.
With more than 13 million lines of code, the Linux kernel is one of the largest open source projects in the world.
So what is the kernel?
The kernel is the lowest level of easily replaceable software that interfaces with the hardware in your computer. It is responsible for connecting all applications running in "user mode" to the physical hardware and allows processes (called servers) to obtain information from each other using inter-process communication (IPC).
Different Types of Kernels
Of course, there are different ways to build the kernel and architectural considerations when building a kernel from scratch. Generally, most kernels fall into one of three types: monolithic, microkernel, and hybrid. Linux is a monolithic kernel, while OS X (XNU) and Windows 7 use hybrid kernels. .
Monolithic Kernels
Monolithic kernels are the opposite of microkernels in that they contain not only the CPU, memory and IPC, but also device drivers, file system management and system Server calls, etc. Monolithic cores tend to be better at accessing hardware and multitasking because if a program needs to get information from memory or another process running it has a more direct line to access it instead of having to wait in a queue for a task to complete. However, this can cause problems because the more things are run in hypervisor mode, the more things can crash if one misbehaves.
Advantages
More direct access to the program's hardware
Communication between processes Easier to communicate with each other
If your No additional installation is required if the device is supported Large area
Large memory usage
Not very safe because everything runs in administrator mode
Linux kernel files Where?
Kernel files in Ubuntu are stored in the /boot folder and are named vmlinuz-version. The name vmlinuz comes from the unix world, they used to call their kernel "unix" in the 60's, so Linux started calling their kernel "linux" when it was first developed in the 90's.
When virtual memory was developed to enable easier multitasking capabilities, "vm" was put in front of the file to show that the kernel supported virtual memory. For a while the Linux kernel was called vmlinux, but the kernel became too large to fit in the available boot memory, so the kernel image was compressed and the ending x was changed to az to show that it was compressed using zlib compression. This compression is not always used, often LZMA or BZIP2 is used instead, some kernels simply call it zImage.The version number will be in ABCD format, AB may be 2.6, C is your version, D represents your patch or hotfix
Linux Kernel Architecture
Since the Linux kernel is a monolithic kernel, it has the largest footprint and greatest complexity compared to other types of kernels. This was a design feature that caused considerable debate in the early days of Linux, and still suffers from some of the same design flaws inherent in monolithic kernels.
One thing Linux kernel developers have done to address these flaws is to make kernel modules that can be loaded and unloaded at runtime, meaning you can add or remove functionality from the kernel on the fly. This is not just about adding hardware capabilities to the kernel by including modules that run server processes (such as low-level virtualization), but it can also replace the entire kernel without the need to reboot the computer in some cases.
Imagine if you could upgrade to a Windows Service Pack without rebooting...
Kernel ModulesWhat if Windows has already installed all available drivers and you just need to open the one you want? This is basically what the kernel module does for Linux. Kernel modules, also known as loadable kernel modules (LKMs), are critical to keeping the kernel running with all hardware without consuming all available memory.
Modules typically add functionality to the base kernel, such as devices, file systems, and system calls. LKMs have the file extension .ko and are usually stored in the /lib/modules directory. Due to their modular nature, you can easily customize the kernel by setting which modules to load or not load using the menuconfig command during boot or by editing the /boot/config file, or you can dynamically load and unload modules using the modprobe command .
Third-party and closed-source modules are available in some distributions (such as Ubuntu) and may not be installed by default because the source code of the module is not available. The developers of the software (i.e. nVidia, ATI, etc.) do not provide the source code, but instead build their own modules and compile the required .ko files for distribution. While these modules are free in beer, they are not as free as they are in voice, so some distributions do not include these modules because the maintainers believe it "taints" the kernel by providing non-free software.
The kernel is not magic, but it is essential for any properly functioning computer. The Linux kernel is different from OS X and Windows in that it contains kernel-level drivers and supports many things "out of the box". Hopefully you'll learn more about how your software and hardware work together and the files you need to start your computer.
The above is the detailed content of what does linux kernel mean. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

This tutorial demonstrates efficient keyword searching in Linux using the grep command family and related tools. It covers basic and advanced techniques, including regular expressions, recursive searches, and combining commands like awk, sed, and xa

This article details the multifaceted role of a Linux system administrator, encompassing system maintenance, troubleshooting, security, and collaboration. It highlights essential technical and soft skills, salary expectations, and diverse career pr

The article explains how to use regular expressions (regex) in Linux for pattern matching, file searching, and text manipulation, detailing syntax, commands, and tools like grep, sed, and awk.

The article discusses using top, htop, and vmstat for monitoring Linux system performance, detailing their unique features and customization options for effective system management.

The article provides a guide on setting up two-factor authentication (2FA) for SSH on Linux using Google Authenticator, detailing installation, configuration, and troubleshooting steps. It highlights the security benefits of 2FA, such as enhanced sec

This article compares SELinux and AppArmor, Linux kernel security modules providing mandatory access control. It details their configuration, highlighting the differences in approach (policy-based vs. profile-based) and potential performance impacts

This article compares Linux commands (scp, sftp, rsync, ftp) for uploading files. It emphasizes security (favoring SSH-based methods) and efficiency, highlighting rsync's delta transfer capabilities for large files. The choice depends on file size,

This article details Linux system backup and restoration methods. It compares full system image backups with incremental backups, discusses optimal backup strategies (regularity, multiple locations, versioning, testing, security, rotation), and da
