什么是系统调用?系统调用的执行过程是什么?


什么是系统调用?

OS 提供给用户编程时的一些公共子程序,一般为函数或方法

 

为什么要使用系统调用?

OS 为了安全的管理计算机软硬件资源,不允许程序员直接操作系统资源,比如(进程、内存、I/O、文件),

但是用户可以通过系统调用向 OS 请求相关资源的服务,比如:I/O 的请求和释放、设备启动、文件的创建、读写、删除、进程的创建、撤销、阻塞、唤醒

进程间的消息传递、内存的配备和回收等。

 

总结:系统调用就是程序员给 OS 发送请求服务的方法或函数

 

好比,你去餐馆吃饭,你只需要向服务员点菜(系统调用),服务员就会处理你的请求,而不是你自己去做菜

 

程序员如何使用系统调用,OS 如何响应?

程序员在代码中首先传递系统调用参数,然后由陷入(trap)指令负责将用户态转换为核心态,并将返回地址压栈备用,然后 CPU 执行相应的内核服务程序,最后返回用户态

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM