Linux kernel and kernel buffer technology detailed

Source: Internet
Author: User
Tags cpu usage

Introduction to Linux Kernel

Now let's look at the architecture of the Gnu/linux operating system from a relatively high altitude. You can consider the operating system from two levels, as shown in Figure 2.

Figure 2. Basic architecture of Gnu/linux operating system

The top is the user (or application) space. This is where the user application executes. Under User space is the kernel space, where the Linux kernel is located.

The GNU C Library (glibc) is also here. It provides a system call interface that connects the kernel, and also provides a mechanism for converting between user-space applications and cores. This is important because the kernel and user-space applications use different protected address spaces. Each user-space process uses its own virtual address space, while the kernel occupies a separate address space.

The Linux kernel can be further divided into 3 layers. The top is the system call interface, which implements some basic functions, such as read and write. Under the system call interface is the kernel code, which can be more precisely defined as the kernel code that is independent of the architecture. This code is common to all of the processor architectures supported by Linux. Under these codes is an architecture-dependent code that forms part of what is often called a BSP (Board Support Package). The code is used as the processor for a given architecture and platform-specific code.

Properties of the Linux kernel

When discussing the architecture of large and complex systems, you can look at the system from many angles. One of the objectives of the architecture analysis is to provide a way to better understand the source code, which is the purpose of this article.

The Linux kernel implements a number of important architectural attributes. At a high or low level, the kernel is divided into multiple subsystems. Linux can also be seen as a whole, because it integrates all of these basic services into the kernel. This differs from the microkernel architecture, which provides some basic services, such as communication, I/O, memory, and process management, and more specific services are plugged into the microkernel layer. Each kernel has its own advantages, but this is not discussed here.

Over time, the Linux kernel is highly efficient and stable in terms of memory and CPU usage. But the most interesting thing about Linux is that it is still portable in this size and complexity. Linux is compiled to run on a large number of processors and platforms with different architectural constraints and requirements. One example is that Linux can run on a processor that has a memory management unit (MMU) or on a processor that does not provide MMU. The UClinux porting of the Linux kernel provides support for non-MMU.

The main subsystem of Linux

Now use the taxonomy in Figure 3 to illustrate the main components of the Linux kernel.

Figure 3. A perspective of the architecture of the Linux kernel

This article URL address: http://www.bianceng.cn/OS/Linux/201410/45417.htm

Contact Us

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

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.