Linux system core composition

a memory management
        The main task of memory management is how to manage the physical memory of the entire system reasonably and effectively, and at the same time quickly respond to requests for memory allocation from various subsystems of the kernel. Linux memory management supports virtual memory, that is, the total amount of memory occupied by all programs running on the system can be greater than the actual physical memory, and the extra memory is obtained through disk application. Usually, the system only reserves the currently running program blocks. In memory, other program blocks are kept on disk. Memory management is responsible for swapping program blocks between disk and memory when memory is scarce.
 
Two process management
        Process management mainly controls the access of the system to the CPU. When a process needs to be run, the process scheduler starts a new process according to the priority-based scheduling algorithm. Linux supports multitasking. So how to support multitasking on a single CPU? This work is done by process scheduling management. When the system is running, each process will be allocated a certain time slice, and then the process scheduler selects each process to run in turn according to the time slice. For example, when a process time slice runs out, the scheduler will select a new process to continue running. Since the switching time and frequency are very fast, the user feels that multiple programs are running at the same time. In fact, only one process is running on the CPU at the same time, all of which are the result of process scheduling management.
 
three-process communication
        Interprocess communication is mainly used to control synchronization, data sharing and exchange between different processes in user space. Since different user processes have different process spaces, the communication between processes is realized by means of kernel relay. Typically, when a process is waiting for a hardware operation to complete, it is suspended. When the hardware operation is completed, the process is resumed, and it is the communication mechanism between the processes that coordinates this process.
 
Quad virtual file system
        The virtual file system in the Linux kernel uses a general file model to represent various file systems. This file model shields many differences between specific file systems and enables the Linux kernel to support many different file systems. Virtual file systems can be divided into logical file systems and device drivers. Logical file systems refer to file systems supported by Linux, such as ext2, ext3, ext4, xfs, and fat, etc. Device drivers refer to those written for each hardware controller. device driver module.
 
Five network interfaces
        The network interface provides implementation of various grid standards and support for various network hardware. Network interfaces are generally divided into network protocols and network device drivers. The network protocol section is responsible for implementing every possible network transport protocol. The network device driver is mainly responsible for communicating with hardware devices, and each possible network hardware device has a corresponding device driver.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326420058&siteId=291194637