什么是系统调用

来源:互联网 发布:javascript封装 编辑:程序博客网 时间:2024/05/14 22:01

什么是系统调用?
每个进程的虚拟地址空间可以划分为两个部分:用户空间和内核空间。在用户态下只能访问用户空间;而在核心态下,既可以访问用户空间,又可以访问内核空间。系统调用是在内核完成的。
Linux的系统调用作为c库的一部分提供:
#include <linux/unistd.h> /* all system calls need this header */。
一些关系:Linux API>C库(包括标准C库和系统调用)
我们用的linux命令调用了系统调用。命令strace可以看命令都调用了什么系统调用。
系统调用的实质:为内核函数提供外部接口。进入内核后,不同的系统调用会找到各自对应的内核函数,这些内核函数被称为系统调用的“服务例程”

系统调用的执行过程:
当用户态的进程调用一个系统调用时,CPU切换到内核态并开始执行一个内核函数。系统调用处理程序执行下列操作:
在内核栈保存大多数寄存器的内容
调用名为系统调用服务例程(system call service routine)的相应的C函数来处理系统调用
通过ret_from_sys_call(  )函数从系统调用返回

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 华为手机不支持软件搬家怎么办 红米手机没有任务键怎么办 进网许可丢了怎么办 华为稳私空间被稳蔵怎么办 华为手机安装不了软件怎么办 华为手机自动安装软件怎么办 手机在实体店买贵了怎么办 日本买的kindle坏了怎么办 华为麦芒4屏幕失灵怎么办 华为麦芒6屏幕失灵怎么办 手机为什么总显示内存不足怎么办 小米云服务满了怎么办 魅蓝s6声音小怎么办 华为畅享7s丢失怎么办 华为耳机孔坏了怎么办 苹果手机耳机插孔坏了怎么办 荣耀8听筒声音小怎么办 荣耀8听筒音量小怎么办 华为荣耀6声音小怎么办 华为荣耀v8通话声音小怎么办 华为p20没有耳机孔怎么办 华为荣耀手机耳机声音小怎么办 小米5x显示耳机怎么办 手机进水听音乐人声小怎么办 华为荣耀v8手机音量小怎么办 手机充电孔松了怎么办 华为荣耀7卡顿怎么办 华为手机话筒没声音怎么办 苹果x耳机进水了怎么办 苹果6p进水了怎么办 华为手机声音变耳机模式怎么办 手机设置成耳机模式怎么办 opop耳机一个没有声音怎么办 oppo手机上显示耳机模式怎么办 微信显示耳机模式怎么办 微信变成耳机模式怎么办 5s变成耳机模式怎么办 华为手机一直是耳机模式怎么办 华为手机进水了耳机模式怎么办 蓝牙耳机通话声音小怎么办 华为手机自动进入耳机模式怎么办