网络技术四级-第2章“十问十答”(1)。

本文详细探讨了处理器中的可见和不可见寄存器,区分了系统调用与普通过程调用的特点,介绍了参数传递的不同方法,以及程序状态字(PSW)中的标志位。此外,文章还重点讨论了中断机制、中断优先级、访管指令与特权指令的区别,以及内核态与用户态的转换方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第2章

Q1用户可见的寄存器VS不可见的寄存器

  1. 可见的寄存器:处理器中对用户可见的寄存器通常是对用户程序可用的。包括:数据寄存器、地址寄存器以及条件码寄存器
  2. 不可见的寄存器多是用于控制处理的操作。如程序计数器、指令寄存器、程序状态字寄存器等。

Q2系统调用VS过程调用(一般过程调用/一般调用)

系统调用在本质上是应用程序请求操作系统核心完成某一特定功能的一种过程调用,是一种特殊的过程调用。

它与一般过程调用有以下几方面的区别:(1)运行在不同的系统状态:一般过程调用,其调用程序和被调用程序都运行在相同的状态,即核心态或用户态,而在系统调用中调用程序运行在用户态,而被调用程序则运行在系统态。

(2)状态的转换:一般过程调用不涉及系统状态的转换,可直接由调用过程转向被调用过程,但在运行系统调用时,是通过软中断机制先由用户态转换为核心态。系统调用不允许直接调用,一般过程调用允许直接调用。(3)返回问题:一般过程调用在被调用过程执行完后,将返回到调用过程继续执行。(4)嵌套调用:像一般过程调用一样,系统调用也允许嵌套调用。

系统调用是操作系统提供给编程人员唯一接口。

Ex.用户在编写程序时,若要在屏幕上画出一个红色的圆,需要使系统调用

Q3系统调用传递参数方法

系统调用传递参数方法陷入指令自带通用寄存器专用堆栈区3种。

一般来说,系统子程序所访问的地址空间与用户子程序所访问的地址空间不一样,所以系统子程序访问不了用户提供的变量,也就无法通过用户提供的变量获取参数,故“通过变量传递”不能用于传递参数。

Q4标志位或状态码是否包含在程序状态字(PSW)中?

程序状态字寄存器(PSW)是用于表明处理器当前工作状态的特殊寄存器。

包含在程序状态字(PSW)中:

(1)标志位:进位标志位( CF )、结果为零标志位( ZF )、符号标志位( SF )和溢出标志位( OF )。

(2)有时候这四种标志位为标准条件位:陷阱标志位( TF )、中断使能(中断屏蔽)标志位( IF )、虚拟中断标志位( VIF )和虚拟中断待决标志 ( VIP )

(3)程序状态字( PSW )通常包括以下状态代码

  • CPU 工作状态码( S )﹣﹣指明管态还是目态,用来说明当前在 CPU 上执行的是操作系统还是一般用户,从而决定其是否可以使用特权指令或拥有其他特殊的权力②条件码( C )﹣﹣反映指令执行后的结果特征③中断屏蔽码( IF )﹣﹣指出是否允许中断。

(4)状态位:IO 特权级别位( IOPL )

不包含在程序状态字(PSW)中:

保护位( P )、修改位( M )、访问位( R )、驻留位( A )、有效位( A )、运行位( X )

Q5中断

  1. 当用户程序正在处理器上运行时,若此刻取到了一条特权指令,则处理器将停止执行该指令,并产生一个"非法操作"的事件。

用户程序中不能使用特权指令。所以当用户程序占用 CPU 时,应让 CPU 在目态下工作。若此刻取到了一条特权指令,则 CPU 将拒绝执行该指令,并形成一个"非法操作"事件。中断机制识别到该事件后,转交给操作系统去处理,由操作系统通知用户:"程序中有非法指令"。

  1. 引入中断技术可以使计算机的运行效率得到提高,下列对中断响应顺序产生影响是:中断优先级。

多级中断系统中,在同时有多个中断请求时, CPU 接受中断优先级为最高的那个中断<如果其中断优先级高于当前运行程序的中断优先级时>,而忽略其中断优先级较低的那些中断。所以对中断响应顺序产生影响的是中断优先级

  1. 程序性中断VS I/O中断的事件

 I / O 中断的事件:数据传送完毕,设备出错,键盘输入

程序性中断:指令错误

  1. 用户程序需要关闭中断响应,他必须首先发起访管中断。

关闭中断响应指令属于特权指令,用户程序不能直接执行,必须要使 CPU 陷入核心态,由操作系统来执行该特权指令,因此该程序必须先发起访管中断,这是让 CPU 由用户态向核心态转换的方法。

操作系统中,我们把引起中断的事件称为中断事件或中断源,中断源向处理器发出的请求信号称为中断请求中断字是指中断请求的编号。把处理中断事件的程序称为中断处理程序,处理器暂停当前程序转而处理中断的过程称为中断响应

正在运行的程序的暂停点称为中断断点

Ex.外部 I / O 设备向处理器发出的中断信号又称为中断请求

  1. 中断处理程序的入口地址一般存放在下列哪个数据表格中:中断向量表

