操作系统:系统调用

一、系统调用概念

系统调用是操作系统提供给应用程序使用的接口,可理解为一种可供应用程序调用的特殊函数。应用程序可以通过系统调用来获取操作系统内核的服务。

二、系统调用和库函数调用的区别

库函数是高级语言编写的,调用库函数时库函数同时也要进行系统调用。

系统调用比库函数调用更加底层。

补充:计算机的层次

最上层:普通应用程序。可进行系统调用,也可以进行库函数调用。

中层:编程语言。向上给应用程序提供库函数,也可以将系统调用封装成库函数,隐藏系统调用的一些细节,方便程序员使用。

下层:操作系统。向上提供系统调用,使得上层应用程序可以获得操作系统内核的服务。

最下层:裸机。

三、系统调用的必要性

假设同时使用应用程序WPS和Word打印两篇论文,两个程序都要使用打印机资源,如果任由这两个应用程序并发运行,共享打印机资源,那么两篇论文将会混杂地打印在一起。

如何解决?

应用程序想要使用打印机资源,必须通过系统调用向操作系统内核发出请求,由操作系统内核对各个请求进行协调处理。(操作系统内核是系统资源的统一管理者,向上层提供系统调用接口)

四、系统调用的过程

应用程序上CPU运行,CPU处于用户态。应用程序向CPU传参,这些参数指明了将要进行的系统调用的类型。传参完成,应用程序向CPU发出陷入指令,陷入指令引发中断信号,CPU转为内核态,相应的中断信号处理程序(内核程序)来处理该中断信号,即系统调用入口程序来处理该中断信号。系统调用入口程序检查应用程序传给CPU的参数,通过参数确定不同类型的系通过调用服务。系统调用完成后,CPU转换为用户态,应用程序继续上CPU运行,执行其他指令。

五、需要进行系统调用的功能

系统中的各种资源都由操作系统内核统一管理,所以凡是需要使用共享资源的操作(存储分配、I/O操作、文件管理等),都必须进行系统调用。

通过系统调用的方式向操作系统内核获取服务,由操作系统内核程序代为完成相关操作,可以保证系统的安全性与稳定性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南林yan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值