开始13180 操作系统的学习过程,献给每一位拥有梦想的"带专人",
ps:有不正确的地方麻烦更新在评论区,我会一一修复 😅
第二章 操作系统运行环境与运行机制
1. 中央处理器CPU
CPU 一般由运算器、控制器、一系列的寄存器以及高速缓存构成
运算器实现指令中的算术和逻辑运算,是计算机计算的核心
控制器负责控制程序运行的流程,包括取指令、维护CPU状态、CPU 与内存的交互等
寄存器:一种暂时存储器件,用于在 CPU 处理指令期间暂存数据、地址以及指令信息
用户可见的寄存器,包括:数据寄存器,地址寄存器以及条件码寄存器 数地条(速递条)- 控制和状态寄存器,常见:程序计数器(PC)、指令寄存器(IR)和程序状态字(PSW) 两程序一指令
高速缓存:cache
指令执行的基本过程
开始 取指令 执行 停止
2. 特权指令和非特权指令
特权指令:指令系统中那些只能由操作系统使用的指令,不允许一般用户使用,如果用户可以随意使用特权指令,会造成系统混乱
如:设置程序状态字、启动某设备、设置中断屏蔽、设置时钟指令、清内存指令和建立存储保护指令等
非特权指令:操作系统、普通用户都能使用的
用户程序如何使用特权指令:通过处理器的处理机制,将处理器状态切换到操作系统运行的特权状态,然后将处理权移交给操作系统中的一段特殊代码,通常将这个过程称为陷入
3. 处理器的状态
内核态:又叫管态、特权态、系统态、核心态。指操作系统管理程序运行的状态,具有较高的特权级别
用户态:又叫目态、普通态。指用户程序运行时的状态,具有较低的特权级别
当处理器处于内核态时,可以运行全部指令,可以使用全部资源并具有改变状态的能力。当处理器处于用户态时,只有非特权指令可以执行。不同的处理器状态的区别就是赋予运行程序的特权级别不同,可以运行的指令集合也不同。特权级别越高,可以运行的指令集合越大,高特权级别可以运行的指令集合包含低特权级别的
CPU状态的转换
-
用户态 内核态的转换
其转换的唯一途径是中断。中断响应时交换中断向量,新的中断向量中的
PSW的 CPU 状态位标志为内核态 -
内核态 用户态的转换
可通过设置PSW指令(修改程序状态字),实现从操作系统向用户程序的转换
系统启动时,CPU的初始状态是内核态
操作系统退出执行时,让用户程序运行在用户态
-
限制用户程序执行特权指令
用户程序不能使用特权指令,当用户程序占用 CPU 时,应让 CPU 在用户状态下工作。若此刻收到了一条特权指令,CPU 将拒绝执行该指令,并生成一个非法操作事件。中断机制识别到该事件后,转交给操作系统处理,生成一个通知:程序中有非法指令
4. 程序状态字
程序状态字的作用是指示处理器状态
处理器的状态字(PSW)通常包括以下状态码
-
CPU的工作状态码:指明当前处理器的工作状态是管态还是目态,用来说明当前在处理器上执行的是操作系统还是一般用户,从而决定其是否可以使用特权指令或用尤其他的特殊权利
-
条件码:反应指令执行后的结果特征
-
中断屏蔽码:指出是否允许中断
C(塞)条中华
标准条件位:
-
CF:进位标志位
-
ZF:零标志位
-
SF:符号标志位
-
OF:溢出标志位
-
TF:陷阱标志位
-
IF:中断使能标志位
-
VIF:虚拟中断标志位
-
VIP:虚拟中断待决标志位
-
IOPL:IO 特权级别
VIF 和VIP用于支持对一类可屏蔽的硬件中断处理
5. 存储器类型
随机访问存储器(RAM):存放随机存取的程序的数据
只读存储器(ROM):只能读取数据,不能随意地用普通方法写数据
PROM是一种可编程的只读存储器,它可以被特殊的 PROM 写入器向其中写入数据
EPROM 可以用一种特殊的紫外线照射芯片,擦去其中的信息位,使其恢复原来的状态,然后使用特殊的 EPROM 写入器来写入数据
RAM(随机存取存储器)和 ROM(只读存储器)有以下区别:
- 读写特性:RAM 可读可写,ROM 通常只能读不能写
- 数据易失性:RAM 中的数据在断电后丢失,ROM 的数据断电后仍可以保存
- 用途:RAM 用于存储正在运行的程序或数据,ROM 用于存储固化的程序和数据
存储的最小单位是:二进位(又叫:比特或 bit 或 b )
存储器的最小编址单位是:字节(又叫 Byte 或 B)
内存空间的最小分配单位是:块(又叫物理页或 Page)
1B = 8b 1kb = 1024B 1MB = 1024KB 1GB = 1024KB 1TB = 1024GB
6. 存储器的层次结构
计算机存储系统的设计主要考虑三个问题
- 容量:容量是存储系统的基础
- 速度:存储系统的速度则要能匹配处理器的速度,在处理器工作时不应该因为等待指令和操作符而发生暂停
- 成本:存储器的成本和其他部件相比应该在一个合适的范围内
7. 存储访问局部性原理
提高存储系统效能的关键在于程序的存储访问局部性原理
存储器存取 N 级存储器:
I 级存储器,若命中则返回数据;若不命中,在方位 II 级存储器,命中则返回数据,若不命中,在访问 III 级存储器,命中则返回数据....
公式解读:一级存储器的命中概率 * 一级存储器的存取时间 + 二级存储器的命中概率 * (一级存储器的存取时间 + 二级存储器的存取时间)
8. 存储保护
界地址寄存器:
在 CPU 中设置一对界限寄存器来存放该用户作业在内存中的下限和上限地址,分别称为下限寄存器和上限寄存器。
也可以使用一个寄存器作为基址寄存器,另一个寄存器作为限长寄存器(指示存储区长度)来指出程序在内存中的存放区域。每当 CPU 要访问内存时,硬件会自动将被访问的内存地址与界限寄存器的内容进行比较,以判断是否越界。如果未越界,则按此地址访问内存,否则将产生的程序中断——越界中断或存储保护中断
存储保护键:
当一个用户作业被允许进入内存时,操作系统会为其分配一个唯一的,不与其他用户作业相同的存储保护键号;将分配给该作业的各存储块的存储保护键也设置成同样的键号,当操作系统挑选该作业到 CPU 上运行时,操作系统同时也会将该作业的存储保护键号放到 PSW 的存储保护键(“钥匙”)域中。这样每当 CPU 访问内存时,都将对内存块的存储保护键与 PSW 中的钥匙进行比较。如果相匹配,则允许访问。否则拒绝并报警
9. 中断机制
中断的概念:
所谓中断是指CPU对系统中或系统外发生的异步事件的响应
异步事件:无一定时序关系的随机发生的事件
中断的来源:当发生某个异步事件以后,处理器会中断当前事件的执行,而转去处理该异步事件(称为执行该事件的中断处理程序)。在该异步事件处理完之后,处理器在转回源程序的中断点继续执行
举例:某人正在看书,此时电话响了(异步事件),于是用书签记住正在看的那一页(中断点),再去接电话(响应异步事件并进行处理),接完电话后再从被打断的那一页继续看(返回原程序的中断点继续执行)
中断是所有要打断处理器的正常工作顺序,并要求其去处理某一事件的一种常用手段
引起中断的事件称为中断事件或中断源
中断源向处理器发出的请求称为中断请求
处理中断事件的程序称为中断处理程序
发生中断时正在执行的程序的暂停点称为中断断点
处理器暂停当前程序转而处理中断程序的过程称为中断响应
中断处理结束之后恢复原来程序的执行称为中断返回
中断的作用
- 能充分发挥处理器的使用效率,I/O 设备可以通过中断与 CPU 进行通信,主动向 CPU 报告当前输入的输入情况,可以避免 CPU 不断的查询和等待
- 提高系统的实时能力,对于有较高实时处理要求的设备可以通过中断方式使请求可以及时处理
中断的分类
- 强迫中断:正在运行的程序不期望发生的,随机性较强
- 程序性中断:算数运算溢出、被零除、用户态程序执行非法指令、访问不被允许的存储位置、虚拟存储缺页
- 时钟中断:处理器内部的计时器产生,允许操作系统以一定规律执行函数,如时间片到,硬件实时时钟到时
- 输入输出(I/O)中断:I/O 控制器产生,用于通知一个 I/O 操作是完成还是出现错误
- 控制台中断:程序员在控制台发出命令
- 硬件故障中断:掉电等硬件故障
- 自愿性中断:程序有意安排的,由
访管指令引起,目的是要求操作系统提供系统服务,发生时间以及位置具有确定
同步中断和异步中断区别
-
异步中断:一般由当对当前程序而言的外部事件激发的,属于外源性质
比如:用户输入、硬件故障等
- 时钟中断
- I/O 中段
- 控制台中断
- 硬件故障中断
-
同步中断(异常):由当前程序的编码和逻辑激发的,属于内因性质
比如:非法指令
- 程序性中断
- 访管指令异常
10. 中断系统
中断系统是现代计算机系统的核心机制之一,他不是单纯的硬件或软件的概念,而是硬件和软件相互配合、相互渗透而使得计算机系统得以充分发挥能力的计算模式
两大组成部分:硬件中断装置和软件中断处理程序
硬件中断装置负责捕获中断源发出的中断请求,并以一定的方式响应中断源,然后将处理器的控制权移交给特定的中断处理程序
硬件中断装置提供了中断系统的基本框架,是中断系统的机制部分
中断处理程序是中断系统的策略部分,它利用中断机制来实现对处理能力的扩展和对多种处理需求的适应
中断处理程序则针对中断事件的性质而执行相应的一系列操作
中断请求的接收:
在计算机硬件的中断逻辑线路和中断寄存器实现的
中断逻辑线路用于接收中断信号,并把收到的中断信号寄存在线路的硬件触发器上
由于计算机中可能有很多中断源请求,它们可能同时发生,因此由中断逻辑线路按中断优先级加以判定,即究竟应该响应哪个中断请求
中断响应:
- 扫描中断:指令执行周期结束时,处理器检查中断寄存器,看是否有中断信号。
- 无中断:执行下一条指令。
- 有中断:接收中断信号的编号(中断向量)。
- 保存状态:保护现场, 将中断程序状态字 PSW 的值和程序计数器 PC 的值存入系统堆栈。
- 切换内核态:进入内核态,处理中断更安全。
- 查询中断向量表:分析中断向量,取得中断处理程序的入口地址。
- 执行中断处理程序:转移控制权,调用中断处理程序
扫信号,存状态,切内核,查表跳,控转移。
11. 典型中断的处理
-
I/O中断:由 I/O 设备的控制器或通道发出
分类:I/O 操作正常结束以及I/O异常
-
时钟中断
维护软件时钟:定时维护、更新软件时钟。
处理器调度:时间片到时切换到下一个进程。
控制系统定时任务:定时启动任务,如死锁监测、记账、审计
实时处理:触发信号,监控硬件健康
维护处理器要定时处理
-
硬件故障中断
硬件故障:通常需要人工干预,例如复位或更换设备。
保存现场:确保当前状态数据不丢失
警告通知:提醒管理员并提供诊断信息
硬件故障需干预,保存现场发警示
-
程序性中断:程序指令出错,指令越权、寻址越界引发的系统保护
分类:
- 程序性中断只能由操作系统完成。例如程序尝试做不能做的操作
- 程序性中断可以由程序自己完成。例如系统调试中断,断点和单步跟踪等
-
系统服务请求(自愿性中断)
系统服务请求一般由处理器提供的专用指令(又称访管指令)来激发
12. 中断优先级、中断屏蔽与中断嵌套
-
多级中断与中断优先级
现代的微处理器都提供有多级中断系统,在多级中断系统中,硬件决定了各个中断的优先级别
多级中断作用:
- 对各类中断信号依据其紧急程度和重要性划分级别
- 解决如果有重要程度相当的多个中断信号同时到达的,如何选择首个被处理的中断信号问题,在同一中断级中的多个设备接口中同时都有中断请求时,一般有两种办法可以采用、
- 固定优先级:给每个设备接口安装一个不同的、固定的优先级。比如以该设备在总线中的位置来定优先级,离 CPU 近的设备的优先级高于离 CPU 远的设备
- 轮转法:用一个表格,依次轮转响应,这是一个比较公平,合理的方法
-
中断屏蔽:是一种用于控制中断处理的机制,通过设置特定的中断屏蔽位位或寄存器来临时禁止某些中断信号的处理。它主要用于在关键任务执行过程中避免某些不重要或低优先级的中断打断,从而保证系统的稳定性与任务的完整性
程序状态字(PWS)中的中断屏蔽位决定,这些屏蔽位标识了被屏蔽的中断类或者中断。一旦某个 I/O 中断被程序状态字中的中断屏蔽位加以屏蔽,那么即使有 I/O 中断信号,处理器也不予响应
机器故障中断不可屏蔽。比如:内存奇偶校验错,以及掉电等使得机器无法继续操作一类得故障
-
中断嵌套
计算机系统中都有多个中断源,如果一个中断处理过程中又发生了新的中断那么将引起
多个中断处理问题多级中断处理的策略分两种:
-
禁止其他中断:处理中断时,暂时屏蔽其他中断,新中断信号需等当前处理完成后再响应。通过禁止和放开中断指令实现,但无法根据中断紧急程度优先处理,不能满足严格的时间要求
处理中断禁他信,优先紧急难达成
-
中断嵌套:允许优先级较高的中断打断优先级较低的中断处理过程
由于中断嵌套中高优先级中断可以打断低优先级的中断,因此需要为低优先级中断保存现场,压入堆栈中
-
13. I/O 技术
-
I/O结构
一台计算机中有大量的外部设备,为了满足这些外部设备的控制要求,提高处理器和外部设备的运行效率,每台外部设备中都配有各自的设备控制器
-
通道
独立于处理器,专门负责数据 I/O 传输工作的处理单元,又称为I/O 处理机通道作用:
• 处理器与外设并行工作,双方可同时访问内存。
• 处理器与外设、外设之间并行分工,提升效率。
访问冲突处理:
• 若同时申请访问内存,由内存控制线路协调,保证同步有序执行。
多程序并行:
• 操作系统通过通道技术,多程序并行运行,每个程序占用不同系统资源。
通道并行协调忙,多程共享资源强
通道技术一般用于大型机系统和那些对 I/O 处理能力要求比较高的系统。低档次的微机中没有通道
-
直接存储器访问技术(DMA)
DMA(直接存储器访问)的作用:
• 自动化数据传输:DMA 控制器通过系统总线,自动管理内存与 I/O 设备间的大块数据传输。
• 指令执行:处理器只需发送包含目标地址、数据长度等信息的指令,然后可以继续处理其他任务。
• 完成通知:DMA 传输完成后,会通过中断通知处理器。
优点:
• 提高效率:处理器仅在传输开始和结束时参与,大幅减少干预。
• 简化操作:无需程序逐字节操作。
限制:
• 总线竞争:DMA 传输与处理器访问总线可能冲突,处理器需要短暂等待,总线访问速度略降。
• 整体提升:尽管如此,对于大块数据传输,DMA 依然非常高效。
DMA 传块自动忙,传前传后处理想。冲突竞争短暂停,数据高效效能强。
-
缓冲技术
缓冲区是应用设备之间进行数据传输时,专门用来暂存这些数据的一个存储区域
缓冲技术一般在以下情况使用:
- 处理器与内存之间
- 处理器与其他外部设备之间
- 设备与设备之间的通信上
缓冲技术用来解决部件之间速度不匹配的问题
缓冲区可以供多个用户使用以及反复使用
14. 时钟
主要功能总结
1. 死循环检测:多道程序运行环境中,时钟用于发现陷入死循环的程序,避免资源浪费。
2. 分时系统:通过时钟间隔实现时间片轮转机制,确保任务公平调度。
3. 实时控制:在实时系统中,按固定间隔输出信号用于实时设备控制。
4. 定时唤醒:用于按需唤醒特定时间点需要执行的任务。
5. 时间记录:记录用户设备使用时长或事件时间间隔。
6. 绝对时间记录:提供系统日期和时间信息(年、月、日、时、分、秒)。
时钟分类
按实现方式:
1. 硬件时钟:
• 基于晶体振荡器的固定频率脉冲。
• 通过时钟寄存器记录脉冲数。
2. 软件时钟:
• 使用内存模拟时钟寄存器。
• 程序通过增减内存值来模拟时间。
按用途:
1. 绝对时钟:
• 运行独立,不受外界影响,即使断电仍保持准确时间。
• 提供完整的时间信息。
2. 相对时钟:
• 记录从设定初值开始的时间间隔。
• 支持倒计时功能,触发中断后用于任务管理或时间控制。
这类时钟的功能和分类为操作系统中的时间管理提供了基础支持。
15. 系统调用
用户在程序中调用操作系统所提供的一些子功能。这是一种特殊的过程调用,这种调用通常是由特殊的机器指令实现的,并且将系统转入特权方式(管态)
系统调用程序被看成是一个低级的过程,只能由汇编语言直接访问
系统调用是操作系统提供给编程人员的唯一接口
编程人员利用系统调用,动态请求和释放系统资源,调用系统中已有的功能来完成与计算机硬件部分相关的工作以及控制程序的执行速度等
系统调用与一般过程调用的区别
-
运行在不同的系统状态
系统调用运行在用户态,但是被调用程序运行在内核态,一般过程调用中的调用程序与被调用程序都是运行在相同的状态下
-
状态的转换
一般过程调用不涉及状态转换,系统调用通过软中断机制由用户态转换为内核态,由操作系统分析后,转入相应的系统子程序
-
返回问题
一般的过程调用在被调用过程执行完毕后,将返回调用过程继续执行。但是,在采用抢占调度方式的系统中,被调用过程执行完后,系统对所有要执行的进程进行优先级分析。如果调用进程仍然有最高优先级则返回到调用过程继续执行;否则让优先级最高的进程先执行
-
嵌套调用:
与一般调用过程一样,系统调用也允许嵌套调用,在一个被调用过程执行期间,还可以利用系统调用命令去调用另一个系统。一般情况下,每个系统对嵌套调用的深度都会有限制
运行 状态 回调
操作系统按功能分为两大部分
- 是系统自身所需要的
- 是作为服务提供给用户的
通用操作系统系统调用分类
-
进程控制类系统调用
主要针对进程的控制,如创建和关闭进程、获得和设置进程
-
文件操作类系统调用
创建、打开、关闭、读\写文件、目录管理、移动文件指针、改变文件属性
-
进程通信类系统调用
用于进程之间的消息和信号传递
-
设备管理类系统调用
用来请求和释放有关设备,以及启动设备操作
-
信息维护类系统调用
用户可以用该类系统调用获得当前日期和时间、设置文件访问和修改时间、了解系统当前的用户数、操作系统版本号、空闲内存和磁盘空间大小
用户程序和系统程序之间的参数传递,常用方法
- 由陷入指令自带参数
- 通过有关通用寄存器来传递参数
- 在内存中开辟专用堆栈来传递参数
练习
-
在处理器的所有寄存器中,对用户不可见的是 1
- 指令寄存器
- 条件码寄存器
- 地址寄存器
- 数据寄存器
-
计算机处理器中用于管理程序运行流程的是 1
- 控制器
- 高速缓存
- 运算器
- 寄存器
-
以下属于非特权指令的是 3
- 启动 I/O 设备
- 设置中断屏蔽
- 执行数据算数计算
- 设置程序状态字
-
在多用户或多任务的多道程序设计环境中,以下不是特权指令的是 4
- 启动设备
- 设置中断屏蔽
- 清内存
- 算数运算指令
-
程序状态字的内容不包含 3
- CPU 的工作状态代码
- 条件码
- 中断屏蔽码
- 执行代码的用户 ID
-
以下关于处理器工作状态的描述,正确的是 2
- 操作系统管理程序运行的状态称为目态
- 当处理器处于管态时,可以执行全部指令
- 系统启动时,处理器的初始状态为目态
- 当用户程序占用处理器时,应让处理器在管态下工作
-
存储器的最小编址单位是字节,1024 个字节称为 2
- 1B
- 1KB
- 1MB
- 1GB
-
可用作随机存取数据的存储器是 1
- RAM
- ROM
- PROM
- EPROM
-
内存空间的最小分配单位是 4
- 二进制位
- 字节
- 字
- 块
-
计算机系统采用层次化的存储体系,以下存储装置中容量最小的是 4
- 硬盘
- 内存
- 高速缓存
- 寄存器
-
如果处理器的上限寄存器值为 3000,下限寄存器值为 4000,那么当处理器要访问内存地址 4100 时,会产生 2
- 硬件故障中断
- 存储保护中断
- 时钟中断
- I/O 中断
-
以下可用于存储保护的技术是 4
- 缓冲技术
- DMA 技术
- 通道技术
- 界地址寄存器
-
时钟中断处理程序的主要内容不包括 2
- 维护软件时钟
- 监控管理
- 处理器调度
- 实时处理
-
下列哪一种中断一般由处理器提供的专用指令(又称访管指令)来激发 4
- 程序性中断
- I/O 中断
- 控制台中断
- 自愿性中断
-
需要做的工作是保存现场,使用一定的手段警告管理员并提供一些辅助的诊断信息的是 1
- 硬件故障中断处理程序
- 时钟中断处理程序
- 程序性中断处理程序
- 自愿性中断处理程序
-
中断系统接收中断源的中断请求的途径是计算机硬件的 2
- 中断源和中断逻辑线路
- 中断逻辑线路和中断寄存器
- 中断逻辑线路和中断位
- 中断位和中断寄存器
-
中断处理结束时,处理器的状态 4
- 保持目态不变
- 从目态恢复为被中断时的管态
- 保持管态不变
- 从管态恢复为被中断时的目态
-
在多级中断系统中,同时有多个中断请求,处理器将 2
- 向用户发出询问请求
- 接收中断优先级最高的中断
- 接收处理时间最短的中断
- 根据先来先服务的方式进行响应
-
中断按照优先度分级,允许优先级较高的中断打断优先级较低的中断处理过程称为 3
- 中断断点
- 中断响应
- 中断嵌套
- 中断事件
-
在多级中断系统中,决定了各个中断的优先级别的是 3
- 通道
- 软件
- 硬件
- 时间
-
多级中断系统中,各中断优先级由硬件决定。但在某些情况下(如低优先级的事件正在执行),操作系统不能立即响应高优先级的中断,此时采用的技术是 4
- 软件设置中断优先级
- 中断挂起
- 中断嵌套
- 中断屏蔽
-
以下关于处理器工作状态转换的说法中,不正确的是 4
- 处理器处于管态时可以执行一切机器指令,包括特权指令
- 处理器处于目态时不允许执行特权指令
- 系统启动时,处理器的初始状态为管态
- 用程序计数器(PC)来指示处理器状态
-
处理器处理数据的速度与设备传输数据的速度不匹配时,可用于缓解两者之间速度矛盾的技术是 3
- 通道技术
- DMA 技术
- 缓冲技术
- I/O 控制技术
-
下列关于通道的作用的描述中,不正确的是 3
- 可以实现中央处理器和各种外部设备并行工作
- 可以实现各种外部设备之间的并行工作
- 通道既能负责数据I/O传输,也能负责数据计算
- 采用通道后,处理器和外部设备能够访问存储器
-
以下关于系统调用、库函数和应用程序的叙述中,正确的是 1
-
应用程序通过系统调用来获得操作系统内核提供的服务
-
应用程序可以通过库函数来获得操作系统内核提供的服务
-
库函数是操作系统提供给应用程序的接口
-
应用程序在目态执行系统调用
应用程序在管态执行系统调用
-
-
关于系统调用与函数调用的区别的叙述中,正确的是 3
-
函数调用的调用程序和被调用程序运行在不同状态
-
系统调用的调用程序运行在系统态
-
一般函数调用可直接由调用过程转向被调用过程
-
系统调用由可调用过程直接转向被调用过程
系统程序的调用程序运行在目态
-
-
下列关于通道的作用的描述中,不正确的是 3
- 可以实现中央处理器和各种外部设备并行工作
- 可以实现各种外部设备之间的并行工作
- 通道既能负责数据I/O传输,也能负责数据计算
- 采用通道后,处理器和外部设备能够访问存储器
-
存储器的最小编址单位是 2
- 二进位
- 字节
- 字
- 双字
-
在处理器的寄存器中,用于记录处理器的运行模式信息的是 4
- 地址寄存器
- 数据寄存器
- 指令寄存器
- 程序状态字
-
系统调用的目的是 1
- 请求系统服务
- 中止系统服务
- 申请系统资源
- 释放系统资源
-
用户程序向系统提出使用外设的请求方式是 4
- 作业申请
- 原语
- I/O 指令
- 系统调用
-
下列关于系统调用、库函数、应用程序之间的关系的描述中,正确的是 1
- 应用程序可以通过系统调用来获得操作系统内核提供的服务
- 应用程序不能直接调用系统调用,只能通过库函数来获得内核提供的服务
- 库函数是操作系统提供给应用程序的接口
- 应用程序在执行文件操作时不需要系统调用的支持,只需库函数支持即可
-
用户程序在执行过程中使用系统调用,此时处理器的工作状态 1
- 从目态转换为管态
- 从管态转换为目态
- 维持目态
- 维持管态
-
当计算机提供了管态和目态时,必须在管态下执行的指令是 3
- 读时钟周期指令
- 寸数指令
- 屏蔽中断指令
- 取数指令
-
计算机系统将处理器工作状态划分为管态和目态,必须在管态下执行的指令是 4
- 从内存中取数的指令
- 把运算结果写入内存的指令
- 算数运算指令
- I/O指令
设置程序状态字、启动某设备、设置中断屏蔽、设置时钟指令、清内存指令和建立存储保护指令
-
在多用户或多任务的多道程序设计环境中,不是特权指令的是 4
- 启动设备
- 设置中断屏蔽
- 清内存
- 算数运算指令
设置程序状态字、启动某设备、设置中断屏蔽、设置时钟指令、清内存指令和建立存储保护指令
-
什么是中断,中断和异常的区别是什么
中断是指处理器对系统中或系统外发生的异步事件的响应
区别:中断是由外部事件引发的,异常则是由正在执行的指令引发的
-
什么是中断屏蔽?采用什么方式来屏蔽?被屏蔽的中断信号保存在哪里?
在整个中断系统中,可以允许或禁止中断系统对某些类别中断的响应。在程序状态字 PSW 中设计了中断屏蔽位,主机是否允许响应或禁止某些中断,则由 PSW 中的中断屏蔽位决定,被屏蔽的中断信号,通常保存在中断寄存器中
-
中断系统由哪两大部分组成?请介绍计算机系统中比较典型的中断有哪些
- 硬件中断装置和软件中断处理程序
- I/O 中断、时钟中断、硬件故障中断、程序性中断、系统服务请求(或自愿性中断)
-
中断和异常的区别是什么?请指出
时间片到时、算数溢出、掉电和虚拟存储中的缺页分别属于中断和异常中的哪一种中断是由外部事件引发的,异常是正在执行的指令引发的
中断:时间片到时、掉电
异常:算数溢出、虚拟存储中缺页
-
什么是系统调用?操作系统为什么要提供系统调用
所谓系统调用,就是用户在程序中调用操作系统所提供的一些子功能
是操作系统提供给编程人员的唯一接口。编程人员利用系统调用,动态的请求和释放资源,调用系统中已有的功能来完成与计算机硬件部分相关的功能以及控制程序的运行速度等
-
什么是系统调用?在执行系统调用时,调用程序和被调用程序分别运行在什么状态?在执行一般的函数调用时,调用程序和被调用程序分别运行在什么状态?
系统调用,就是用户在程序中调用操作系统所提供的一些子功能
执行系统调用时,调用程序自身运行在目态,而被调用程序则运行在管态
执行一般的函数调用时,其调用程序和被调用程序都运行在相同的状态:管态或目态
捏捏捏捏捏捏捏捏捏捏捏
笔者观看的课程是 B 站博主小飞学长Pro的 课程,前四章是免费的如果需要看后面的建议大家去购买正版课程 😊😊
🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