我是靠谱客的博主 友好项链,最近开发中收集的这篇文章主要介绍系统调用【简单总结】,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、系统调用的执行过程:

在这里插入图片描述

1.硬件接收到信号立刻保存现场,并查找中断向量表,将CPU控制权交给系统调用总入口程序

2.对于系统调用总入口程序,亦要先保存现场,将参数保存在内核的堆栈中,然后查找系统调用库,将CPU控制权交给对应的系统调用处理程序或者内核程序

3.执行系统调用处理程序

4.恢复现场,返回用户程序.

二、什么是系统调用

大白话:就是用户态内核态过程

在说明什么是系统通调用前;我们先熟悉下什么是内核模式,用户模式

就是为了保护设备,有些文件,OS不能让其随意的访问,所以分为内核和用户模式

内核模式:

​ 用户程序调用系统 API 函数称为系统调用(System Call);

​ 发生系统调用时会暂停用户程序,转而执行内核代码(内核也是程序),访问内核空间,这称为内核模式(Kernel Mode)。

​ 涉及较底层,一般是一些修改寄存器内容的指令,常用的有:磁盘的IO操作,访问物理页内存,访问网络上的数据包等等

用户模式:

​ 就是用户空间保存的是应用程序的代码和数据,是程序私有的,其他程序一般无法访问。当执行应用程序自己的代码时,称为用户模式(User Mode)。

系统调用的概念:

系统将内核函数进行封装成API通过系统调用接口呈现给用户

系统调用的过程

在这里插入图片描述

下面的这张图进行的详细解释:(找了半天的网图–就他最合适)

(好好揣摩)

在这里插入图片描述

1.当系统发起调用是,通常通过一个陷阱(TRAP)的特殊硬件指令,(把它理解成一个操作步骤(好理解点))

​ 硬件将控制转移到预先设置的OS==>预先指定的陷阱处理程序–trap handler, ==>与此同时,将特权级别提升到内核模式

2.在内核模式下,OS完全掌握访问系统硬件的权利,比如进行IO操作,为程序赋予更多的内存等等

3.在OS完成请求服务时,通过特殊的陷阱返回指令(return from trap),将控制权交还给用户,该指令返回到用户模式,同时将控制权交给应用程序,回归本源!

系统调用涉及那些操作呢?

牢记一条:涉及不涉及底层

进程管理,进程通信

网络通信

文件管理,内存管理,用户管理拉等等.

后续刷题总结补充:(未完待续)

补充:

在这里插入图片描述
补充:
在这里插入图片描述

最后

以上就是友好项链为你收集整理的系统调用【简单总结】的全部内容,希望文章能够帮你解决系统调用【简单总结】所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部