[工学]os_20_设备管理与io

[工学]os_20_设备管理与io

ID:36284857

大小:648.50 KB

页数:38页

时间:2019-05-08

[工学]os_20_设备管理与io_第1页
[工学]os_20_设备管理与io_第2页
[工学]os_20_设备管理与io_第3页
[工学]os_20_设备管理与io_第4页
[工学]os_20_设备管理与io_第5页
资源描述:

《[工学]os_20_设备管理与io》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、设备管理与IO(2)胡燕内容纲要中断IO缓冲设备分配9/18/20212中断的概念中断源引起中断发生的事件中断请求中断源向CPU发出的请求中断处理信号中断响应CPU收到中断请求后,转去执行相应的中断处理程序中断优先级为使系统能及时响应并处理发生的所有中断,系统根据引起中断事件的重要性和紧迫程度,硬件将中断源分为若干个级别9/18/20213中断的分类根据中断源产生的条件,可把中断分为外中断和内中断。外中断是指来自外部设备的中断,外中断在狭义上一般被称为中断。内中断主要指在处理机和内存内部产生的中断。内中断一般称为

2、陷阱(trap)。9/18/20214中断和陷阱的区别陷阱通常由处理机正在执行的现行指令引起,而中断则是由与现行指令无关的中断源引起的。陷阱处理程序提供的服务为当前进程所用,而中断处理程序提供的服务则不是为了当前进程的。CPU在执行完一条指令之后,下一条指令开始之前响应中断,而陷阱则可能是在指令执行期间发生并被处理。例如执行指令非法时,尽管被执行的非法指令不能执行结束,但CPU仍可对其进行处理。陷阱处理程序通常被规定在各自的进程上下文中执行,而中断处理程序则一定在系统上下文中执行。9/18/20215软中断软中断

3、则是通信进程之间用来模拟硬中断的一种信号通信方式。其中断源发中断请求或软中断信号后,CPU或接收进程在适当的时机自动进行中断处理或完成软中断信号所对应的功能。在有些系统中,大部分的陷阱是转化为软中断处理的。9/18/20216软中断特点其优先级一般低于系统调度程序的优先级,可以用来执行不十分紧急的任务用于实现系统调用、调试等工作实例除法溢出(/0)int指令单步调试中断(CPU的状态寄存器的某位置1的时候,每条指令执行后都会产生一个调试中断)9/18/20217INTELi386的中断向量0-31  :不可屏蔽中

4、断32-47  :可屏蔽中断48-255:软中断Linux采用0x80作为系统调用所采用的中断向量,用于陷入核心态,进行核心处理9/18/20218中断处理过程①CPU检查响应中断的条件是否满足。CPU响应中断的条件是:有来自于中断源的中断请求、CPU允许中断。②如果CPU响应中断,则CPU关中断,使其进入不可再次响应中断的状态。③保存被中断进程现场。④分析中断原因,调用中断处理子程序。在多个中断请求同时发生时,处理优先级最高的。⑤执行中断处理子程序。对陷阱来说,在有些系统中则是通过陷阱指令向当前执行进程发软中断

5、信号后调用对应的处理子程序执行。⑥退出中断,恢复被中断进程的现场或调度新进程占据处理机。⑦开中断,CPU继续执行。9/18/20219内容纲要中断IO缓冲设备分配9/18/202110缓冲的引入需设置缓冲区缓解与外设速度不匹配。引入缓冲的必要性引入缓冲的一个例子是网络通信:如果从远地终端发来数据(串行)仅用1个bit缓冲来接收,则必须在每收到一位数据时便中断CPU一次。对于速率为9.6kb/s数据通信来说,意味着中断CPU的频率也为9.6k次。9/18/2021111bit/100μs8位缓冲中断通知CPUCPU

6、响应取走处理(800μs内)1bit/100μs1位缓冲中断通知CPUCPU响应取走处理(100μs内)端口(1位缓冲)(8位缓冲)缓冲的引入寄存器9/18/202112进程读取数据块时,若已在缓冲区就立刻读取,不阻塞进程。当缓冲区空时才阻塞进程,启动磁带或磁盘数据块读入,这就是所谓的提前读。当进程输出数据块到磁带或磁盘时,只需写入缓冲区,直到缓冲区满之后才开始启动磁带或磁盘。既减少了输出操作和中断次数,又提高了传输速度。利用缓冲区实现的这种功能就称为延迟写。引入缓冲技术,系统对设备读写可实行“提前读”和“延迟写

7、”方式。缓冲的引入引入缓冲的必要性9/18/202113凡是数据到达速率与数据离去速率不同的地方都可以设置缓冲区。根据I/O控制方式,缓冲的实现方法有两种;一种是采用专用硬件缓冲器,例如I/O设备,或控制器中的数据缓冲寄存器。另一种方法是利用系统内存空间和软件方法实现的缓冲技术,也称软件缓冲。主要讨论利用内存和软件实现的缓冲技术。缓冲的引入引入缓冲的必要性9/18/202114缓冲的种类缓冲技术是利用空间来换取时间,加快系统I/O数据处理速度。缓冲区的设置也根据设备的类型有关块设备的缓冲区的大小应为块的大小;字符

8、设备的缓冲区大小一般以一行大小设置。根据系统不同配置,一般可把缓冲技术分为单缓冲、双缓冲和多缓冲以及缓冲池几种。缓冲的引入9/18/202115操作系统用户进程I/O设备进入进入移动到(a)无缓冲(b)单缓冲(c)双缓冲I/O设备I/O设备进入移动到┇(d)循环缓冲I/O设备进入移动到缓冲的种类9/18/202116单缓冲以块传输为例。假定T为从块设备传输一块到缓冲区的时

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。