html5 服装网站,西双版纳傣族自治州属于哪个国家,营销的主要目的有哪些,连云港建设厅官方网站#x1f40c;个人主页#xff1a; #x1f40c; 叶落闲庭 #x1f4a8;我的专栏#xff1a;#x1f4a8; c语言 数据结构 javaweb 石可破也#xff0c;而不可夺坚#xff1b;丹可磨也#xff0c;而不可夺赤。 操作系统 一、操作系统的运行机制1.1内核程序1.2应用程序1… 个人主页 叶落闲庭 我的专栏 c语言 数据结构 javaweb 石可破也而不可夺坚丹可磨也而不可夺赤。 操作系统 一、操作系统的运行机制1.1内核程序1.2应用程序1.3内核态和用户态1.4内核态、用户态的切换 二、中断和异常2.1中断的作用2.2中断的类型2.2.1内中断也称“异常”2.2.2外中断 2.3中断机制的基本原理 三、系统调用3.1什么是系统调用3.2系统调用与库函数的区别3.3什么功能要用到系统调用3.4系统调用的过程 一、操作系统的运行机制
程序是如何运行的一条高级语言的代码翻译过来可能会对应多条机器指令程序运行的过程就是CPU一条一条的机器指令的执行过程“指令”就是处理器CPU能识别、执行的最基本命令
1.1内核程序
由很多内核程序组成了 “操作系统内核”或简称“内核Kernel”“内核Kernel”是操作系统最重要最核心的部分也是最接近硬件的部分甚至可以说一个操作系统只要由内核就够了操作系统内核作为“管理者”有时会让CPU执行一些“特权指令”如内存清零指令这些指令影响重大只允许“管理者” - - 即操作系统内核来使用
1.2应用程序
在操作系统之上的程序就是应用程序即普通的应用软件。应用程序只能使用“非特权指令”如加法指令、减法指令等。 CPU能判断出指令类型但是它怎么区分此时正在运行的是内核程序还是应用程序 1.3内核态和用户态
处于内核态时说明此时正在运行的是内核程序此时可以执行特权指令处于用户态时说明此时正在运行的是内核程序此时可以执行非特权指令CPU中有一个寄存器叫程序状态寄存器PSW其中有个二进制位1表示“内核态”0表示“用户态”。别名内核态核心态管态用户态目态
1.4内核态、用户态的切换
内核态–用户态执行一条特权指令 – – 修改PSW的标志位为“用户态”这个动作意味着操作系统将主动让出CPU使用权用户态–内核态由“中断”引发硬件自动完成变态过程触发中断信号意味着操作系统将强行夺回CPU使用权 除了非法使用特权指令之外还有很多事件会触发中断信号 一个共性是但凡需要操作系统介入的地方都会触发中断信号
二、中断和异常
2.1中断的作用
在合适的情况下操作系统内核会把CPU的使用权主动让给应用程序“中断”是让操作系统内核夺回CPU使用权的唯一途径如果没有“中断”机制那么一旦应用程序上CPU执行CPU就会一直运行这个应用程序
2.2中断的类型
2.2.1内中断也称“异常”
与当前执行的指令有关中断信号来源于CPU内部 有时候应用程序想请求操作系统内核的服务此时会执行一条特殊的指令 – – 陷入指令该指令会引发一个内部中断信号 执行“陷入程序”意味着应用程序主动地将CPU控制权还给操作系统内核。“系统调用”’就是通过陷入指令完成的 1.陷阱、陷入trap由陷入指令引发是应用程序故意引发的 2.故障fault由错误条件引起的可能被内核程序修复。 内核程序修复故障后会把CPU使用权还给应用程序让他继续执行下去如缺页故障 3.终止abort:由致命错误引起内核程序无法修复该错误因此一般不再将CPU使用权还给引发终止的程序而是直接终止该应用程序如整数除0、非法使用特权指令
2.2.2外中断
与当前执行的指令无关中断信号来源于CPU外部 1.时钟中断 – – 由时钟部件发来的中断信号 时钟部件每隔一个时间片如50ms会给CPU发送一个时钟中断信号 2.I/O中断 – – 由输入/输出设备发来的中断信号 当输出任务完成时向CPU发送中断信号
2.3中断机制的基本原理
不同的中断信号需要用不同的中断处理程序来处理。当CPU检测到中断信号后会根据中断信号的类型去查询“中断向量表”以此来找到相应的中断处理程序在内存中的存放位置。
三、系统调用
3.1什么是系统调用
“系统调用”是操作系统提供给应用程序程序员/编程人员使用的接口可以理解为一种可供应用程序调用的特殊函数应用程序可以通过系统调用来请求获得操作系统内核的服务。
3.2系统调用与库函数的区别 普通应用程序可直接进行系统调用也可使用库函数。有的库函数涉及系统调用有的不涉及编程语言向上提供库函数有时会将系统调用封装成库函数以隐藏系统调用的细节使程序员编程更方便操作系统向上提供系统调用使得上层程序能请求内核的服务裸机
不涉及系统调用的库函数如“取绝对值”的函数涉及系统调用的库函数如“创建一个新文件”的函数
3.3什么功能要用到系统调用
应用程序通过系统调用请求操作系统的服务。系统中的各种共享资源都由操作系统内核统一掌管因此凡是与共享资源有关的操作如存储分配、I/O操作、文件管理等都必须通过系统调用的方式向操作系统内核提出服务请求由操作系统内核代为完成这样可以保证系统的稳定性和安全性防止用户进行非法操作。
3.4系统调用的过程 传递系统调用参数 -- 执行陷入指令用户态 -- 执行相应的内请求核程序处理系统调用核心态 -- 返回应用程序