Linux Network Programming (i)--linux operating system Overview

Source: Internet
Author: User

One, the kernel version of Linux

The Linux kernel numbers are numbered in the following format:

The major version number. This version number. Main patch number. Minor Patch number

Example: 2.6.26.3

The first number "2" is the major version number, which represents the 2nd largest version.

The second number, "6", is this version number, which indicates that it is the 6th iteration of a large version of the Linux kernel, and because 6 is the even representation of the release version, (if it is odd, the beta version).

The third number "26" is the major version of the patch number, which represents the 26th patch package for the specified iteration.

The fourth digit "3" is this version of the patch Pack, which represents the 3rd minor patch for the minor patch number.

Second, the Linux system architecture

From the point of view of application, Linux system is divided into two parts of kernel space and user space. Among them, the kernel consists of 5 subsystems including process scheduling, memory management, virtual file system, network interface and interprocess communication.

1. Process Scheduling Sched

Process scheduling refers to a system's policy of transitioning between multiple states of a process. There are 3 different strategies for process scheduling under Linux: Sched_other, Sched_fifo, and SCHED_RR.

Sehed_other is a time-slice rotation scheduling strategy for ordinary processes. In this strategy, the system assigns a time slice to all the running states of the process, and after the time slice of the current process is exhausted, the system chooses the process to run from the highest priority process in the process.

Sehed_fifo is a process scheduling strategy that requires relatively high real-time performance and long running time. In this strategy, the system schedules the process according to the order of the incoming queue, and runs until no higher priority process arrives or the current process is not blocked by waiting for resources.

SCHED_RR is a process scheduling strategy for high real-time requirements and long running time. This strategy is similar to Sched_other's strategy, except that the SCHED_RR process has a much higher priority, the system is assigned to the SCHED_RR process time slices, and then polls the process to run the process, putting the elapsed time slice to the end of the queue.

Due to the existence of a variety of scheduling methods, Linux process scheduling using "conditional deprivation" scheduling mode. The common process is to use the Sched_other time slice polling method, the real-time process can deprive the ordinary process. If the normal process is running in user space, the normal process immediately stops running, giving the resource to the real-time process, or, if the normal process is running in kernel space, the system call returns the user space before it can be stripped of resources.

2. Memory Management MMU

Memory management is a memory sharing policy that is seen by multiple processes. In Linux systems, the main concept of memory management is virtual memory. Virtual memory allows the process to have more memory than the actual physical memory, which can be many times the actual memory. Each process has a different address space within the virtual, and the virtual memory of multiple processes does not conflict.

The allocation strategy for virtual memory is that each process can use virtual memory fairly. The size of the virtual memory is typically set to twice times the physical memory.

3. Virtual File system

4. Network interface

5. Inter-process communication

Linux Network Programming (i)--linux operating system Overview

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.