您现在的位置是:首页 > Linux OSLinux OS
linux系统调用过程详细分析
比目鱼2021-11-14【Linux OS】人已围观
简介在高并发、高性能、低延时场景中,对程序的性能往往有极致的追求,系统调用是一种非常忌惮的存在,什么是系统调用,系统调具体有哪些动作,为何耗时长,耗时又是一什么样的量级,本文揭开谜底。
1. 先理解进程的几个相关的概念运行模式、地址空间、上下文
运行模式(mode)
Linux 使用了其中的两个:
特权级0 ,即内核模式(kernel mode)
特权级3,即用户模式(user mode)
地址空间(space )
每个进程的虚拟地址空间分为两部分:用户空间和内核空间;
在用户态下只能访问用户空间;在核心态下,两个空间均可访问;
内核空间在虚拟地址范围固定,且所有进程是同一份;
上下文(context )
一个进程的上下文可以分为三个部分:
用户级上下文:正文、数据、用户栈以及共享存储区;
寄存器上下文:通用寄存器、程序寄存器(IP )、处理机状态寄存器(EFLAGS)、栈指针(ESP);
系统级上下文:进程控制块task_struct 、内存管理信息(mm_struct 、vm_area_struct、pgd 、pmd、pte 等)、核心栈等;
2.什么是系统调用?
Tags:
很赞哦! ()
上一篇:Linux 上bridge、vlan、veth、tap原理
下一篇:常用的命令
随机图文
-
深入理解CPU的调度原理
前言软件工程师们总习惯把OS(Operating System,操作系统)当成是一个非常值得信赖的管家,我们只管把程序托管到OS上运行,却很少深入了解操作系统的运行原理。确实,OS作为一个通用的 -
Linux 中断的底裤之 workqueue
workqueue 是除了 softirq 和 tasklet 以外最常用的下半部机制之一。workqueue 的本质是把 work 交给一个内核线程,在进程上下文调度的时候执行。因为这个特点,所以 workqueue 允许重新调度和睡眠,这种异步执行的进程上下文,能解决因为 softirq 和 tasklet 执行时间长而导致的系统实时性下降等问题。 -
Linux 中断所有知识点
GIC,Generic Interrupt Controller。是ARM公司提供的一个通用的中断控制器。主要作用为:接受硬件中断信号,并经过一定处理后,分发给对应的CPU进行处理。 当前GIC 有四个版本,GIC v1~v4, 本文主要介绍GIC v3控制器。 -
Linux 内核的网络协议栈
本文主要记录 Linux 内核网络协议栈的运行原理