脑图
一些概念和错题知识点整理
用户程序
设计时,使用系统调用命令,命令经过编译后,不会
形成屏蔽中断指令
用户程序
在用户态下要使用特权指令
引起的中断属于访管中断
- 操作系统各个功能组成部分中,
进程调度不需要硬件
的支持 - 中断发生后,进入
中断处理
的程序属于操作系统程序
命令解释程序
属于命令接口
,在用户态
运行置时钟指令、输入/输出
指令只能在核心态
下运行子程序调用
只需要保存程序断点
,即该指令的下一条指令的地址(因为系统料到了接下来的会发生的事情);中断调用子程序
不仅要保存断点
(PC的内容),还要保存程序状态字寄存器
(PSWR)的内容由中断隐指令、硬件完成
(中断的发生都是突然的,偷袭系统,系统猝不及防所以要保存程序状态字)。在中断处理中最重要的两个寄存器是PC
和PSWR
- 处理
外部中断
时,应该由操作系统
保存的是通用寄存器
的内容 访存需要进入内核态
缺页一般在用户态发生但是处理一定在内核态
- 定时器产生
时钟中断
后,由时钟中断服务程序
更新的部分内容是
1.内核中时钟变量的值
2.当前进程占用CPU的时间
3.当前进程在时间片内的剩余执行时间
简答题
1.处理器为什么要区分核心态和用户态两种操作方式?在什么情况下进行两种方式的切换?
区分执行态的主要目的是保护系统程序
。用户态到核心态
的转换发生在中断产生
时,而核心态到用户态
的转换则发生在中断返回用户程序
时。
2.为什么说直到出现中断和通道技术后,多道程序概念才变得有用?
多道程序并发执行是指有的程序正在CPU上执行,而另一些程序正在I/O设备上进行传输,即通过CPU操作与外设传输在时间上的重叠必须有中断和通道技术的支持,原因如下:
1)通道是一种控制一台或多台外部设备的硬件机构,它一旦被启动就独立于 CPU
运行,因而做到了I/O操作与CPU并行工作。但早期CPU
与通道的联络方法是由CPU向通道发出询问指令
来了解通道工作是否完成的。若未完成,则主机就循环询问直到通道工作结束为止。因此,这种询问方式是无法真正做到CPU与I/O设备并行工作的。
2)在硬件上引入了中断技术。所谓中断,就是在输入/输出结束
时,或硬件发生某种故障
时,由相应的硬件(即中断机构)向CPU发出信号,这时CPU立即停下工作而转向处理中断请求,待处理完中断后再继续原来的工作。
因此,通道技术和中断技术结合起来就可实现CPU与I/O设备并行工作,即CPU启动通道传输数据后便去执行其他程序的计算工作,而通道则进行输入/输出操作:当通道工作结束时,再通过中断机构向CPU发出中断请求,CPU则暂停正在执行的操作,对出现的中断进行处理,处理完后再继续原来的工作
。这样,就真正做到了CPU与I/O设备并行工作。此时,多道程序的概念才变为现实。