操作系统(更新中...)
设备管理的任务和功能
任务:
-
完成用户提出的I/O任务
-
提高的I/O速度
-
提高I/O设备的利用率
功能:
-
外围设备中断处理
-
缓冲区管理
-
外围设备的分配
-
外围设备驱动调度
-
虚拟设备及其实现
设备管理的实现,必须考虑的三个问题
-
要实现程序和设备的无关系
-
设备的并行性
-
充分考虑到设备的使用手段
设备控制器
是CPU与I/O设备之间的接口,它接收从CPU发来的I/O命令,由它去控制I/O设备工作。事实上,操作系统只与设备控制器交互而不直接与设备交互。
设备控制器功能
-
接收和识别命令:控制器可以接收从CPU或通道发来的多种不同命令。
-
数据交换:指实现设备与控制器之间的数据传输,且通过数据总线或通道,控制器和主存之间传输数据,为此在控制器中应设置数据寄存器。
-
设备状态的了解和报告:控制器应记下设备的状态供CPU了解。
-
设备地址识别:控制器中寄存器应对应着唯一的地址,并配置地址译码器。
I/O控制方式
-
询问方式:在这种方式下,输入输出指令或询问指令测试一台设备的忙闲标志位,决定主存储器和外围设备是否交换一个字符或一个字。
-
中断方式:CPU启动I/O设备后,不必查询I/O设备是否就绪,继续执行现行程序。直到启动指令后的某条指令,响应了I/O中断请求,CPU才转至I/O中断处理程序执行。中断方式要求在控制状态寄存器中增加一位“中断允许位”。
-
DMA方式:(Direct Memory Access)I/O设备能直接与主存交换数据而不占用CPU。在外围设备和内存之间开辟直接的数据交换通路,采用窃取或拥有CPU的一个工作周期,把数据缓冲寄存器中的数据直接送到内存地址寄存器所指向的内存区域。
-
通道方式:又称为输入输出处理器;它是一个独立于CPU的专管输入输出控制的处理机,它能完成主存存储器和外围设备之间的信息传送,具有自己的通道命令,能与CPU并行地执行操作。
设备驱动程序
设备驱动程序包括与设备相关的所有代码,它的工作是把用户提交的逻辑I/O请求转化为物理I/O操作的启动和执行,如设备名转化为端口地址、逻辑记录转化为物理记录、逻辑操作转化为物理操作等。同时监督设备是否正确执行,管理数据缓冲区,进行必要的纠错处理。
功能
-
设备初始化
-
执行设备驱动例程
-
执行中断处理例程
I/O系统各层软件及其功能
缓冲技术
缓冲
缓冲是用来在两种不同速度的设备之间传输信息时平滑传输过程的常用手段。除了在关键的地方采用少量硬件缓冲器之外,大都采用软件缓冲。软件缓冲区是指在I/O操作期间用来临时存放输入/输出数据的一块存储区域。
引入主要原因
(1)缓和CPU与I/O设备间速度不匹配的矛盾
(2)减少对CPU的中断频率,放宽对中断响应时间的限制
(3)提高CPU与I/O设备之间的并行性
(4)解决数据粒度不匹配的问题
缓冲区的位置
缓冲区的类型
1、单缓冲 2、双缓冲 3、多缓冲
设备独立性
通常用户不指定特定的设备,而指定逻辑设备,使得用户作业和物理设备独立开来,再通过其它途径建立逻辑设备和物理设备之间的对应关系,称这种特性为“设备独立性”。
优点
-
设备独立性可以实现用户程序与物理的外围设备无关;
-
增加了外围设备分配的灵活性,便于实现多道程序设计技术。
引入设备独立性的原因
引入设备独立性,可使应用程序独立于某一特定的物理设备。此时,进程只需用逻辑设备名称去请求使用某类设备。当系统中有多台该类设备时,系统可将其中的任一台分配给请求进程,而不必局限于某一台指定设备。这样,可显著地改善资源利用率及可适应性。
独立性还可使用户程序独立于设备类型。例如,在进行输出时,既可利用显示终端进行输出,也可利用打印机进行输出。有了这种适应性,就可很方便地实现输出重定向。类似地,也可利用设备的无关性实现输入重定向。
如何实现设备独立性
为了实现设备独立性,在应用程序中应使用逻辑设备名。系统应为每个用户或进程配置一张用于联系逻辑设备和物理设备的映射表,其中的每一表目应包含三项内容:逻辑设备名、物理设备名和驱动程序的入口地址。
设备分配的原则
既要充分发挥设别的使用效率,尽可能的让设备忙,但又要避免由于不合理的分配方法造成进程死锁;并且还要做到设备的独立性。
静态分配
是在用户作业开始执行之前,由系统一次分配该作业 所要求的全部设备、控制器和通道。一旦分配之后,这些设备就 一直为该作业所占用,直到该作业被撤消时才回收。
特点:静态分配方式可以有效地避免死锁,但是效率低下。
动态分配:
动态分配是在进程执行过程中根据的执行需要,通过系统调用命令向系统提出设备使用请求。由系统按照事先规定的策略给进程分配所需要的I/O设备、控制器和通道;一旦用完之 后,便立即释放。
特点:动态分配有利于提高设备的利用率,但有可能造成死锁。
设备分配算法
先来先服务:根据进程对某设备请求的先后次序,将它们排成一 个设备队列,设备分配程序总是先把设备分配给队首进程。
优先级高者优先:在形成等待设备队列时将优先级高者排在前面 ,对于相同优先级的I/O请求,则按先来先服务原则排队。
虚拟技术
是一类在物理设备上模拟另一类物理设备的技术,是使独占使用的设备转化为共享设备的技术。
实现虚拟的关键技术
实现虚拟设备的关键技术,仍然是分时技术,即多个用户(进程)通过分时的方式,使用同一台物理设备。宏观上,是若干个进程在同时执行I/O操作;而微观上,则是一台物理设备依次、分时地为每一个进程执行I/O操作,但是每一个用户(进程)造成一种感觉是:系统中有一台这类设备在专门为他服务。
虚拟设备
又称逻辑设备,通过将虚拟技术将一台物理设备变换为若干台逻辑上的对应物,称该逻辑上的对应物为虚拟设备。
实现条件
1、井:是辅存中一个缓冲存储区域,用以存放独占设备的输入和输 出信息。是用作缓冲的存储区域,采用井的技术能调节供求之间的 矛盾,消除人工干预带来的损失。
2、预输入: 在作业执行前,系统将大批作业信息通过独占设备预先 输入到后援存储器上存放好,这称为预输入。
3、缓输出:在作业执行中,不必直接启动输出设备输出数据,而只 将作业的输出数据暂存到辅存的输出缓冲区中,在作业执行完毕后 ,由操作系统组织信息成批输出,这种方式称为缓输出。
磁盘
是一种直接(随机)存取存储设备。每个物理记录有确定的位 置和唯一的地址,存取任何一个物理块所需的时间几乎不依赖于 此信息的位置。
访问磁盘记录参数:柱面号、磁头号、扇区
查找时间:磁盘根据柱面号控制臂作机械横向移动,带动读写磁头到达指定柱面。
搜索延迟:从磁头号可确定数据所在的盘面,等待被访问信息块旋转到读写头下, 按扇区号进行存取。
磁盘的访问时间
移动臂调度算法
- 先来先服务算法(FCFS):磁盘臂随机移动,不考虑I/O请求之间的相对次序和移动臂当前所处位置,寻道性能较差。
- 最短查找时间优先算法(SSTF):单位时间内处理的I/O请求多即吞吐量大。总是先执行查找时间最短的请求,但存在“饥饿”现象。
- 扫描算法(SCAN、电梯调度算法):只有磁头移动到最边缘的磁道时才可以改变磁头的移动方向
- 克服了“饥饿”现象。适宜于磁盘负载重的系统,它不分具体情况扫过所有柱面造成性能不够好。 只有磁头移动到最边缘的磁道时才可以改变磁头的移动方向
- 分布扫描算法:使得I/O请求等待时间之间的差距最小,吞吐量 适中。
- 循环扫描算法(C-SCAN):适应不断有大批量柱面均匀分布的I/O请求,且 磁道上存放记录数量较大的情况
文件管理
文件
文件是信息的一种组织形式,是存储在外存上的具有标识名的一组相关信息集合。文件包含的内容有:源程序、二进制代码、文本文档、数据、表格、声音和图像等。
文件系统
文件系统是操作系统中负责存取和管理信息的模块,它用统一的方式管理用户和系统信息的存取、检索、更新、共享和保护,并为用户提供一套方便有效的文件使用和操作方法。
优点:
-
用户使用方便;
-
文件安全可靠;
-
实现文件共享。
把数据组织成文件形式加以管理和控制是计算机数据管理的重大发展。
文件系统主要要解决哪些问题
文件系统的主要目标是提高存储空间的利用率,它要解决的主要问题有:完成文件存储空间的管理,实现文件名到物理地址的转换,实现文件和目录的操作,提供文件共享能力和安全措施,提供友好的用户接口。文件系统向用户提供了有关文件和目录操作的各种功能接口和系统调用,如命令接口、程序接口和交互接口等。
文件目录
在文件系统中,文件目录是系统为文件设置的用于描述和控制文件的数据结构,又称为文件控制块。系统借助文件目录的信息实现对文件的各种操作。
作用:文件目录记录文件的管理信息,用于对单个文件的控制。
目录文件
文件系统又把同一卷上的若干文件的文件目录组成一个独立的文件,这个文件全部由文件目录组成,成为目录文件。
作用:录文件是由文件的目录组成的文件,用于文件系统的管理。
逻辑文件
逻辑文件:结构是用户所观察到的文件组织形式,逻辑文件是用户可直接处理的数据内容,它独立于物理特性,又称为组织文件。逻辑文件是用户观点,研究用户“思维”中的抽象文件,为用户提供一种逻辑结构清晰,使用简便的逻辑文件形式,用户按照这种形式去存储、检索、加工有关文件信息。
物理文件
物理文件:有实际存储结构的文件,是在外存上实际存储的文件,与存储介质的存储性能有关。物理文件是实现观点,系统按物理结构形式去和外部设备打交道。
文件组织
文件组织:指文件中信息的配置和构造方式,应该从文件的逻辑结构和组织及文件的物理结构和组织两方面考虑。
文件的逻辑结构和组织是从用户观点出发,研究用户概念中的 信息组织方式,这是用户能观察到,可加以处理的数据集合。
组织方式 :
有结构文件(记录式文件)
-
记录式文件就象给一张表格给用户,用户要按表规定的格式填 信息
-
顺序文件
-
索引文件
-
索引顺序文件
无结构文件
-
流式文件就象给一张白纸给用户,用户可将他的信息任意地写到纸上,没有任何格式上的限制。
文件的物理结构和组织是从系统实现的角度出发,指逻辑文 件在物理存储空间中存放方法和组织关系。
组织方式
-
顺序文件(连续文件)
-
连接文件(串联文件)
-
直接文件(哈希文件)
-
索引文件
逻辑结构vs物理结构
文件类系统调用
文件系统提供给用户程序的一组系统调用,包括: • 建立 • 打开 • 关闭 • 撤销 • 读 • 写 • 控制
文件共享
文件共享:是指不同进程共同使用同一个文件
文件共享的优点:为不同进程完成共同任务所必需,节省大量外 存空间,减少因文件复制而增加的I/O操作次数。
文件共享的形式:
-
静态共享:无论进程是否运行,文件的链接关系都存在,因 此称为静态共享。
-
动态共享:只有当用户进程存在时才可能出现,一旦用户的 进程消亡,其共享关系也就自动消失。
-
符号链接共享:只有文件名,不指向inode的文件的链接, 通过名称来引用文件。符号链接中只包含被链接文件的路径 名而非其inode号
文件的空间管理
文件系统对外存空间进行自动管理和控制。