前言:
当前小伙伴们对“简述独占设备共享设备和虚拟设备的区别”可能比较注意,咱们都想要了解一些“简述独占设备共享设备和虚拟设备的区别”的相关内容。那么小编同时在网上搜集了一些对于“简述独占设备共享设备和虚拟设备的区别””的相关内容,希望你们能喜欢,兄弟们一起来学习一下吧!考研复试操作系统面试题(一)-IO系统
分类专栏: 计算机考研
文章标签: 操作系统
写作目的:为了应对考研复试中的面试,我整理了导师可能提问的地方,力求用口语化的语言描述出来。
这只是一部分,陆续还有操作系统的其它章节,还会推出数据结构、计算机网络、数据库的复试题整理
思维导图在我的processon。如果对你有帮助就打赏一下吧。
四种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的结构
输入井和输出井、输入缓冲区和输出缓冲区、输入进程和输出进程