• 操作系统读书笔记03


    第四章 设备管理

    1.“设备”泛指计算机系统中的各种外部设备,外设(即主机以外的其他所有设备)在众多的I/O设备中,并不是所有的设备都是可以共享的,可以借助于磁盘,把只能独享的设备变为共享,这就是所谓的“虚拟设备” {SPOOLing技术}

    2.设备是指计算机中用以在机器之间进行传送和接收信息,完成用户输入/输出(I/O)操作的那些部件。比如磁盘、磁带、打印机、显示器、鼠标、键盘······

    3.计算机I/O系统的组织结构:

    (1)底层是具体的设备和硬件接口

    (2)中间是系统软件(与设备相关软件、与设备无关软件)

    (3)用户程序

    4.I/O设备一般是由执行I/O操作的机械部分和执行控制I/O的电子部件组成

    (1)执行I/O操作的机械部分就是一般的I/O设备

    (2)执行控制I/O的电子部件称为设备控制器或适配器

    ① 为了能够使CPU设备控制器中的各个寄存器进行通信,通常采用“单独的I/O空间”和“内存映射I/O”两种方法

    ② 设备控制器是CPU与外围设备之间的接口,是一个可编址设备,每一个地址对应一个设备

    功能:

    Ø 接收和识别命令

    Ø 数据交换

    Ø 标识和报告设备的状态

    Ø 地址识别

    Ø 数据缓冲区

    Ø 差错控制

    组成:

    Ø 设备控制器与处理机(CPU)的接口

    Ø 设备控制器与设备的接口

    Ø I/O逻辑:用于实现对设备的控制

    5.设备驱动程序:

    6.设备处理方式:

    (1)为每一类设备设置一个进程,专门用于执行这类设备的I/O操作

    (2)在整个系统中设置一个I/O进程,专门用于执行系统中所有各类设备的I/O操作

    (3)不设置专门的设备处理进程,而只为各类设置相应的设备驱动程序,供用户或系统进程调用

    7.设备驱动程序的处理过程

    (1)将抽象要求转换为具体要求

    (2)对服务请求进行校验,即检查I/O请求的合法性

    (3)检查设备的状态

    (4)传送必要的参数

    (5)启动I/O设备

    (6)工作方式的设置

    I/O接口程序:是操作系统中与设备无关的软件,它从上层接收用户对设备提出的I/O请求,然后负责吧I/O请求转变成所需要的I/O命令,调用具体的设备驱动程序去执行

    系统都是用主设备号和次设备号组成“逻辑设备名”

     

    操作系统提供的设备无关性的优点:

    ü 方便用户

    ü 提高设备的利用率

    8.计算机设备的分类

    (1)基于设备的从属关系

    a. 系统设备(键盘、显示器、打印机、磁盘驱动)

    b. 用户设备

    (2)基于设备的分配特性

    a. 独享设备(打印机)

    b. 共享设备

    c. 虚拟设备(SPOOLing技术)

    (3)基于设备的工作特性

    a. 输入/输出设备(字符设备)

    b. 存储设备(块设备) 磁盘、磁带

    (4)按信息交换的单位

    a. 块设备:用于存储信息,属于结构设备。磁盘、磁带(以块为单位传送信息)

    b. 字符设备:以单个字符为单位来传送信息。 键盘

    9.设备管理的目标

    a. 提高外部设备的利用率

    b. 为用户提供便利、统一的使用界面

    10.设备管理的功能

    a. 提供一组I/O命令

    b. 进行设备的分配和回收

    c. 对缓冲区进行管理

    d. 实现真正的I/O操作

    11.输入输出管理步骤

    (1)用户在程序中使用系统提供的输入/输出命令发出I/O请求

    (2)输入输出管理程序接受这个请求

    (3)“设备驱动程序”来具体完成所要求的的I/O操作

    (4)实现设备中断处理程序来处理这个请求

    设备的输入输出管理程序由3块内容组成:接受用户的I/O请求,组织管理输入输出进行,输入输出的善后处理

    设备控制:

    1) 设备控制块DCB中存放的是一台具体设备的有关信息,找到一个设备的DCB,就得到了该设备的特性,各种参数,使用情况等,所以DCB是设备管理中最重要的一条数据结构

    2) 独享设备中具有排他性,只能采取“静态分配”的策略

    a. 静态分配:用户作业开始之前,由系统一次分配给该作业所需的设备,控制器和通道,不会发生死锁

    b. 动态分配:在进程执行过程中进行的设备分配,可能造成死锁

    对独享设备采用的分配算法:

    v 先来先服务

    v 优先级高者先服务

    3) 共享磁盘的调度

    磁盘是一种典型的共享存储设备,允许多个作业进程同时使用,而不是让一个作业在整个运行期间独占。“同时使用”是指当一个作业进程暂时不用时,其他作业进程就可以使用。每一个时刻只有一个作业用

     

    4) 调度算法

    a. “先来先服务”调度算法(并不理想)(移臂调度,减少查找时间)

    以I/O请求到达的先后次序作为磁盘调度的顺序

    b. “最短查找时间”调度算法

    把距离磁头当前位置最近的I/O请求作为下一次调度的对象

    c. “电梯”调度算法(SCAN)

    总是沿着此案移动臂的移动方向选择距离磁头当前位置最近的I/O请求,作为下一次调度的对象

    d. “单向扫描”调度算法(循环扫描 CSCAN)

    总是从0号柱面开始往里移动移动臂,遇到有I/O请求就进行处理,直到到达最后一个请求柱面,然后移动臂立即带动磁头不做任何服务地快速返回到0号柱面,开始下一次扫描

    对I/O设备的控制方式(数据传输方式)

    1) 程序循环测试方式(程序查询式)

    是指用户进程使用start指令启动设备后,不断地执行test指令,去测试所启动设备的状态寄存器。只有在状态寄存器出现了所需要的状态后,才停止测试工作,完成输入/输出。

    数据寄存器:用来存放传输的数据

    状态寄存器:用来记录设备当前所处状态

    2) 中断方式

    所谓“中断”是一种使CPU暂时中止正在执行的程序而转去处理特殊时间的操作。

    引起中断的时间称为中断源。

    程序中产生的中断,由CPU的某些错误结果(如,计算机溢出)产生的中断称为“内中断”,由外部设备控制器引起的中断称为“外中断”

    3) 直接存储器存取方式(DMA方式)

    特点:能使I/O设备直接和内存储器进行成批数据的快速传输。(单位:块数据)

    DMA控制器包括四个寄存器:数据寄存器,状态寄存器,地址寄存器,字节计数器

    DMA控制器的组成:主机与DMA控制器的接口;DMA控制器与块设备的接口;I/O控制逻辑

    4) 通道方式

    通道方式能够使CPU彻底从I/O中解放出来。CPU进行善后处理和启动。

    通道是一个独立于CPU的,专门用来管理输入/输出操作的处理机。

    通道是通过执行通道程序并与设备控制器共同实现对I/O设备的控制的。

    它规定了设备应该执行的各种操作的顺序。由一系列通道指令所构成,CPU对I/O请求只去做启动和善后处理工作,输入/输出的管理以及数据传输等事宜,全部由通道独立完成。

     

     

     

    缓冲:

    1) 原因:

    a. 缓和CPU与I/O设备间速度不匹配的矛盾

    b. 减少对CPU的中断频率,放宽对CPU中断响应时间的限制

    c. 解决数据粒度不匹配的问题

    d. 提高CPU和I/O设备之间的并行性

    2) 缓冲的实现

    a. 采用专门的硬件寄存器,比如设备控制器里的数据寄存器,“硬件缓冲”

    b. 在内存储器中开辟出n个单元,作为专用的I/O缓冲区,以便存放输入/输出的数据,这种缓冲区就是“软件缓冲”

    c. 根据缓冲区的个数:单缓冲区、双缓冲区、多缓冲区、缓冲池

    3) 虚拟设备

    a. 通过多道程序技术可将一台物理CPU虚拟为多台逻辑CPU,需要硬件的支持。作为后援的硬盘(大容量),具有设备与CPU并行工作的能力

    4) SPOOLing技术

    a. 在主机的直接控制下,实现以前的脱机输入/输出功能,此时的外围操作与CPU对数据的处理同时进行,我们把这种在联机情况下实现的同时外围操作的技术称为SPOOLing技术,或假脱机技术

    b. SPOOLing技术是对脱机输入/输出系统的模拟。SPOOLing系统建立在通道技术和多道程序技术的基础上,以高速随机外存(通常为磁盘)为后援存储器

     

     

     

    5) 设备无关性:

    应用程序中所用的设备,不局限于使用某个具体的物理设备。为每个设备所配置的设备驱动程序是与硬件紧密相关的软件。为了实现设备独立性,必须再在设备驱动程序上设置一层软件,称为与设备无关的I/O软件或设备独立性软件

    6) 操作系统中实现虚拟设备的软件功能模块由3部分组成

    a. 预输入程序

    b. 缓输出程序

    c. 井管理程序

    7) SPOOLing系统由四部分组成

    a. 输入井和输出井

    在磁盘上开辟出来的两个存储区域,输入数据,输出数据

    b. 输入缓冲区和输出缓冲区

    在内存中开辟的两个缓冲区

    c. 输入进程和输出进程

    模拟外围控制机

    d. 井管理程序

    特点:

    Ø 提高了I/O的速度

    Ø 将独占设备改造为共享设备

    Ø 实现了虚拟设备的功能

     

     

     

    第五章 文件管理

    1) 目标:提高外存储空间的利用率

    主要任务:对用户文件和系统文件进行管理,方便用户使用,并保证文件的安全性

    文件存储设备是以块为单位进行管理的

    2) 所谓“文件”是指具有完整逻辑意义的一组相关信息的集合,它是在磁盘上保存信息,而且能方便以后读取的方法,文件用符号名加以标识,这个符号名就被称为“文件名”

    3) 文件是指由创建者所定义的,具有文件名的一组相关元素的集合,可分为有结构文件和无结构文件两种。在有结构的文件中,文件由若干个相关记录组成而无结构文件则被看成是一个字符流。文件在文件系统中是一个最大的数据单位,它描述了对象集

    文件属性:文件类型、文件长度、文件的物理位置、文件的建立时间(最后一次的修改时间)

    4) 文件名:在不同的系统之间,对文件名的规定是不同的。一个文件名是在创建该文件时由用户给出的,操作系统将向用户提供组成文件名的命名规则

    5) 很多操作系统采用句点‘.’隔开成两部分的文件名形式,句点之前的部分称为文件名,句点后面的部分称为文件的“扩展名”。又称后缀名,用于指示文件的类型

    .bak 备份文件 .bas ABSIC源程序 .bin 可执行的二进制文件

    .c C源程序 .dat 数据文件 .doc 文档文件

    .hlp 帮助文件 .obj 目标文件 .pas Pascal文件

    .txt 一般文本文件 .tmp 临时文件

    1) 文件被存在大容量的辅助存储器(外存)中,当用户需要使用时,就通过文件名把相应的文件读到内存

    2) “文件系统”是指操作系统中与文件管理有关的那部分软件,被管理的文件,以及管理文件所需要的数据结构(目录、索引表······)的总体

    3) 对文件的分类

    a. 按文件的性质和用途:系统文件、用户文件、库文件

    b. 按文件中数据的形式:源文件、目标文件、可执行文件

    c. 按存取控制属性分类:只执行文件、只读文件、读写文件

    d. 按文件的保护性质:只读文件、读写文件、可执行文件、不保护文件

    e. 按文件的保护期限:临时文件、档案文件、永久文件

    f. 按文件的存取方式:顺序存取文件、随机存取文件

    g. 按设备的类型:磁盘文件、磁带文件、打印文件

    h. 按文件的物理结构:连续文件、链接文件、索引文件

    i. 按文件的内容(组织形式和处理方式):普通文件、目录文件、特殊文件

    j. 按文件的逻辑结构:流式文件、记录式文件

    4) 文件的逻辑结构

    a. 从用户使用的角度出发组织的文件,被称为是文件的逻辑结构,一类是有结构的文件,这是指由一个以上的记录构成的文件,故又称为记录式文件

    b. 从文件的组织方式来分,可以分为顺序文件,索引文件,索引顺序文件

    c. UNIX操作系统总是以流失作为文件的逻辑结构

     

    5) 文件的物理结构

    a. 文件按不同的组织方式在辅存上存放,就会得到不同的物理结构,文件的物理结构有时也称为文件的“存储结构”

    b. 文件在辅存(外存)上可以有3种不同的存放方式:连续存放、链接块存放以及索引表存放

    c. 对应地文件就有3种物理结构,分别叫做顺序结构,链接结构和索引结构,也叫作连续文件,串联文件,索引文件

    6) 存放方式

    a. 连续存放—连续文件

    不足之处:

    v 必须预先知道文件的最大长度

    v 会造成磁盘碎片

    b. 链接块存放—串联文件

    不会因为磁盘碎片而浪费存储空间,但使用的指针要占去一些字节,每个磁盘块存储数据的字节数不再是2的幂,从而降低了系统的运行效率

    c. 索引表存放—索引文件

    7) 文件的存取

    a. 顺序存取

    b. 随机存取

    8) 磁盘空间的管理

    a. 磁盘是以块为单位进行分配的

    b. 磁盘与内存之间是以磁盘块为信息传输的单位

    c. 选定了块的大小,还要对它们进行管理,即要记住哪些已经分配,哪些仍然空闲。

    d. 常采用的磁盘存储空间管理方案有:位示图,空闲块表,空闲块链

    9) 文件的操作:

    创建文件、删除文件、打开文件、关闭文件、读文件、写文件

    10) 系统是通过文件的目录来管理文件的

    文件目录也是一种数据结构,用于标识系统中的文件及其物理地址

    11) 为每一个文件开辟一个存储区,在它的里面记录着该文件的有关信息。

    我们把该存储区称为“文件控制块”(FCB) 也是一个目录项

    随系统的不同,一个文件的FCB中所包含的内容及大小也不尽相同

    包含内容:

    Ø 文件名称

    Ø 文件在辅存中存放的物理位置

    Ø 文件的逻辑结构

    Ø 文件的物理结构

    Ø 文件的存取控制信息

    Ø 文件管理信息

    12) 目录的层次结构

    如果把所有文件的FCB都登记在一个文件目录中,这样由文件名查文件目录项,直接就能够找到所需要的文件,那么就成这种文件目录为一级目录结构

    a) 优点:

    i. 简单,能实现目录管理中最基本的功能—按名存取

    b) 缺点:

    i. 查找速度慢,不允许重名,不便于实现文件共享

    二级目录结构:

    由“主目录”与“用户目录”二级构成,在主目录(根目录)中,每个目录项的内容只是给出文件主名以及它的目录所在的磁盘地址。在一个个用户目录中,才是由问价的呢FCB组成的目录,用户目录,实际上就是一级目录

     

    1) 两级目录结构的优点:

    a. 提高了检索目录的速度

    b. 在不同的文件目录中,可以使用相同的文件名

    c. 不同用户还可使用不同的文件名访问系统中的同一个共享文件

    2) 缺点:

    a. 若一个用户可以拥有很多文件,则查找时间仍然很长

    b. 用户无法对自己的文件进行再分类安排

    3) 树型目录结构

    允许每个用户可以拥有多个目录,即在用户目录的下面可以再分子目录,子目录的下面还可以再有子目录。但每个文件目录中,只能有一个根目录,每个文件和每个目录都只能有一个父目录

     

    4) 从根目录出发到具体文件所经过的各层名字,就构成了文件的“路径名”,从根目录出发的这个路径名,也称为文件的“绝对路径名”。

    文件的绝对路径名必须从根目录出发,且是唯一的,从分隔符开头

    在UNIX系统中,路径名各部分之间是用“/”分隔

    在MS-DOS系统中,路径各部分是用“”分隔

    在MVLTICS系统中,路径各部分之间是用“>”分隔

    在当前目录下的文件的路径名,称为文件的相对路径名

    5) 文件的“共享”是指一个文件可以被多个授权用户共同使用

    分两种:

    Ø 任何时刻只允许一个用户使用共享文件

    Ø 允许多个用户同时使用同一个共享文件,只进行读操作

     

  • 相关阅读:
    android手机开发网
    Android 使用Google Weather制作天气预报程序
    android反编译xml文件
    在线MSDN
    工作的思考一:业务流和工作管理
    .NET Remoting技术文章汇总
    学习之路十四:客户端调用WCF服务的几种方法小议
    工作的思考二:无效的沟通
    ADO.NET 全面梳理
    工作的思考三:工作质量,计划制定,沟通交流
  • 原文地址:https://www.cnblogs.com/XiaoGao128/p/14917577.html
Copyright © 2020-2023  润新知