OS学习之设备管理

现代计算机系统是一个复杂而庞大的系统,可分为两大部分:主机和外部设备。主机由CPU和内存储器组成,主机以外的计算机硬件统称为外部设备。

对于微型机,常采用共总线结构。设备和他们的控制器,连接与系统总线上,与内存统一编址。每一类设备单独设置控制器,在控制器和设备之间有设备接口,通过设备接口编程可以控制设备。

控制器的作用是把串行的位流转换为字节块,存入内部缓冲区,在进行必要的校验后,做字节块的传输,做完传输后仪中断方式向CPU报告。不多控制器,特别是块设备控制器,支持直接存储器存取(DMA)。

对于大中型计算机,外部设备部分在设备和控制器之间,还包括通道,通道实际上是专用的输入输出计算机。通道与cpu共用内存,有专门的输入输出指令,用来编写通道程序以控制设备。CPUSIO,TIO,HIO等指令,委托和控制通道工作。作为CPU的助手,通道在执行完程序或者有异常,则用中断方式向CPU报告。

 

计算机设备分类:

从输入输出特性上分为:

1)字符设备。以字符为单位进行输入输出,也称慢速字符设备。

2)块设备。以字符块(物理块)为单位进行传输。

 

从设备独占上分为:

1)独占设备。该类设备在把设备分给进程后,在未使用完之前,不能作其他支配。

2)共享设备。多个进程可以“同时”从这些设备上存取信息。如辅存。

3)虚拟设备。在共享设备上为每个进程开辟一个专门用于输入输出的数据区域,在软件的支持下,每个区域的信息可以连续的、不依赖于产生信息的进程,经一台独占设备实行物理的输入输出。物理设备以及进程的数据区和支持软件,构成了每一个进程的独享设备。

 

设备管理的功能:

1)记住所有设备的工作状态;

2)为进程的输入输出请求分配设备和通道,为输入输出建立数据通路;

3)命令输入输出设备操作;

4)管理缓冲区;

5)管理设备中断,包括处理各种错误。

 

设备的数据结构(UCB):设备类型、标识符、设备状态、与设备相关的控制器表、等待此设备的进程表。

 

设备管理部分的缓存:

1)起中转站的作用,进程经由输入输出设备的输入输出信息,都是经缓冲区中转的,即进程只与缓冲区联系,输入输出设备也只与缓冲区联系。

2)解决信息的到达率和离去率不一致的矛盾。

3)设置缓冲存储器,暂存输入输出信息,可以减少设备中断CPU的次数。

4)使得一次输入的信息多次使用

 

为了对缓存实施管理,首先必须为每个缓存建立一个数据结构--缓存控制块(BCB)。BCB的数据项分为1)缓存管理相关(b_flagb_addrb_num);2)与输入输出设备相关(b_devb_lengthb_error等)。

 

中断的作用:

1)对异步或例外事件的一种响应

2)这一响应由中断硬件自动地保存现行的CPU状态,以便处理完中断后能够重新恢复原来程序的运行

3)自动转入规定的例行程序,这程序称为中断处理程序。

 

中断的例子:利用始终实现轮转制度;增加并利用缺页中断,实现内存的虚拟分页存储。

为中断设置优先级解决多个中断源同时提出中断请求。

 

Spoolong技术(假脱机)

一个完整的spooling系统由四部分组成:输入部分的“存输入”和“取输入”,输出部分的“存输出”和“取输出”程序。

 

工作原理:卡片叠通过“存输入”被读入输入井;内存作业经spooling系统的“取输入”程序,从输入井中取输入,代替从卡片机输入;作业要打印的信息经“存输出”放入到输出井中;输出井的信息则有spolling程序从打印机打印出去。

 

优点:1)将慢速的字符设备变成快速的共享设备;

      2)提高系统的并行性。

 

逻辑设备映射到物理设备是有OS中的一张逻辑设备表(LUT)描述的。

设备驱动程序在代表进程开始数据传送之前,必须确定设备的状态。这是通过把设备的状态寄存器内容读入到CPU中,并测试其不同的位来实现的。、

设备驱动程序是OS中直接与设备打交道并控制设备操作的那部分例程。一般来说,设备驱动程序的任务是接收来自它上面一层与设备无关的抽象请求,并指挥设备控制器执行这个请求。

磁道编号由外向内0,1...n

磁盘的存取速度=磁头柱面定位时间+扇区定位时间+信息传输时间。

 

FCFS(先来先服务算法)

优点:公平,负荷小时可接受

缺点:负荷大,散布较均匀时,磁头来回移动的跨度太大。

 

SCAN算法(又称电梯算法):

让读写磁头在磁盘的直径方向上不断来回扫描(从一端到另一端,然后反过来),并在扫描的过程中为输入输出提供请求服务。

优点:减少了磁头的总移动量;

缺点:调度顺序依赖于手臂的移动方向。

 

C-SCANscan的改进算法,磁头总是沿着磁道的一端为输入输出提供请求服务,二在“回来的路上”快速空跑。使磁头附近相反方向可以得到尽快的服务。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值