什么是系统调用
来源:互联网 发布: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( )函数从系统调用返回
- 什么是系统调用
- 什么是系统调用
- 什么是系统调用
- 什么是系统调用
- 什么是系统调用
- 什么是系统调用
- 什么是低速系统调用
- 【UNIX】什么是进程的系统调用
- Unix编程学习笔记--------系统调用的疑问????? 到底什么是系统调用???? 系统调用是如何实现的???
- 什么是ARM?什么是嵌入式系统?
- 什么是异步调用
- 什么是嵌入式系统?
- 什么是CMS系统?
- 什么是CMS系统?
- 什么是ERP系统
- 什么是CMS系统?
- 什么是分布式系统?
- 什么是MIS系统
- 5招全面扫描网站页面的质量
- 读书笔记(三):【SQL Server 2005 Performance Tuning性能调校】(2):【SQL Server 架构简介】
- php操作word
- SQL Server如何跨实例访问数据库
- 开通了!!!
- 什么是系统调用
- 休问情怀谁得似——冰雪小五台苦旅记(六)
- 亡羊补牢,已经晚矣!
- 休问情怀谁得似——冰雪小五台苦旅记(七)
- 铁了心了
- Jquery.ajax的使用
- 休问情怀谁得似——冰雪小五台苦旅记(八)
- C#截取DOS命令输出流取得网卡MAC地址
- AS NEW