系统调用的理解
Posted 杀手不太冷!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了系统调用的理解相关的知识,希望对你有一定的参考价值。
系统调用
什么是系统调用
什么是系统调用?
答:操作系统的接口函数是连接应用软件与操作系统的中间桥梁,系统调用其实就是操作系统提供给应用程序的接口函数,应用程序可以通过这些接口函数来让操作系统执行相关的操作,从而获得操作系统的服务。
系统调用的分类
系统调用(按功能分类):
1.设备管理:完成设备的 请求/释放/启动 等功能
2.文件管理:完成文件的 读/写/创建/删除 等功能
3.进程控制:完成进程的 创建/撤销/阻塞/唤醒 等功能
4.进程通信:完成进程之间的 消息传递/信号传递 等功能
5.内存管理:完成内存的 分配/回收 等功能
系统调用相关处理涉及到对系统资源的管理、对进程的控制,这些功能需要执行一些特权指令才能完成,因此系统调用的相关处理需要在核心态下进行
系统调用与库函数的区别
库函数可以理解成是对系统调用的一层封装,我们把系统调用封装到库函数中,程序员可以通过应用程序调用库函数,然后库函数会进行相关的系统调用,其实也就相当于是程序员可以通过库函数直接系统调用,从而获得操作系统的服务。
一个库函数有可能包含一个系统调用,有可能包含多个系统调用,当然也有可能不包含系统调用;
比如库函数"取绝对值",它就不包含系统调用,而库函数"创建一个新文件",它就包含系统调用。
可以参考下图来理解库函数与系统调用的关系:
以上是关于系统调用的理解的主要内容,如果未能解决你的问题,请参考以下文章