版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4单元设备管理第2节设备管理实现I/O子系统(无关层)驱动程序(相关层)举例硬件无关层(I/O子系统)做所有设备共同的工作提供一组I/O命令,以便用户进程能够在程序中提出I/O请求,这是用户使用外部设备的“界面”记住各种设备的使用情况,实现设备的分配与回收;对缓冲区进行管理,解决设备与设备之间、设备与CPU之间的速度匹配问题;I/O子系统3设计数据结构缓冲区管理设备分配设备管理的数据结构4逻辑名映射到设备号设备控制块逻辑名映射到物理设备PCB打开文件表FCBwrite(fd)DCB利用文件系统接口访问!fd=open(设备逻辑名)最终是想找到该设备的驱动!设备管理的数据结构6逻辑名与设备号对照表设备控制块什么是设备控制块(DCB)系统为每一台设备都配置了一个用来记录设备的硬件特性、连接和使用情况等一组数据的数据结构,称为设备控制块。设备控制块的内容
9设备号设备属性指向设备开关表的指针在I/O总线上的设备地址设备状态当前用户进程指针I/O请求队列指针存放设备驱动程序的入口地址的表设备开关表作用printf的整个过程!
库函数(printf)tty设备写(tty_write)字符设备接口(crw_table[])系统调用(write)write_q队列显示器写(con_write)显存movpos,ctty设备写(tty_write)字符设备接口(crw_table[])系统调用(write)write_q队列显示器写(con_write)显示器tty设备读(tty_read)read_q队列主机键盘secondary回显再进一步看终端。。。I/O子系统11设计数据结构缓冲区管理设备分配缓冲区:内存的一个区域,在I/O期间用来临时存放I/O数据。缓冲的使用scanf(“%d”,&x)缓冲区变量x内存为什么要引入缓冲处理数据流的生产者与消费者间的速度差异协调传输数据大小不一致的设备应用程序的拷贝语义问题
常用的缓冲技术14
单缓冲双缓冲缓冲队列以及缓冲池单缓冲读输入设备BUF进程
①②③
②与③需要同步
单缓冲写
②与③需要同步
①②③输出设备BUF进程
常用的缓冲技术17
单缓冲双缓冲缓冲队列以及缓冲池双缓冲输入输入设备BUF1进程
①②③BUF2②③双缓冲输出输出设备BUF1进程
①②③BUF2②③双缓冲区既用于输入,也用于输出数据时输入设备BUF1①②③BUF2②③输出设备常用的缓冲技术21
单缓冲双缓冲缓冲池很多缓冲区的集合举例
---------UNIX缓冲管理算法
缓冲池中有2种队列设备缓冲区队列
与某类设备有关的所有缓冲区组成的队列称为设备缓冲区队列,简称b链。b_forwb_backb_forwb_backb_forwb_backb_forwb_back设备缓冲区队列
缓冲池中有2种队列空闲缓冲区队列
可供重新分配使用的缓冲区组成的队列称为空闲缓冲区队列,简称av链。av_forwav_backav_forwav_backav_forwav_backav_forwav_back空闲缓冲区队列
缓冲区的组成缓存数组
——含有磁盘上的数据的存储器数组缓存首部
——描述缓冲区特性的数据结构缓冲管理数据结构
缓存首部结构
设备号dev块号blkno状态flag指向数据区域的指针传送字节数返回的I/O出错信息b_forw
设备缓冲区队列前向指针b_back
设备缓冲区队列后向指针av_forw
空闲缓冲区队列前向指针
av_back
空闲缓冲区队列后向指针缓冲管理算法对空闲buf空队列的处理当需要一个空闲buf时,总是取空闲buf队列(av链)的首元素;一个使用过的buf释放时,插入到空闲buf队列(av链)的队尾使用过的buf尽量晚的分配出去一个buf被分配用于读/写某设备上的块时
申请一个空的缓冲区,置B_BUSY=1,从av链上删除,加入b链;当读/写操作结束时,释放该buf,置B_BUSY=0,仍留在b链上,并送入av链尾;若进程需要的信息在buf中时,如果在该设备的b链上找到,置B_BUSY=1;从av链上摘除,使用完后,又送入av链队尾。进程需要从设备获取的信息可能不需要访问设备!而是从缓冲区中直接获取!
对延迟写的处理需要写设备时,先写入缓冲区,可以标记延迟写,晚点写入磁盘当一个具有延迟写标记的buf移到av链头,要用于分配时,立即进行写操作。然后从av链上摘除,送入b链。当需要写设备的时候,不一定真的立即写到设备上去了!可能会延迟一段时间再写!缓冲读缓冲池
用户数据区用户进程磁盘用户进程缓冲写缓冲池
用户数据区磁盘例I/O子系统30设计数据结构缓冲区管理设备分配设备分配的办法和设备的特点相关独享设备让一个作业在整个运行期间独占使用的设备。
独享分配(静态分配)
在一个作业执行前,将它所要使用的设备分配给它;当它结束撤离时,将分配给它的这类设备收回。对于打印机………共享设备可以交替使用的设备称为共享设备。对于磁盘………..共享分配(动态分配):用时分配,不用时释放打印机也能像磁盘一样用?32设计思想预输入在作业需要数据前,OS已将所需数据预先输入到辅存输入井存放。当作业(或进程)需要数据时,可直接从辅存中读入主存。缓输出在在作业执行时,将输出数据写入辅存输出井中。当作业(或进程)
执行完毕(或需要数据时),由操作系统将数据输出。输入机1输入机2作业1作业2打印机磁盘输入井磁盘输出井主存早期:SPOOLING硬件大容量的辅存空间通道装置、中断系统软件预输入表、缓输出表:描述辅存输入井和输出井的状态变化。预输入程序、缓输出程序、井管理程序有了SPOOLING技术,所有的设备都可以采用共享分配方式现在:虚拟设备技术虚拟设备
通常把用来代替独占型设备的那部分外存空间(包括有关的控制表格)称为虚拟设备。虚拟分配
当进程需要与独占型设备交换信息时,系统将分配磁盘空间,并建立相应的数据结构,这种分配方法称为设备的虚拟分配。虚拟设备技术
所谓虚拟设备技术,是在一类物理设备上模拟另一类物理设备的技术,是将独占设备转化为共享设备的技术。第4单元设备管理第2节设备管理实现I/O子系统(无关层)驱动程序(相关层)举例硬件相关层(驱动)按照用户的具体请求,启动设备,通过不同的设备驱动程序,进行实际的I/O操作;I/O操作完成之后,通过中断将结果通知用户进程,从而实现真正的I/O操作。设备处理(驱动)程序定义设备处理程序是直接控制设备运转的程序,它根据各类设备的特点和性能来编写。每一类设备有一个相应的设备处理程序,能控制同类中多台物理设备同时工作。作用设备驱动程序层的作用是为内核I/O子系统隐藏设备控制器之间的差异。将I/O子系统与硬件分离,简化了操作系统开发人员的任务,也有利于设备的设计与制造。
让键盘、显示器工作起来……PCI总线总线控制器CPU-内存总线显卡发出写命令读数据到内存向CPU发出中断键盘控制器让磁盘工作起来…PCI总线总线控制器CPU-内存总线IDE控制器发出一个读命令读完后向CPU发出中断将数据送往内存读磁盘中断处理程序
doio();/*等I/O完成*/
标识设备;执行出错检查;构成iocb;将iocb送入设备请求队列;唤醒驱动;取iocb;启动I/O操作;/*等I/O完成*/执行出错检查;
唤醒等待I/O的进程;I/O设备
中断服务;
唤醒驱动进程;
用户进程I/O子系统驱动进程启动设备中断信号控制关系同步关系整理下…………第4单元设备管理第2节设备管理实现I/O子系统(无关层)驱动程序(相关层)举例举例某文件占10个磁盘块,现将该文件磁盘块一一读入内存,并送用户区分析。设一个缓冲区大小和磁盘块一样大,从磁盘读入到缓冲区的时间为100us,从缓冲区读入用户区域要50us,cpu对数据分析需要50us,是分别计算在单缓冲区和双缓冲区的情况下,读入并分析该文件的时间。设备驱动程序是系统提供的一种通道程序,它专门用于在请求I/O的进程与设备控制器之间传输信息。下面的选项中不是设备驱动程序功能的是(
)。(A)检查用户I/O请求的合法性
(B)及时响应由控制器或通道发来的中断请求
(C)控
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山西农业大学《工程电磁场》2025-2026学年期末试卷
- 上海电影艺术职业学院《中国文化概况英语》2025-2026学年期末试卷
- 乌兰察布医学高等专科学校《材料与科学基础》2025-2026学年期末试卷
- 石家庄医学高等专科学校《课程与教学论》2025-2026学年期末试卷
- 乌兰察布医学高等专科学校《经济学专业导论》2025-2026学年期末试卷
- 上海济光职业技术学院《高等艺术院校文学教程》2025-2026学年期末试卷
- 山西工程科技职业大学《口腔组织病理学》2025-2026学年期末试卷
- 上海中侨职业技术大学《证据法》2025-2026学年期末试卷
- 沈阳音乐学院《卫生经济学》2025-2026学年期末试卷
- 徐州工程学院《保险经营管理》2025-2026学年期末试卷
- 池州市事业单位考试历年真题
- 小学道德与法治课评分表
- A级锅炉部件制造质量手册
- 四年级下册语文第二单元 快乐读书吧十万个为什么 导读一等奖创新教学设计
- 造价咨询重点、难点及控制措施
- 教学设计 大自然的语言 全国公开课一等奖
- GB/Z 25756-2010真空技术可烘烤法兰刀口法兰尺寸
- 水生野生动物利用特许证件申请表
- 2021年河北省唐山市路南区中考数学一模试卷(解析版)
- 社会研究方法艾尔巴比双语Ch课件
- 焊接接头的组成及基本形式
评论
0/150
提交评论