80x86系统是把所有的中断向量集中起来,按中断类型号从小到大的顺序存放到存储器的某一区域内,这个存放中断向量的存储区叫做中断向量表,即中断服务程序入口地址表

  1. 中断系统是由硬件和软件相互配合实现的.

  1. 中断向量由程序状态字 PSW 和 PC (指令计数器)组成。

中断向量是指中断处理程序入口地址。当中断发生时,从中断向量表中取得中断处理程序的入口地址。中断向量表中包含中断向量代号和中断处理程序的地址。

Q6中断VS异常

中断是指 CPU 对系统中或系统外发生的异步事件的响应,中断是由外部事件引发的,而异常则是由正在执行的指令引发的。异常产生的原因首先是程序的错误产生,比如除数为零,其次是内核必须处理的异常条件产生,比如缺页。

中断:

程序性中断算术溢出、被零除、目态程序试图执行非法指令、访问不被允许访问的存储位置、虚拟存储中的缺页。

EX1.常见中断:时钟中断(定时器计时结束),控制台命令(控制台出现故障),存储器校验错,系统掉电,完成写硬盘操作,用户敲击键盘,用户按鼠标左键,网卡上数据缓冲区满,计时器归零

EX2.第74题,系统运行时,下列哪一种情况的出现说明是发生了中断?

 A 、串口数据到达

 B 、访问禁止读写的内存

 C 、处理器将要访问的页面位于磁盘上

 D 、执行访管指令

参考解析: A 【解析】所谓中断是指 CPU 对系统中或系统外发生的异步事件的响应。异步事件是指无一定时序关系的随机发生的事件。当系统在运行时,串口数据到达,此时 CPU 需要中断当前处理的程序,转而去处理到达的串口数据,符合中断的定义当访问禁止读写的内存时,系统会产生读写保护中断,但该事件并不需要 CPU 调用中断处理程序去处理当处理器将要访问的页面位于磁盘上时,只需要根据某种页面置换算法调入内存即可。执行访管指令表示从系统状态从目态到管态的转换,属于异常。故选择 A 选项。

异常:

访管指令异常:目的是要求操作系统提供系统服务。

EX.常见异常:被零整除(软件引起的),程序执行时所访问的变量不在内存,算术溢出,内存保护出错,目态程序试图执行特权指令,执行访管指令,进程打开文件时出错,程序对只读内存执行写指令

Ex.下列各种事件中,哪一项属于异常运行过程中执行了除零操作

Q7操作系统的接口

操作系统提供了3类型的接口供用户使用:

1.命令接口:提供一组命令供用户直接或间接操作。根据作业的方式不同,命令接口又分为联机命令接口和脱节命令接口。

Ex.当用户在终端窗口通过输入命令来控制计算机运行时,使用的是操作系统的命令行接口。

2.程序接口:程序接口由一组系统调用命令组成,提供一组系统调用命令供用户程序使用。

3.图形界面接口:通过图标、窗口、菜单、对话框及其他元素,和文字组合,在桌面上形成一个直观易懂,使用方便的计算机操作环境。终端窗口采用了命令行接口。

Q8访管指令VS特权指令

"访管指令"是可以在目态下执行的指令。当源程序中有需要操作系统服务的要求时,编译程序就会在由源程序转换成的目标程序中安排一条"访管指令"并设置一些参数。当目标程序执行时,中央处理器若取到了"访管指令"就产生一个中断事件,中断装置就会把中央处理器转换成管态,并让操作系统处理该中断事件。操作系统分析访管指令中的参数,然后让相应的"系统调用"子程序为用户服务。系统调用功能完成后,操作系统把中央处理器的管态改为目态,并返回到用户程序。

访管指令与特权指令的区别:访管指令并不是特权指令。所谓特权指令,是指用于操作系统或其他系统软件的指令,一般不提供给用户使用。

计算机操作系统位于核心态时,它既可运行特权指令,也可以运行任何非特权指令。

Ex1.用户进程从用户态转变为内核态时,使用的指令是访管指令

Ex2.下列指令中,哪一种可以在用户态下执行(B)。

 A 、设置控制寄存器指令 B 、算术运算指令 C 、关中断指令 D 、切换栈指针指令

【解析】特权指令包括输入输出指令、停机指令等,只有在监控程序才能执行特权指令,只能在内核态下运行;用户只能执行一般指令,在用户态下运行。设置控制寄存器指令、关中断指令、切换栈指针指令属于特权指令,不能在用户态下执行。算术运算指令属于一般指令,可以在用户态下运行。

Q9内核态--用户态之间的转换

操作系统需要处理器从管态内核态转为目态(用户态)时,采用的是哪种方法:修改程序状态字

机器处于核心态是可以执行硬件所提供的全部指令,包括特权指令和非特权指令,在核心态时可利用特权指令修改程序状态字转换为用户态。而目态(用户态)转换为管态内核态/核心态)唯一的途径是访管中断

Q10特权指令VS非特权指令

特权指令,只有在监控程序才能执行特权指令,只能在内核态下运行。

非特权指令,可以在内核态下运行又可以在用户态下运行。

常见特权指令:输入输出指令,停机指令,置程序计数器、清指令寄存器、清溢出标志的操作指令

常见非特权指令:置移位方向标志位

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值