您现在的位置是:首页 > 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:

很赞哦! ()

文章评论

    共有条评论来说两句吧...

    用户名:

    验证码:

本站推荐

站点信息

  • 建站时间:2021-06-18
  • 网站主题:编程技术博客
  • 文章统计50篇文章
  • 标签管理标签云
  • 博主微信号:比目鱼