Overview of the features of the Linux kernel

  

Linux is a Unix-like operating system
on personal computers and workstations. However, it is by no means a simplified Unix. In contrast, Linux is a powerful and innovative Unix-like operating system
. It not only inherits the characteristics of Unix, but also surpasses Unix in many ways. As a Unix class
operating system
, the Linux kernel has the following basic features:


1. The Linux kernel is organized in a monolithic structure. That is to say, the entire Linux kernel consists of many processes, each process can be compiled independently, and then connected together by a linker to become a separate target program. From the point of view of information hiding, she does not have any degree of hiding — each process is visible to other processes. The biggest feature of this structure is that the internal structure is simple and the subsystems are easy to access, so the kernel works efficiently. In addition, the process-based structure also helps different people to participate in the development of different processes. From this perspective, the Linux kernel is an open structure, and she allows anyone to modify, improve and improve it.


2. Linux process scheduling is simple and effective. It can be said that Linux is tireless in its pursuit of efficiency, and it is also unique in its scheduling method. For user processes, Linux uses a simple dynamic priority scheduling method; for the routines in the kernel (such as device drivers, interrupt service routines, etc.), a unique mechanism &mdash is used; the soft interrupt mechanism ensures that Efficient operation of kernel routines.


3. Linux supports kernel threads (or daemons). A kernel thread is a process that runs in the background without a terminal or login shell combined with it. There are many standard kernel threads, some of which run periodically to accomplish a specific task (such as swapd), while others run continuously, waiting to handle certain events (such as inetd and lpd). The kernel thread can be said to be a user process, but it is different from the general user process. It is not swapped out like the kernel, so it runs more efficiently.


4. Linux supports virtual memory management on multiple platforms. Memory management is closely related to the hardware platform. In order to support different hardware platforms and ensure the versatility of virtual storage management technology, Linux virtual memory management provides a unified interface for different hardware platforms, so the Linux kernel is ported to A new hardware platform is not a very difficult thing.


5. Another unique feature of the Linux kernel is the Virtual File System (VFS). The virtual file system not only provides a unified interface for multiple logical file systems (such as ext2, fat, etc.), but also provides a unified interface for various hardware devices (as a special file).


6. The Linux module mechanism makes the kernel independent and easy to expand. The module mechanism makes it easy for the kernel to add a new module (such as a new device driver) without recompiling the kernel; at the same time, the module mechanism can add a module to the kernel or remove it from the kernel as needed. This allows us to customize our kernel as needed.


7. Increase system calls to meet your specific needs. In general, system calls are the interface that the operating system designer provides to the user to use the kernel functionality, but the open source code for Linux also allows you to design your own system calls and then add it to the kernel.


8. The object-oriented design of the network part makes it easy for the Linux kernel to support multiple protocols and multiple network card drivers.

Copyright © Windows knowledge All Rights Reserved