【计算机操作系统】(三)系统调用

一、系统调用

用户接口分为命令接口(允许用户直接使用)和程序接口(允许用户通过程序间接使用)。程序接口由一种系统调用组成。
“系统调用”是操作系统提供给应用程序(程序员)使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以发出系统调用请求来获得操作系统的服务

系统调用需要用到的权限很高,需要执行特权指令,因此系统调用的相关处理需要在核心态下进行。

系统调用和库函数的区别:

  1. 普通应用程序:可直接进行系统调用,也可以使用库函数。有的库函数设计系统调用,有的不涉及。
  2. 编程语言:向上提供库函数。有时会将系统调用封装成库函数,以隐藏系统调用的一些细节,使上层进行系统调用更加方便。
  3. 操作系统:向上提供系统调用

系统调用流程:传递系统调用参数——执行陷入指令/trap/访管指令(用户态)——执行系统调用相应服务程序(核心态)——返回用户程序
tip:

  1. 陷入指令是在用户态执行的,执行陷入指令后立刻引发一个内中断,从而CPU进入核心态
  2. 发出系统调用请求是在用户态,而对系统调用的相应处理在核心态下进行
  3. 陷入指令是唯一一个只能在用户态执行,而不可在核心态执行的指令
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值