操作系统复习之OS的运行环境
目录
1.3.1用户态与核心态
1.3.2中断与异常
1.3.3系统调用
【例题】
1.3.1用户态与核心态
在计算机系统中,CPU通常运行两种不同性质的程序: 一种是操作系统内核程序;另一种是用户自编程序,简称用户程序或应用程序。为了避免操作系统及其关键数据(如PCB等)受到用户程序有意或无意的破坏,通常将处理器的执行状态分为:核心态和用户态。
(1)核心态
又称管态、系统态。是操作系统管理程序执行时机器所处的状态。,它具有较高的特权,能执行包括特权指令的一切指令,能方问所有寄存器和存储区。
[特权指令是指由操作系统内核使用的指令,用户程序不能执行,如I/0指令、设置中断屏蔽指令、清内存指令、存储保护指令和设置时钟指令。]
(2)用户态
用户态又称目态,是用户程序执行时机器所处的状态,是具有较低特权的执行状态,能执行规定的指令,只能访问指定的寄存器和存储区
··区别核心态和用户态
CPU中有一个程序状态寄存器(PSW),其中有一个二进制位,1表示"核心态",0表示"用户态"
··核心态和用户态的切换
核心态–>用户态:执行一条特权指令来修改PSW的标志位为"用户态",这个动作意味着操作系统将主动让出CPU使用权
用户态–>核心态:通过执行访管指令,引发中断,硬件自动完成转态过程,触发中断信号意味着操作系统将强行夺回CPU的使用权。中断是从用户态切换到核心态的唯一方式。
(3)操作系统的内核
1.3.2中断与异常
(1)中断和异常的定义
中断也称外中断指来自CPU执行指令以外的事件的发生,中断来自外部硬件如I/O中断(由输入输出设备发出的中断,外部设备想要输入或输出数据),时钟中断(主要表现为进程的时间片轮转调度,这是实现并发的手段),这类中断通常与当前处理机运行的程序无关。
异常也称内中断或陷人trap(应用程序自己要求进行的中断,用户程序想要调用系统调用),指源自CPU执行指令内部的事件,如程序的非法操作码、地址越界、算术溢出、虚存系统的缺页及专门的陷人指令等引起的事件。对异常的处理一般要依赖于当前程序的运行现场,而且异常不能被屏蔽,一旦出现应立即处理。
(2)中断处理过程(外中断)
①关中断:CPU响应中断后,首先要保护程序现场状态,在保护的过程中CPU不可以响应更高优先级的中断请求。如果响应了更高优先级的程序,那低优先级的程序现场保存不完整,之后处理完中断后就不能正确的回到中断前的状态
②保存断点:为保证中断服务程序执行完毕能正确的返回到原来的程序,必须将程序断点(程序计数器PC的值)保存起来
③寻找中断服务程序入口地址:实质是取出中断服务程序的入口地址送入到程序计数器PC中入口地址的获取:查询"中断向量表",找到相应的中断处理程序在内存中的存放位置
进入中断服务程序,开始执行中断服务程序
④保护现场和屏蔽字:进入中断服务程序后的第一件事,就是保护现场和屏蔽字,主要是保存程序状态字PSWR和某些通用寄存器的内容
⑤开中断:允许响应更高级中断此时如果有高级中断到来,可以去执行高级中断,因为被中断程序的现场信息已经被保存,响应高级中断不会导致被中断程序在恢复时现场信息不完整
⑥中断服务程序处理:执行中断服务程序,这也是中断的目的所在
⑦关中断:执行完中断服务程序,在程序结束前,要恢复现场,这个操作也不可以被打断
⑧恢复现场:中断服务程序将之前保存的相关寄存器的值恢复到原来的状态
⑨开中断:中断服务程序即将结束,重新打开中断,允许响应其他中断
⑩返回到断点继续执行:中断服务程序的最后一条指令通常是一条中断返回指令,使其返回到程序断点处,以便原程序继续执行
1.3.3系统调用
系统调用是用户程序获得操作系统服务的唯一途径,是操作系统提供给应用程序的一个接口,应用程序通过这个接口向操作系统申请内核服务。凡是与共享资源有关的操作(如内存分配,I/O操作,文件管理等),都必须通过系统调用的方式向操作系统内核提出服务请求,由操作系统内核代为完成。
系统调用的过程:
用户程序通过执行陷入指令(又称访管指令或trap指令)来发起系统调用请求操作系统提供服务,即用户程序执行访管指令,使CPU的状态由用户态变为核心态;
之后由操作系统内核程序再对系统调用请求做出相应处理;
处理完成后,操作系统内核程序再把CPU的使用权还给用户程序(即CPU状态会从核心态返回用户态)。
【例题】:
1.下列操作系统的各个功能组成部分中,( )可不需要硬件的支持。A
A.进程调度 B.时钟管理 C.地址映射 D.中断系统
··进程调度是由调度算法决定CPU的使用权,由操作系统实现,无需硬件的支持
··对于时钟管理,任何操作系统都需要提供一个时钟节拍,以供系统处理所有和时间有关的事件,时钟节拍由配置为中断触发模式的硬件定时器产生
··逻辑地址到物理地址的映射都是靠硬件来实现的。无论是连续分配还是段表还是页表,都是一些地址寄存器,基址寄存器记录内存片段的开始,而另一个寄存器保存长度信息等
··中断的发生会激活很多事件,这包括硬件和软件的方面的事件,所以对于整个中断事件的接收、响应和处理需要有计算机的硬件和软件两方面的配合,共同完成。硬件中断装置负责捕获中断源发出的中断请求,并以一定的方式响应中断源,然后将处理器的控制权移交给特定的中断处理程序。中断处理程序则针对对中断事件的性质而执行相应的系列操作。
2.计算机区分核心态和用户态指令后,从核心态到用户态的转换是由操作系统程序执行后
完成的,而用户态到核心态的转换则是由( )完成的。A
A.硬件 B.核心态程序 C.用户程序 D.中断处理程序
··计算机通过硬件中断机制完成用户态到核心态的转换,发生中断事件时,触发中断,硬件中断机制把计算机状态置为核心态
··核心态程序只有在操作系统进入核心态之后才执行,D中断处理程序一般也在核心态执行,无法完成用户态到核心态的转换
··若用户程序能进行转换,则用户程序就能使用核心态指令,这会危害计算机的安全。
3. [2011统考真题]下列选项中,在用户态执行的是( ) A
A.命令解释程序 B.缺页处理程序 C.进程调度程序 D .时钟中断处理程序
··命令解释程序属于命令接口,是面对用户的,在用户态执行
··缺页处理程序和时间中断处理程序都是在核心态下执行的程序
··进程调度是操作系统内核进程,用户无法干预,在核心态执行
4. [2012 统考真题]下列选项中,不可能在用户态发生的事件是( )。C
A.系统调用 B.外部中断 C.进程切换 D.缺页
注意题目问的是不能在用户态发生的事件
··系统调用是操作系统提供给用户程序的接口,发生在用户态,被调用程序在核心态下执行
··外部中断是用户态到核心态的门,发生在用户态,在核心态完成中断过程
··进程切换是系统调用的执行程序事件,只能发生在核心态
··缺页产生后,在用户态发生缺页中断,进入核心态执行缺页中断服务程序
5. [2012 统考真题]中断处理和子程序调用都需要压栈以保护现场,中断处理一定会保存
而子程序调用不需要保存其内容的是( )。B
A.程序计数器PC B.程序状态字寄存器PSWR C.通用数据寄存器 D通用地址寄存器
··中断处理要保存断点(PC的内容)和程序状态字寄存器的内容,而子程序调用只需保存程序断点,即该指令的下一条指令地址
6. [2015 统考真题]处理外部中断时,应该由操作系统保存的是( ).B
A.程序计数器(PC)的内容B.通用寄存器的内容C.块表(TLB)中的内容D. Cache 中的内容
··外部中断处理过程,PC(程序计数器)值由中断隐指令自动保存,而通用寄存器内容由操作系统保存
7. [2015统考真题]假定下列指令已装入指令寄存器,则执行时不可能导致CPU从用户态变为内核态(系统态)的是( )。C
A. DIV RO, RI; (RO)V(R1)→R0 ··该指令有除零出现异常的可能
B. INTn; 产生软中断 ··INT为interrupt,为中断指令
C. NOT RO;寄存器RO的内容取非 ··不会出现异常所以不会出现状态转换
D. MOV RO, addr;把地址addr处的内存数据放入寄存器RO ··可能出现缺页异常
8. [2018 统考真题]定时器产生时钟中断后,由时钟中断服务程序更新的部分内容是ABC
A.内核中时钟变量的值
B.当前迸程占用CPU的时间
C.当前进程在时间片内的剩余执行时间
··时钟中断主要是处理和时间有关的信息和决定是否执行调度程序。和时间有关的所有信息包括系统时间,进程的时间片,使用CPU的时间,各类定时器。
9. [2020统考真题]下列与中断相关的操作中,由操作系统完成的是( )。BCD
A.保存被中断程序的中断点B.提供中断服务
C初始化中断向量表 D.保存中断屏蔽字
··CPU检测到中断信号后由硬件自动保存中断程序的断点
··硬件找到中断信号对应的中断向量(中断向量统一存放在中断向量表中,表由操作系统初始化),指明中断服务程序入口地址,接下来开始执行中断服务程序,保存程序状态字,中断屏蔽字等,提供与中断信号对应的中断服务。中断服务程序属于操作系统内核。
10. [2021统考真超]下列指令中。只能在内核态执行的是 B
A. trap指令 B. I/O指令 C数据传送指令 D.设置断点指令
操作系统复习之OS的运行环境相关推荐
- 操作系统4小时速成:操作系统发展和分类,运行环境:运行机制和内核,用户态非特权,核心态特权,中断技术,访管指令
操作系统4小时速成:操作系统发展和分类,运行环境:运行机制和内核,用户态非特权,核心态特权,中断技术,访管指令 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得 ...
- 理解WebKit和Chromium: Web应用和Web运行环境
转载请注明原文地址:http://blog.csdn.net/milado_nju 注:鉴于这一领域非常热,自己也投身其中,会单独开辟一个专题介绍Web应用和Web运行环境. ## 概述 Web已经从 ...
- 操作系统复习--OS的运行机制和体系结构
操作系统复习–OS的运行机制和体系结构 本文章按照王道操作系统参考 文章主要分:运行机制,操作系统内核,操作系统的体系结构 运行机制 两种命令 特权指令:不允许用户直接使用的命令,如:I/O,中断命令 ...
- 【OS】操作系统运行环境
文章目录 操作系统运行机制 中断和异常 系统调用 操作系统运行机制 CPU执行两种不同性质的程序: 1. 操作系统内核程序 2. 用户自编程序(应用程序) 其中内核程序用于执行一些特权指令,应用程序则 ...
- mongobd运行电脑不允许_U盘中的操作系统:Chrome OS,极致简洁超流畅,拯救你的旧电脑...
想必很多朋友家中都有旧电脑的存在,它的配置不怎么滴,毕竟时间久了,即使是安装win7系统也不太可能,就算硬件升级也是不可能了~更多时候,只是一个摆设~ 但是呢,这台电脑除了回收之外,还有另外一条路. ...
- linux 中文 gb32,《GB∕T 32394-20.15 信息技术 中文Linux操作系统运行环境扩充要求》.pdf...
<GB∕T 32394-20.15 信息技术 中文Linux操作系统运行环境扩充要求>.pdf h t t p s w w w .d o c88.co m /w 42020228h t t ...
- Zephyr物联网操作系统之运行环境搭建(一)
对于zephyr这个实时嵌入式操作系统,可以先在x86架构上搭建运行环境,学习相关知识.之后,根据实际需求,再将操作系统移植到不同架构的MCU上. 一.环境搭建 准备工作:安装ubuntu操作系统 虚 ...
- 自己动手写操作系统--搭建保护模式下的运行环境:bochs下安装freedos
在进行保护模式的运行环境配置前,先看了了下书上的代码,编译运行结果如下:nasm 3_pmtest1.asm -o pmtest1.bin,可以看到界面出现了红色的 p 字 保护模式环境配置 1:在网 ...
- 操作系统复习大纲笔记
1. 第一章 1.1 指令执行的基本指令周期 基本指令周期:取指令.执行 基本流程:开始->将PC所指地址中的指令读入IR,PC++(取指令阶段)->执行IR中的指令(执行阶段)-> ...
- 文件服务器 工作站 通信媒体,【2013年自考“网络操作系统”复习资料(22)】- 环球网校...
[摘要]2013年自考"网络操作系统"复习资料 1.为构建一个局域网,在硬件上和软件上应具备哪些条件? 硬件:①网卡和媒体②网络工作站③网络服务器④网络连接器. 软件:①服务器操作 ...
最新文章
- ORA-01113 file 1 needs media recovery
- 多角度回顾因果推断的模型方法
- 【browser】chinese chrome shows as english
- 【转载】常用DOS命令(包括创建删除文件夹/文件)
- linux如何锁定文件夹,如何在没有加密的情况下保护Linux / Unix上的文件夹? | MOS86...
- TED演讲——人生的12条法则
- 乘风破浪的迁移学习!四字成语讲明白这个大热研究方向
- java-idea-常用的快捷键
- 暑假集训-7.31总结
- ajax(form)图片上传(spring)
- UWB定位系统的主要误差来源
- 如何用Python操作Excel自动化办公?一个案例教会你openpyxl——图表设计和透视表
- ArcEngine中的ICommand接口和ITool接口
- Centos7.5部署MySQL5.7基于GTID主从复制+并行复制+半同步复制+读写分离(ProxySQL) 环境- 运维笔记 (完整版)
- C++ 的placement new和placement delete
- 中专生计算机基础知识论文3000字,计算机中专毕业论文3000字
- python改word域_python修改word
- html初学者对相对地址,绝对地址的理解
- 多线程基础(十三):java中的FutureTask
- 构建开发环境 构建demo_构建自己的wotsapp第6部分