当前位置: 首页 > news >正文

网站建设商虎小程序罗湖建设公司网站建设

网站建设商虎小程序,罗湖建设公司网站建设,什么网站可以做家教,wordpress换域名安装设备管理 操作系统作为系统资源的管理者#xff0c;其提供的功能有#xff1a;处理机管理、存储器管理、文件管理、设备管理。其中前三个管理都是在计算机的主机内部管理其相对应的硬件。 I/O设备 I/O即输入/输出。I/O设备即可以将数据输入到计算机#xff0c;或者可以接收…设备管理 操作系统作为系统资源的管理者其提供的功能有处理机管理、存储器管理、文件管理、设备管理。其中前三个管理都是在计算机的主机内部管理其相对应的硬件。 I/O设备 I/O即输入/输出。I/O设备即可以将数据输入到计算机或者可以接收计算机输出数据的外部设备属于计算机中的硬件部件。输入型设备例如键盘与鼠标;输出型设备又例如显示器。而移动硬盘则为即可以输入、又可以输出的设备。 UNIX系统将从外部设备抽象为一种特殊的文件用户可以使用与文件操作相同的方式对外部设备进行操作。 write操作向外部设备写出数据。 read操作从外部设备读入数据。 设备分类——按使用特性 分为三种类型人机交互类外部设备、存储设备、网络通信设备。 人机交互类外部设备 例如鼠标、键盘、打印机等用于人机交互的设备。这类设备的数据传输速度很慢一般为字节或几十字节为单位的传输速率。 存储设备 例如移动硬盘、光盘等用于数据存储的设备一般这类设备的传输速度比较快。 网络通信设备 例如安装宽带时的光猫调制解调器等用于网络通信的设备这类设备的传输速度介于人机交互类设备与存储设备二者之间。 设备分类——按传输速率分类 分为三种类型低俗、中速、高速设备。 低速设备 鼠标、键盘等其传输速率为每秒几个至几百字节。 中速设备 如激光打印机这类设备的传输速率为每秒数千至上万字节。 高速设备 如磁盘等其传输速率为每秒数千字节至千兆字节的设备 设备分类——按信息交换的单位分类 分为两类块设备、字符设备。 块设备 例如磁盘等数据传输的基本单位为“块”的设备这类设备的传输速率较高。可寻址即对它可随机地读/写任一块。 字符设备 如鼠标、键盘等数据传输的基本单位为字节(符)的设备这类设备的传输速率较慢不可寻址在输入/输出时常采用中断驱动的方式。 I/O控制器 I/O设备由机械部件与电子部件组成。 机械部件 I/O设备的机械部件主要用来执行具体I/O操作。例如鼠标/键盘的按钮显示屏的LED屏幕移动硬盘的磁臂、磁盘盘面。 电子部件 I/O设备的电子部件通常是一块插入主板扩充槽的印刷电路板。 CPU无法直接控制I/O设备的机械部件因此I/O设备还要有一个电子部件作为CPU和I/O设备机械部件之间的“中介”用于实现CPU对设备的控制。 这个电子部件就是I/O控制器又称为设备控制器。CPU可控制I/O控制器又由I/O控制器来控制设备的机械部件。 功能 接受和识别CPU发出的命令例如CPU发来的 read/write 命令I/O控制器中会有相应的控制寄存器来存放命令和参数。向 CPU 报告设备的状态I/O控制器中会有相应的状态寄存器用于记录I/O设备的当前状态。例如1表示空闲0表示忙碌。数据交换I/O控制器中会设置相应的数据寄存器。输出时数据寄存器用于暂存CPU发来的数据之后再由控制器传送设备。输入时数据寄存器用于暂存设备发来的数据之后 CPU 从数据寄存器中取走数据。地址识别类似于内存的地址为了区分设备控制器中的各个寄存器也需要给各个寄存器设置一个特定的“地址”。I/O控制器通过 CPU 提供的 “地址” 来判断CPU要读/写的是哪个寄存器。 组成 注意① 一个 I/O 控制器可能会对应多个设备。 ② 数据寄存器、控制寄存器、状态寄存器可能有多个(例如每个控制/状态寄存器对应一个具体的设备)且这些寄存器都要有对应的地址才能方便 CPU 操作。有的计算机会让这些寄存器占用内存地址的一部分称为内存映射I/O;另一些计算机则采用I/O专用地址即寄存器独立编址。 内存映射I/O 内存映射I/O控制器中的寄存器与内存地址统一编址。 这种方式简化了指令可以采用对内存进行操作的指令来对控制器进行操作。 寄存器独立编址 寄存器独立编址控制器中的寄存器使用单独的地址。 这种方式需要设置专门的指令来实现对控制器的操作不仅要指明寄存器的地址还要指明控制器的编号。 I/O控制方式 计算机系统与外部设备之间进行数据输入和输出的方法和规则。I/O控制方式的选择对于计算机系统的性能和效率具有重要影响。分为了下面的四种程序直接控制方法、中断驱动方式、DMA方式、通道控制方式。 程序直接控制方式 完成一次读/写操作的流程(以读操作为例) ① CPU 向控制器发出读指令。于是设备启动并且状态寄存器设为 1(未就绪) ② 轮询检查控制器的状态(其实就是在不断地执行程序的循环若状态位一直是1说明设备还没准备好要输入的数据于是CPU会不断地轮询) ③ 输入设备准备好数据后将数据传给控制器并报告自身状态 ④ 控制器将输入的数据放到数据寄存器中并将状态改为0(已就绪) ⑤ CPU 发现设备已就绪即可将数据寄存器中的内容读入 CPU 的寄存器中再把 CPU 寄存器中的内容放入内存。 ⑥ 若还要继续读入数据则 CPU 继续发出读指令 此方式CPU干预频率很频繁I/O操作开始之前、完成之后需要 CPU 介入并且在等待I/O完成的过程中CPU需要不断地轮询检查。 数据传送的单位是每次读/写一个字。 数据的流向读操作(数据输入)I/O设备 — CPU — 内存 ​ 写操作(数据输出)内存 — CPU — I/O设备 优点实现简单。在读/写指令之后加上实现循环检查的一系列指令即可(因此被称为“程序直接控制方式”) 缺点CPU 和 I/O 设备只能串行工作CPU 需要一直轮询检查长期处于“忙等”状态CPU 利用率低。 中断驱动方式 引入中断机制由于I/O设备速度很慢因此在CPU发出读/写命令后可将等待I/O的进程阻塞先切换到别的进程执行。当I/O完成后控制器会向CPU发出一个中断信号CPU 检测到中断信号后会保存当前进程的运行环境信息转去执行中断处理程序处理该中断。处理中断的过程中CPU 从I/O控制器读一个字的数据传送到CPU寄存器再写入主存。接着CPU恢复等待I/O的进程(或其他进程)的运行环境然后继续执行。 每次I/O操作开始之前、完成之后需要CPU介入。等待I/O完成的过程中CPU可以切换到别的进程执行。 数据传送的单位、数据的流向与程序直接控制方式一样。 优点与“程序直接控制方式”相比在“中断驱动方式”中I/O控制器会通过中断信号主动报告I/O已完成CPU不再需要不停地轮询。CPU与I/O设备可并行工作CPU利用率得到明显提升。 缺点每个字在I/O设备与内存之间的传输都需要经过CPU。而频繁的中断处理会消耗较多的CPU时间。 注意① CPU会在每个指令周期的末尾检查中断; ② 中断处理过程中需要保存、恢复进程的运行环境这个过程是需要一定时间开销的。可见如果中断发生的频率太高也会降低系统性能。 DMA方式 DMA(Direct Memory Access)方式即直接存储器存取主要用于块设备的I/O控制其对于“中断驱动方式”有以下的改进 ① 数据传送单位是“块”而不再是逐个字的传送。 ② 数据的流向是从设备直接放入内存或者从内存直接到设备。不再需要CPU当中转站。 ③ 仅在传送一个或多个数据块的开始和结束时才需要CPU干预。 CPU指明此次要进行的操作(如读操作)并说明要读入多少数据、数据要存放在内存的什么位置、数据在外部设备上的地址(如在磁盘上的地址)。 控制器会根据CPU提出的要求完成数据的读/写工作整块数据的传输完成后才向CPU发出中断信号。 DR(Data Register数据寄存器)暂存从设备到内存或从内存到设备的数据。 MAR(Memory Address Register内存地址寄存器)在输入时MAR 表示数据应放到内存中的什么位置;输出时 MAR 表示要输出的数据放在内存中的什么位置。 DC(Data Counter数据计数器)表示剩余要读/写的字节数。 CR(Command Register命令/状态寄存器)用于存放CPU发来的I/O命令或设备的状态信息。 该方式仅在传送一个或多个数据块的开始和结束时才需要CPU干预。 每次读/写一个或多个块(注意每次读写的只能是连续的多个块且这些块读入内存后在内存中也必须是连续的)。 而数据的流向则不需要经过CPU实现内存与I/O设备的直接操作。 优点数据传输以“块”为单位CPU介入频率进一步降低。数据的传输不再需要先经过CPU再写入内存数据传输效率进一步增加。CPU和I/O设备的并行性得到提升。 缺点CPU每发出一条I/O指令只能读/写一个或多个连续的数据块。如果要读/写多个离散存储的数据块或者要将数据分别写到不同的内存区域时CPU要分别发出多条I/O指令进行多次中断处理才能完成。 通道控制方式 通道是一种硬件可以理解为是“弱化版的CPU”通道可以识别并执行一系列通道指令。 通道与CPU相比通道可以执行的指令很单一并且通道程序是放在主机内存中的也就是说通道与CPU共享内存。 此种方式的CPU干预的频率极低通道会根据CPU的指示执行相应的通道程序只有完成一组数据块的读/写后才需要发出中断信号请求CPU干预。 数据传送的单位为每次读/写一组数据块。 在通道的控制下数据的流向依旧是I/O设备与内存之间相互流通。 优点CPU、通道、I/O设备可并行工作资源利用率很高。 缺点实现复杂需要专门的通道硬件支持。 I/O软件层次结构 如图I/O软件的层次可以如下进行划分 其中的设备独立性软件、设备驱动程序、中断处理程序是属于操作系统的内核部分即“I/O系统”或称“I/O核心子系统”。 越往上面的层次越接近用户越往下面的层次越接近硬件。 每一层会利用其下层提供的服务实现某些功能并屏蔽实现的具体细节向高层提供服务(封装的思想)。 用户层软件 在用户层软件实现了与用户交互的接口用户可直接使用该层提供的、与I/O操作相关的库函数对设备进行操作。 用户层软件将用户请求翻译成格式化的I/O请求并通过“系统调用”请求操作系统内核的服务。 Windows 操作系统向外提供的一系列系统调用但是由于系统调用的格式严格使用麻烦因此在用户层上封装了一系列更方便的库函数接口供用户使用(Windows API) 设备独立性软件 设备独立性软件又称为设备无关性软件。与设备的硬件特性无关的功能几乎都在这一层实现。 主要实现的功能 ① 向上层提供统一的调用接口(例如 read/write 系统调用) ② 设备保护 (原理类似与文件保护。设备被看做是一种特殊的文件不同用户对各个文件的访问权限是不一样的同理对设备的访问权限也不一样) ③ 差错处理 (设备独立性软件需要对一些设备的错误进行处理) ④ 设备的分配与回收 ⑤ 数据缓冲区管理 (可以通过缓冲技术屏蔽设备之间数据交换单位大小和传输速度的差异) ⑥ 建立逻辑设备名到物理设备名的映射关系;根据设备类型选择调用相应的驱动程序(用户或用户层软件发出I/O操作相关系统调用的系统调用时需要指明此次要操作的I/O设备的逻辑设备名。例如当有多台打印机时打印文件时需要按名字选择使用哪一台打印机其实这些名字就是逻辑设备名) 设备独立性软件需要通过 “逻辑设备表(LUT, Logical Unit Table )” 来确定逻辑设备对应的物理设备并找到该设备对应的设备驱动程序。 I/O设备被当做一种特殊的文件不同类型的I/O设备需要有不同的驱动程序处理。 操作系统系统可以采用两种方式管理逻辑设备表(LUT) : 第一种方式整个系统只设置一张LUT这就意味着所有用户不能使用相同的逻辑设备名因此这种方式只适用于单用户操作系统。 第二种方式为每个用户设置一张LUT 各个用户使用的逻辑设备名可以重复适用于多用户操作系统。系统会在用户登录时为其建立一个用户管理进程而LUT就存放在用户管理进程的PCB中。 设备驱动程序 不同设备的内部硬件特性也不同这些特性只有厂家才知道因此厂家须提供与设备相对应的驱动程序CPU执行驱动程序的指令序列来完成设置设备寄存器检查设备状态等工作。 不同的I/O设备有不同的硬件特性具体细节只有设备的厂家才知道。因此厂家需要根据设备的硬件特性设计并提供相应的驱动程序。 设备驱动程序主要负责对硬件设备的具体控制将上层发出的一系列命令(如read、write)转化为特定设备能能明白的的一系列操作。包括设置设备寄存器检查设备状态等。 注意驱动程序一般会以一个独立的进程的方式存在。 中断处理程序 当I/O任务完成时I/O控制器会发送一一个中断信号系统会根据中断信号类型找到相应的中断处理程序并执行。中断处理程序的处理流程如下 I/O管理 I/O管理分为I/O应用程序接口和设备驱动程序接口。 I/O应用程序接口 网络设备接口 设备驱动程序接口 不同的操作系统对设备驱动程序接口的标准各不相同。设备厂商必须根据操作系统的接口要求开发相应的设备驱动程序设备才能被使用。 操作系统规定好设备驱动程序的接口标准各厂商必须按要求开发设备驱动程序。 假脱机技术 脱机技术是指脱离主机的控制进行的输入/输出操作。在批处理阶段数据的读入和写出所花费的时间远远大于CPU处理的时间。CPU的利用率很低。 在引入脱机技术之后缓解了CPU与慢速I/O设备的速度矛盾。另一方面即使CPU在忙碌也可以提前把数据输入到磁带;即使慢速的输出设备正在忙碌也可以提前将数据输出到磁盘。 “假脱机技术”又称为“SPOOLing技术”是用软件的方式模拟脱机技术。SPOOLing 系统的组成如下 该技术会在磁盘上开辟两个存储区域——“输入井”和“输出井” “输入井” 模拟脱机输入时的磁带用于收容I/O设备输入的数据“输出井” 模拟脱机输出时的磁带用于收容用户进程输出的数据。 外围控制机则是由一个输入进程和输出进程所组成 “输入进程”模拟脱机输入时的外围控制机。“输出进程”模拟脱机输出时的外围控制机。 在输入进程的控制下“输入缓冲区”用于暂存从输入设备输入的数据之后再转存到输入井中。 在输出进程的控制下“输出缓冲区”用于暂存从输出井送来的数据之后再传送到输出设备上 设备的分配与回收 设备的固有属性可分为三种独占设备、共享设备、虚拟设备。 独占设备——一个时段只能分配给一个进程( 如打印机) 共享设备——可同时分配给多个进程使用( 如磁盘)各进程往往是宏观上同时共享使用设备而微观.上交替使用。 虚拟设备——采用SPOOLing技术将独占设备改造成虚拟的共享设备可同时分配给多个进程使用( 如采用SPOOLing技术实现的共享打印机) 从进程运行的安全性上考虑设备分配有两种方式 安全分配方式为进程分配一个设备后就将进程阻塞本次I/O完成后才将进程唤醒。(eg: 考虑进程请求打印机打印输出的例子)优点是破坏了“请求和保持”条件不会死锁。缺点是对于一个进程来说CPU和I/O设备只能串行工作。 不安全分配方式进程发出I/O请求后系统为其分配I/O设备进程可继续执行之后还可以发出新的I/O请求。只有某个I/O请求得不到满足时才将进程阻塞。优点是进程的计算任务和I/O任务可以并行处理使进程迅速推进。缺点是有可能发生死锁(死锁的避免、死锁的检测与解除) 静态分配与动态分配 静态分配进程运行前为其分配全部所需资源运行结束后归还资源(破坏了“请求保持”条件不会发生死锁) 动态分配进程运行过程中动态申请设备资源。 设备管理中的数据结构 设备控制表(DCT)系统为每个设备配置一张DCT用于记录设备情况 控制器控制表(COCT)每个设备控制器都会对应一张COCT。操作系统根据COCT的信息对控制器进行操作和管理。 通道控制表(CHCT)每个通道都会对应一张CHCT。操作系统根据CHCT的信息对通道进行操作和管理。 系统设备表(SDT)记录了系统中全部设备的情况每个设备对应一个表目。 设备分配步骤的改进 ① 根据进程请求的物理设备名查找SDT(注:物理设备名是进程请求分配设备时提供的参数) ② 根据SDT找到DCT若设备忙碌则将进程PCB挂到设备等待队列中不忙碌则将设备分配给进程。 ③ 根据DCT找到COCT若控制器忙碌则将进程PCB挂到控制器等待队列中不忙碌则将控制器分配给进程。 ④ 根据COCT找到CHCT若通道忙碌则将进程PCB挂到通道等待队列中不忙碌则将通道分配给进程。 缺点 ①用户编程时必须使用“物理设备名”底层细节对用户不透明不方便编程。 ②若换了一个物理设备则程序无法运行。 ③若进程请求的物理设备正在忙碌则即使系统中还有同类型的设备进程也必须阻塞等待。 改进的方法建立逻辑设备名与物理设备名的映射机制用户编程时只需提供逻辑设备名。 缓冲区管理 缓冲区是一个存储区域可以由专门的硬件寄存器组成也可利用内存作为缓冲区。使用硬件作为缓冲区的成本较高容量也较小-般仅用在对速度要求非常高的场合(如存储器管理中所用的联想寄存器由于对页表的访问频率极高因此使用速度很快的联想寄存器来存放页表项的副本) 一般情况下更多的是利用内存作为缓冲区“设备独立性软件”的缓冲区管理就是要组织管理 好这些缓冲区。 作用 缓和CPU与I/O设备之间速度不匹配的矛盾。减少对CPU的中断频率放宽对CPU中断相应时间的限制。解决数据粒度不匹配的问题。提高CPU与I/O设备之间的并行性。 单缓冲 假设某用户进程请求某种块设备读入若干块的数据。若采用单缓冲的策略操作系统会在主存中为其分配一个缓冲区(若没有特别说明一个缓冲区的大小就是一个块)。 注意当缓冲区数据非空时不能往缓冲区冲入数据只能从缓冲区把数据传出;当缓冲区为空时可以往缓冲区冲入数据但必须把缓冲区充满以后才能从缓冲区把数据传出。 双缓冲 假设某用户进程请求某种块设备读入若干块的数据。若采用双缓冲的策略操作系统会在主存中为其分配两个缓冲区(若没有特别说明一个缓冲区的大小就是一个块) 结论采用双缓冲策略处理一个数据块的平均耗时为Max(T,C M) 循环缓冲区 将多个大小相等的缓冲区链接成一个循环队列。 注橙色代表已充满数据的缓冲区绿色表示空缓冲区。 缓冲池 缓冲池由系统中共用的缓冲区组成。这些缓冲区按使用状况可以分为:空缓冲队列、装满输入数据的缓冲队列(输入队列)、装满输出数据的缓冲队列(输出队列)。 另外根据一个缓冲区在实际运算中扮演的功能不同又设置了四种工作缓冲区用于收容输入数据的工作缓冲区(hin) 、用于提取输入数据的工作缓冲区(sin) 、用于收容输出数据的工作缓冲区(hout) 、用于提取输出数据的工作缓冲区(sout) ①输入进程请求输入数据 ②计算进程想要取得一块输入数据 ③计算进程想要将准备好的数据冲入缓冲区 ④输出进程请求输出数据 磁盘的结构 概念 磁盘磁盘的表面由一些磁性物质组成可以用这些磁性物质来记录二进制数据。 磁道磁盘的盘面被划分成一个一个磁道这样的一个“圈”就是一个磁道。 扇区一个磁道又被划分成一个个扇区每个扇区就是一个“磁盘块”。各个扇区存放的数据量相同(例如1KB)最内侧磁道上的扇区面积最小但是它与其他扇区存储的数据量一样因此其数据密度最大。 物理地址 可以用(柱面号,扇面号,扇区号)来定位任意一个“磁盘块”。在“文件的物理结构”小节中我们经常提到文件数据存放到外存中的几号块这个块号就可以转换成(柱面号,扇面号,扇区号)的地址形式。 可根据该地址读取-一个“块” ①根据“柱面号”移动磁臂让磁头指向指定柱面; ②激活指定盘面对应的磁头; ③磁盘旋转的过程中指定的扇区会从磁头下面划过这样就完成了对指定扇区的读/写。 分类 也可以按照盘片是否可以更换分类为可换盘磁盘和固定盘磁盘。 磁盘调度算法 寻找时间(寻道时间) Ts: 在读/写数据前将磁头移动到指定磁道所花的时间。 ①启动磁头臂是需要时间的。假设耗时为s; ②移动磁头也是需要时间的。假设磁头匀速移动每跨越一个磁道耗时为m总共需要跨越n条磁道。则:寻道时间Tss m * n 延迟时间TR:通过旋转磁盘使磁头定位到目标扇区所需要的时间。设磁盘转速为r (单位:转/秒或转/分)则平均所需的延迟时间TR (1/2)*(1/r) 1/2r 传输时间Tt:从磁盘读出或向磁盘写入数据所经历的时间假设磁盘转速为 r此次读/写的字节数为b,每个磁道上的字节数为N。则: 传输时间Tt (1/r) * (b/N) b/(rN) 每个磁道要可以存入 N 字节的数据因此 b 字节的数据需要 b/N 个磁道才能存储。而读/写一个磁道所需要的时间刚好又是转一圈所需要的时间 1/r 延迟时间和传输时间都与磁盘转速相关且为线性相关。而转速是硬件的固有属性因此操作系统也无法优化延迟时间和传输时间。 总的平均存取时间 Ta Ts 1/2r b/(rN) 先来先服务算法(FCFS) 根据进程请求访问磁盘的先后顺序进行调度。 假设磁头的初始位置是100号磁道有多个进程先后陆续地请求访问55、58、39、18、90、160、150、38、184 号磁道 按照FCFS的规则按照请求到达的顺序磁头需要依次移动到55、58、39、18、90、160、150、38、184号磁道 响应一个请求平均需要移动 498 / 9 55.3个磁道(平均寻找长度) 优点公平;如果请求访问的磁道比较集中的话算法性能适中。 缺点如果有大量进程竞争使用磁盘请求访问的磁道很分散则FCFS在性能上很差寻道时间长。 最短寻找时间优先(SSTF) SSTF算法会优先处理的磁道是与当前磁头最近的磁道。可以保证每次的寻道时间最短但是并不能保证总的寻道时间最短。(其实就是贪心算法的思想只是选择眼前最优但是总体未必最优) 假设磁头的初始位置是100号磁道有多个进程先后陆续地请求访问55、58、39、18、90、160、150、38、184号磁道。 磁头总共移动了 (100 - 18) (184 - 18) 248个磁道。 响应一个请求平均需要移动 248 / 9 27.5个磁道 优点性能较好平均寻道时间短。 缺点可能产生“饥饿”现象。(产生饥饿的原因在于磁头会在一个小区域内来来回回地移动) 扫描算法(SCAN) SSTF算法会产生饥饿的原因在于:磁头有可能在一个小区域内来回来去地移动。为了防止这个问题,可以规定只有磁头移动到最外侧磁道的时候才能往内移动移动到最内侧磁道的时候才能往外移动。这就是扫描算法(SCAN)的思想。由于磁头移动的方式很像电梯因此也叫电梯算法。 假设某磁盘的磁道为0~200号磁头的初始位置是100号磁道且此时磁头正在往磁道号增大的方向移动有多个进程先后陆续地请求访问55、58、39、18、90、160、150、38、184 号磁道 优点性能较好平均寻道时间较短不会产生饥饿现象。 缺点① 只有到达最边上的磁道时才能改变磁头移动方向事实上处理了184号磁道的访问请求之后就不需要再向右移动磁头了。 ② SCAN 算法对于各个位置磁道的响应频率不平均(如假设此时磁头正在往右移动且刚处理过90号磁道那么下次处理90号磁道的请求就需要等磁头移动很长一段距离;而响应了184号磁道的请求之后很快又可以再次响应 184 号磁道的请求) LOOK 调度算法 扫描算法(SCAN)中只有到达最边上的磁道时才能改变磁头移动方向事实上处理了184号磁道的访问请求之后就不需要再往右移动磁头了。LOOK 调度算法就是为了解决这个问题如果在磁头移动方向.上已经没有别的请求就可以立即改变磁头移动方向。(边移动边观察 因此叫 LOOK) 假设某磁盘的磁道为0~200号磁头的初始位置是100号磁道且此时磁头正在往磁道号增大的方向移动有多个进程先后陆续地请求访问 55、58、39、18、90、160、150、38、184 号磁道 优点: 比起SCAN算法来不需要每次都移动到最外侧或最内侧才改变磁头方向使寻道时间进一步缩短。 循环扫描算法(C-SCAN) SCAN算法对于各个位置磁道的响应频率不平均而 C-SCAN 算法就是为了解决这个问题。规定只有磁头朝某个特定方向移动时才处理磁道访问请求而返回时直接快速移动至起始端而不处理任何请求。 假设某磁盘的磁道为0~200号磁头的初始位置是100号磁道且此时磁头正在往磁道号增大的方向移动有多个进程先后陆续地请求访问55、58、39、18、90、160、150、38、184号磁道 优点与SCAN算法相比对于各个位置磁道的响应频率很平均。 缺点:只有到达最边上的磁道时才能改变磁头移动方向事实上处理了184号磁道的访问请求之后就不需要再往右移动磁头了;并且磁头返回时其实只需要返回到18号磁道即可不需要返回到最边缘的磁道。另外比起SCAN算法来平均寻道时间更长。 C-LOOK 调度算法 C-SCAN算法的主要缺点是只有到达最边上的磁道时才能改变磁头移动方向并且磁头返回时不一定需要返回到最边缘的磁道上。C-LOOK 算法就是为了解决这个问题。如果磁头移动的方向。上已经没有磁道访问请求了就可以立即让磁头返回并且磁头只需要返回到有磁道访问请求的位置即可。 假设某磁盘的磁道为0~200号磁头的初始位置是100号磁道且此时磁头正在往磁道号增大的方向移动有多个进程先后陆续地请求访问55、58、39、18、90、160、 150、38、184号磁道。 优点:比起C-SCAN算法来不需要每次都移动到最外侧或最内侧才改变磁头方向使寻道时间进一步缩短。 减少磁盘延迟时间 假设要连续读取橙色区域的2、3、4扇区: 磁头读取一块的内容(也就是一个扇区的内容)后需要一小段时间处理而盘片又在不停地旋转 因此如果2、3号扇区相邻着排列则读完2号扇区后无法连续不断地读入3号扇区。必须等盘片继续旋转3号扇区再次划过磁头才能完成扇区读入 结论:磁头读入一个扇区数据后需要- -小段时间处理如果逻辑上相邻的扇区在物理.上也相邻则读入几个连续的逻辑扇区可能需要很长的“延迟时间” 如何解决这个问题呢 交替编号 若采用交替编号的策略即让逻辑上相邻的扇区在物理上有一定的间隔可以使读取连续的逻辑扇区所需要的延迟时间更小。 磁盘地址结构的设计 为什么磁盘的物理地址是(柱面号盘面号扇区号)而不是(盘面号柱面号扇区号) 假设某磁盘有8个柱面/磁道(假设最内侧柱面/磁道号为0 )4个盘面8个扇区。则可用3个二进制位表示柱面2个二进制位表示盘面3个二进制位表示扇区。 若物理地址结构是(盘面号柱面号扇区号)且需要连续读取物理地址(00, 000, 000) ~ (00, 001, 111)的扇区:(00, 000, 000) ~ ( 00, 000, 111 )转两圈可读完。 之后再读取物理地址相邻的区域即(00,001,000)~(00,001,111)需要启动磁头臂将磁头移动到下一个磁道。 假设某磁盘有8个柱面/磁道(假设最内侧柱面/磁道号为0 ),4个盘面8个扇区。则可用3个二进制位表示柱面2个二进制位表示盘面3个二进制位表示扇区。 若物理地址结构是(柱面号盘面号扇区号)且需要连续读取物理地址(000, 00, 000) ~ (000, 01, 111)的扇区: (000, 00, 000) ~ ( 000, 00, 111 )由 盘面0的磁头读入数据之后再读取物理地址相邻的区域即(000, 01, 000) ( 000, 01,111 )由于柱面号/磁道号相同只是盘面号不同因此不需要移动磁头臂。只需要激活相邻盘面的磁头即可。 所以在读取地址连续的磁盘块时采用(柱面号盘面号扇区号)的地址结构可以减少磁头移动消耗的时间。 错位命名 磁盘管理 磁盘初始化 ① 进行低级格式化(物理格式化)将磁盘的各个磁道划分为扇区。一个扇区通常可分为头、数据区域(如512B大小)、尾三个部分组成。管理扇区所需要的各种数据结构一般存放在头、尾两个部分包括扇区校验码(如奇偶校验、CRC循环冗余校验码等校验码用于校验扇区中的数据是否发生错误) ② 将磁盘分区每个分区由若干个柱面组成(即为熟悉的C盘、D盘、E盘) ③ 进行逻辑初始化创建文件系统。包括创建文件系统的根目录、初始化存储空间管理所用的数据结构(如位示图、空闲分区表)。 引导块 计算机在开机时需要进行一系列初始化的工作这些初始化工作时通过执行初始化程序(自举程序)完成的。 初始化程序可以放在ROM(只读存储器)中。ROM中的数据在出厂时就写入并且以后不能再次进行修改(注ROM一般是出厂时就集成在主板上)。为了方便自举程序的更新和修改ROM中只存放很小的“自举装入程序”而完整的自举程序放在磁盘的启动块(即引导块/启动分区)上启动块位于磁盘的固定位置。开机时计算机先运行“自举装入程序”通过执行该程序就可以找到引导块并将完整的“自举程序”读入内存完成初始化。 将拥有启动分区的磁盘称为启动磁盘或系统磁盘(默认为C盘)。 坏块的管理 坏快即无法正常进行使用的扇区。这属于硬件故障操作系统是无法修复的。应该将坏块标记出来以免错误地使用到它。 对于简单的磁盘可以在逻辑格式化时(建立文件系统时)对整个磁盘进行坏块检查标明哪些扇区是坏扇区比如:在FAT表上标明。(在这种方式中 坏块对操作系统不透明) 对于复杂的磁盘磁盘控制器(磁盘设备内部的一个硬件部件)会维护一个坏块链表。 在磁盘出厂前进行低级格式化(物理格式化)时就将坏块链进行初始化。 会保留一-些“备用扇区”用于替换坏块。这种方案称为扇区备用。且这种处理方式中坏块对操作系统透明。
http://www.dnsts.com.cn/news/127824.html

