The good security performance and practicality of Linux lead to the choice of many users. Linux Kernel features do you know? The backbone of developing it is experienced software engineers who focus on practicality and efficiency. Many places also consider factors such as industrial specifications and compatibility, therefore, unlike the Pure Pursuit of theoretical advancement of the teaching operating system, the practicality and efficiency of the Linux kernel are amazing.
Next we will briefly summarize the features of the Linux kernel.
First, the Linux kernel is designed as a monolithic with a single giant kernel. The microkernel is a core software with functions closer to the hardware. It generally only includes basic memory management, synchronization primitives, inter-process communication mechanisms, I/O operations, and interrupt management, this will improve scalability and portability. However, the microkernel and other upper-layer modules such as file management, device drivers, virtual memory management, and process management require high communication overhead. Therefore, they are mostly concentrated in the field of theoretical teaching, for industrial applications, the efficiency is hard to guarantee. Therefore, the efficiency is high and the closeness is strong.
Second, the Linux kernel before version 2.6 is a single-threaded structure. The so-called single-threaded structure means that only one execution thread in the kernel can be run at a time, this kernel becomes non-preemptible and has the advantage of having no concurrent task in the kernel for single processor. This avoids many complicated synchronization problems, however, the adverse effect is that the non-preemption feature delays the system response speed. The new task must wait for the current task to run after the kernel is executed and automatically exits before it can run. However, the industrial control field requires high response speed. Thanks to the contributions of Robert love and others, version 2.6 introduces the preemption technology to the Linux kernel, making it an operating system that can be preemptible.-Of course, the price is that synchronization becomes more complex.
Third, in order to ensure convenient support for new devices and new functions, the Linux system uses modular methods for device drivers or new file systems, the user can dynamically load on site when needed, and can dynamically unload after use. At the same time, you can also customize the kernel and select the appropriate features to remove unnecessary parts from the kernel. These ensure that the kernel is compact and scalable.
Fourth, the Linux Kernel provides services passively. The so-called passive mode is because the only way it serves users is to request a task to be executed in the kernel space through system calls. The kernel itself is a collection of functions and data structures. There is no running kernel process serving users. Although Linux does have a process called a kernel thread, but it is not used to serve users, but only the kernel itself ).
Fifth, the Linux kernel uses the virtual memory technology to make the memory space reach 4 GB. Among them, 0-3G belongs to the user space, which is called the user segment, and 3g-4g belongs to the kernel space, which is called the kernel segment. In this way, applications can use much larger storage space than the actual physical memory.
Sixth, the Linux file system implements an abstract file model-VFS Virtual File System), which belongs to the Unix style. VFS is one of the characteristics of Linux. By using a virtual file system, the kernel shields the internal differences between different file systems, allowing users to access various file systems of different formats through a unified interface, in addition, data can be exchanged among file systems of different media and formats through the unified interface provided by VFS. This abstraction brings great flexibility to Linux.
7. Linux provides an effective latency execution mechanism-lower half, Soft Interrupt, tasklet, and 2.6 new work queues. These technologies ensure that the system can prioritize tasks, select the execution time in a more fine-grained manner. This ensures that the system is always safe for no interruptions ).
In addition to the features mentioned above, Linux also has many other features. We hope to introduce the features of Linux kernel in this article so that you can learn the Linux system well.
- How to install Linux NICs
- Install and configure the Linux Ethernet Card
- Fully understand the operating principles of Linux NICs
- Do you know about Linux boot?
- Teach you how to send emails and fax in Linux