Linux operating system kernel features-General Linux technology-Linux programming and kernel information. for details, see the following. Linux is a highly practical modern operating system, and the backbone of its development is software engineers. Therefore, the practicality and efficiency are the starting point. many places also consider factors such as industrial specifications and compatibility, therefore, unlike the tutorial operating system, which is the first in theory, Linux kernel focuses on practicality and efficiency.
1. the Linux kernel is designed into a single giant kernel structure (compared with the micro kernel, the micro kernel is a core software with more functions close to the hardware, it generally only includes primary memory management, synchronization primitives, inter-process communication mechanisms, I/O operations, and interrupt management. this is conducive to 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, it is difficult to guarantee the efficiency of industrial applications .), Therefore, it is highly efficient and compact.
2. before version 2.6, the Linux kernel adopts a single-threaded structure. The so-called thread structure means that only one execution thread (the execution program in the kernel) can be run in the kernel at the same time, it will not be interrupted by the scheduler to run other tasks. this kernel is not preemptible, and its advantage is that there are no concurrent tasks in the kernel (for single processor ), therefore, many complex synchronization problems are avoided, but the adverse effect is that the non-preemption feature delays the system response speed. new tasks must wait until the current task is executed and exited in the kernel to obtain the running opportunity. In the industrial control field, high response speed is required. as a result of the contribution of Robert love and others after version 2.6, the preemption technology is introduced into the Linux kernel, making it a kernel preemption system, of course, the price is that the synchronization operation is further complicated.
3. Linux supports kernel threads (or daemon processes ). A kernel thread is a process that runs in the background without a terminal or logs on to the shell and integrates it. There are many standard kernel threads, some of which run periodically to complete specific tasks (such as swapd), while others run continuously, wait for processing specific 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 the running efficiency is high.
4. Linux supports virtual memory management on multiple platforms. Memory management is closely related to the hardware platform. to support different hardware platforms and ensure the versatility of the virtual storage management technology, linux virtual memory management provides a unified interface for different hardware platforms. Therefore, porting the Linux kernel to a new hardware platform is not very difficult.
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.
A Free Trial That Lets You Build Big!
Start building with 50+ products and up to 12 months usage for Elastic Compute Service