相关文章:

  • 网站开发工程师任职要求动态页网站
  • 四川省城乡住房和建设厅网站安徽建站之星
  • 江苏宏远建设集团网站google浏览器下载安装
  • 菏泽公司做网站企业网站有哪几个类型
  • 建设手表商城网站多少钱wordpress错误页
  • 淘宝做代码的网站网站建站哪个品牌好
  • 自己动手建立个人网站ai生成网页设计
  • 网络营销推广专员站长seo综合查询工具
  • 深圳定制型网站建设谷歌云做网站服务器
  • 怎么请人做网站网页设计实训报告的目的
  • 服装网站建设与规划怎么做网站弹窗
  • 哈尔滨网站建设推广服务百度信息流推广教程
  • 莱芜网络营销网站的建设外链优化
  • 网站建设资讯平台人与马做网站
  • 建设电子商务网站要多少钱电商网站建设简单代码网页
  • 在线做简单的网站吗北京网站优化公司
  • 网站备案后更换主机下列关于网站开发中网友上传
  • 学建设网站广州信息流推广公司
  • 爱 做 网站学生做网站的工作室
  • 建设职业注册中心网站做网站能赚多少
  • 百度 网站 移动端51zwd一起做网店
  • 网站建设三网合一安卓优化大师旧版本
  • 湖北网站科技建设项目制作注册会员的网站
  • 墨刀怎么做网站稷山网站建设
  • 佳木斯建网站的怎么用域名做网站
  • 网站建设主流语言我赢网提供的高水平网页设计师
  • 注册新公司网上核名网站丹东seo
  • 为网站网站做宣传网站app开发
  • 软件网站开发公司wordpress 加载js
  • 南宁网站设计制作公司html5 爱情网站模板