考研复试操作系统面试题(一)-IO系统

写作目的:为了应对考研复试中的面试,我整理了导师可能提问的地方,力求用口语化的语言描述出来。

这只是一部分,陆续还有操作系统的其它章节,还会推出数据结构、计算机网络、数据库的复试题整理

思维导图在我的processon。如果对你有帮助就打赏一下吧。

https://www.processon.com/view/link/5e79c7ede4b06b852ff3a8e2

四种IO控制方式

1、直接控制方式。CPU每读取一个字,就要对外设状态进行检查,知道确定这个字已经在IO控制器的数据寄存器里。这是由于CPU的高速性和IO设备的低速性,致使CPU大部分时间都处于等到IO设备的循环,造成CPU资源的极大浪费。更深层的原因是CPU没有采用中断机构,导致IO设备无法向CPU报告它已经完成了一个字符的输入。

2、中断驱动方式。CPU在向IO设备发出读命令后,可以转去做其它的事情,等到IO设备数据就绪,由IO设备主动发出中断请求打断CPU。这样是CPU和设备都可以尽量忙起来。

3、DMA方式。DMA方式基本思想是,在主存和IO设备之间直接开辟数据通路,彻底解放CPU。其特点是基本单位是数据块,所传送的数据是从设备直接送入内存的,或者相反。仅仅在一个或多个数据块传输开始或结束时才需要CPU的干预,这个数据块的传输是在DMA控制器的控制下完成的。

4、通道控制方式。IO通道是指转么你负责输入输出的处理机。它可以进一步减少CPU的干预。IO通道与一般处理机的区别是通道指令类型单一,没有自己的内存,通道所执行的通道程序是放在主机的内存中的,也就是说通道与CPU内存共享。IO通道与DMA方式的区别是,DMA方式需要CPU来控制传输的数据块的大小、位置、而通道可自己控制。DMA方式对应一台设备的数据传递,而通道可以控制多台设备与内存交换。

从IO的角度和CPU的角度描述中断控制方式

从IO的角度,IO控制器接受到CPU的读命令,开始从外围设备读取数据,一旦数据读取到IO控制器的寄存器里,就通过控制线给CPU发出一个中断信号,等待CPU请求这个数据。IO控制器收到CPU发出的取数据请求后,就将数据放到数据总线,传到CPU的寄存器中。

从CPU的角度看,CPU发出读命令后,保存当前程序的上线文,转去执行其它程序,每个指令周期的末尾,CPU检查中断,CPU保存当前正在运行程序的上下文,转去处理中断,CPU从IO控制器读取一个字存入数据寄存器然后存入内存当中。接着,CPU从就绪队列中选出一个进程开始执行。

IO子系统的层析结构

层次结构由:用户IO层软件、设备独立性软件、设备驱动程序、中断处理程序组成。

用户IO层软件的实现与用户交互的接口,用户可直接调用在用户层提供的、IO操作有关的函数库。

设备独立性软件,用于实现用户程序与设备驱动器接口的统一,使得应用程序独立于具体的物理设备设备。主要功能又:执行所有设备的共有操作、想用户层提供接口。

设备驱动程序,直接与硬件相关,负责具体实现对设备发出的操作命令。通常每一类设备配备一个设备驱动程序,它是IO进程与设备 控制器之间的通信程序。

中断处理程序,用于保存被中断进程的CPU环境,转入响应的中断处理程序进行处理,处理完并恢复中断进程的现场。

设备控制器的主要功能

1、接受和识别CPU和管道发来的命令

2、实现数据交换,包括设备和控制器之间的数据传输;控制器和主存之间的数据传输

3、发现和记录设备自身的状态信息,供CPU使用

4、设备地址识别

IO管理要完成哪些功能?

状态跟踪、设备存取、设备分配、设备控制。

描述spooling技术和特点

为了缓和CPU的高速性和IO设备的低速性矛盾,引入了脱机输入输出技术。该技术利用专门的外围控制机,将低速IO设备的数据传送到高速磁盘上或者相反。

特点:提高了IO的速度,将独占设备改造成共享设备,实现了虚拟设备的功能

spooling的结构

输入井和输出井、输入缓冲区和输出缓冲区、输入进程和输出进程。

未完待续》》》》

发布了19 篇原创文章 · 获赞 10 · 访问量 1934

猜你喜欢

转载自blog.csdn.net/qq_30719815/article/details/105075312