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

西安互联网网站搭建公司排名找人做网站需要什么

西安互联网网站搭建公司排名,找人做网站需要什么,永康网站建设zjyuxun,效果图设计I/O系统是计算机系统的重要组成部分#xff0c;是OS中最复杂且与硬件密切相关的部分 I/O系统的基本任务是完成用户提出的I/O请求#xff0c;提高I/O速率以及改善I/O设备的利用率#xff0c;方便高层进程对IO设备的使用 I/O系统包括用于实现信息输入、输出和存储功能的设备和…I/O系统是计算机系统的重要组成部分是OS中最复杂且与硬件密切相关的部分 I/O系统的基本任务是完成用户提出的I/O请求提高I/O速率以及改善I/O设备的利用率方便高层进程对IO设备的使用 I/O系统包括用于实现信息输入、输出和存储功能的设备和相应的控制器打印机扫描仪等IO设备、存储设备 输入输出系统的主要功能有设备分配、设备处理、设备控制、虚拟设备、如何实现设备独立性、缓冲区管理。 7.1 I/O系统的功能、模型和接口 7.1.1 I/O系统的基本功能 隐藏物理设备的细节对设备加以适当抽象隐藏物理实现细节仅向上层进程提供少量的抽象的读写命令与设备的无关性抽象的逻辑设备名来使用设备而不用指明是哪一台设备提高可移植性和适应性提高处理机和I/O设备的利用率让处理机和IO设备并行操作CPU快速响应并且减少对IO请求的干预时间对I/O设备进行控制利用驱动程序对IO设备进行控制确保对设备的正确共享独占设备和共享设备错误处理临时性错误和持久性错误 7.1.2 I/O系统的层次结构和模型 用户层软件实现与用户交互的接口。用户可直接调用在I/O操作有关的库函数对设备进行操 作。 设备独立性软件实现与设备驱动器的统一接口、设备命名、设备的保护以及分配与释放等同时为设备管理和数据传送提供必要的存储空间。 设备驱动程序 与硬件直接相关负责实现系统对设备发出的操作指令驱动I/O设备工作。 中断处理程序保存被中断进程的CPU环境转入相应的中断处理程序进行处理处理完后再恢复被中断进程的现场后返回到被中断进程。 I/O系统中各种模块之间的层次视图 I/O系统的分层 ①中断处理程序 处于I/O系统的底层直接与硬件进行交互 ②设备驱动程序 高层进程与设备控制器之间的通信程序次底层。 功能接收用户的I/O请求命令和参数并将命令中的抽象要求转换为具体要求。 ③设备独立性软件 IO软件独立于具体使用的物理设备使得增加替换设备时无需对IO软件进行修改方便系统的更新扩展。 7.1.3 I/O接口 1.块设备接口 数据的存取和传输都是以数据块为单位的设备。基本特征是传输速率高、可寻址。磁盘设备的I/O常采用DMA方式。 块设备速率高、可寻址 隐藏磁盘的二维结构将抽象命令映射为低层操作。 虚拟存储器 2.流设备接口 字符设备数据的存取和传输都是以字符为单位的设备。 基本特征是传输速率低、不可寻址常采用中断驱动方式。大多数流设备属于独占设备所以只能互斥共享。get和put操作 常采用顺序存取方式用户程序获取或输出字符的方法是采用get和put操作。in-control指令 字符设备种类繁多会提供一种通用的in-control指令其中包含了许多参数每个参数表示一个与具体设备相关的特定功能。 3.网络通信接口 现代OS都提供了面向网络的功能还需要通过某种方式把计算机连接到网络上。OS提供相应的网络软件和网络通信接口使计算机能够通过网络与网络上的其他计算机通信或上网浏览。 7.2 I/O设备和设备控制器 7.2.1 I/O设备 1.I/O设备的类型按操作特性 存储设备存储信息如磁盘等存取速度慢、容量大、价格便宜。 I/O设备输入、输出、交互式设备用来向CPU传送信息或输出加工处理后的信息。按传输速率分类 低速设备每秒几个字节至数百字节 键盘、鼠标、语音输入输出设备等 中速设备每秒数千至数万字节 行式打印机、激光打印机等 高速设备每秒数百K至数十M字节 磁盘机、磁带机、光盘机等 3.按信息交换的单位分类块设备(Block Device) 信息的存取总是以数据块为单位 可寻址如磁盘盘块的大小为512 B~4 KB字符设备(Character Device) 基本单位是字符不可寻址 如交互式终端、打印机 4.按资源分配角度分类共享属性独占设备 多数低速设备属独占设备如打印机共享设备 可供多个进程同时访问如磁盘虚拟设备 通过虚拟技术将一台独占设备变换为若干个逻辑设备供若干个进程同时使用 5.按从属关系分类 系统设备 用户设备 7.2.2 设备控制器 CPU与I/O设备之间的接口 接收CPU发来的命令控制一个或多个I/O设备工作以实现I/O设备和计算机之间的数据交换减轻CPU的负担使处理机从繁杂的设备控制事务中解脱出来。 设备控制器是一个可编址的设备一个或多个地址 设备控制器分类 控制字符设备的控制器 控制块设备的控制器 基本功能接收和识别命令 控制寄存器能接收并识别处理机发来的多种命令通过相应的控制寄存器存放接收的命令和参数并对其译码数据交换 实现CPU与控制器、控制器与设备之间的数据交换需设置数据寄存器 标识和报告设备的状态需设置状态寄存器记录设备的状态地址识别 系统中的每一个设备都有一个地址为了识别所控制的设备需设置地址译码器数据缓冲暂存数据解决I/O设备速率低的问题差错控制对I/O设备发送的数据进行差错检测设置差错检测码 设备控制器的组成 7.2.3 内存映像I/O 驱动程序将抽象的IO命令转换出的一系列具体命令、参数等数据装入设备控制器的相应寄存器有控制器来执行这些命令具体实施对IO设备的控制。 两种完成方法特定IO指令内存映像IO编址上不区分内存单元地址和设备控制器中的寄存器地址通过范围来区分。可以统一对内存和对控制器的访问方法。 7.2.4 I/O通道 I/O通道(I/O Channel)设备一种特殊处理机具有执行IO指令的能力并通过执行IO通道程序来控制IO操作。 有自己简单的指令系统只有数据传送指令和设备控制指令 主要目的是为了建立独立的I/O操作使有关对I/O操作的组织、管理及其结束处理也独立于CPU CPU向I/O通道发送I/O命令由通道执行程序仅当通道完成规定的IO任务以后才向CPU发出中断信号。 通道与一般处理机的区别 指令单一 没有独立的内存 1.字节多路通道Byte Multiplexor Channel 以字节交换方式工作分时并行操作多个非分配型子通道每个子通道连接一台IO设备主要用来连接多个中低速设备 2.数组选择通道Block Selector Channel 按数组方式进行数据传送工作能高速传输数据可以连接多台高速设备但是仅含有一个分配型子通道在一段时间内只能执行一个通道程序控制一台I/O设备。由于设备独占使用利用率较低。 3.数组多路通道Block Multiplexor Channel 将数组选择通道传输速率高和字节多路通道分时并行操作的优点相结合而形成的一种新通道。它含有多个非分配型子通道 数据传送按数组方式进行因而这种通道既具有很高的数据传输速率又能获得令人满意的通道利用率。 “瓶颈”问题 价格昂贵所设置的通道数量较少往往使它成了I/O的瓶颈进而造成整个系统吞吐量的下降。 解决方法 增加设备到主机间的通路而不增加通道。即把一个设备连接到多个控制器上而一个控制器又连接到多个通道上。 7.2.5 I/O设备的控制方式 1.使用轮询的可编程I/O方式 CPU通过I/O测试指令测试设备接口中的状态位busy “忙”则一直测试 “闲”进行数据传送每次传送一个字符 是一种忙等方式。 适用场合适用于没有中断机构的微机系统 存在的问题CPU的绝大部分时间都处于等待I/O设备完成数据I/O的循环测试中。外设不能合理使用也无法支持多道程序。 2.使用中断的可编程I/O方式中断驱动Interrupt Driven方式即当某进程要启动某个I/O设备工作时便由CPU向相应的设备控制器发出一条I/O命令然后立即返回继续执行原来的任务。 设备控制器按命令要求去控制指定的I/O设备完成后通过中断向CPU发送一中断信号。在I/O设备输入输出数据的过程中无须CPU干预每次传送一个字符。CPU与IO设备可以并行操作 适用场合适用于低速设备I/O并可配合DMA和通道方式实现I/O。 存在的问题在每个数据传送完后中断CPU 3.直接存储器访问方式(DMA) ①特点 数据传输的基本单位是数据块 所传送的数据是从设备直接送入内存的或者相反仅在传送一个或多个数据块的开始和结束时才需CPU干预 除了具有中断机构外还增加了DMA控制器 数据传送方向、存放数据的内存地址及传送数据长度需CPU控制 每个设备需配置一个DMA控制器 ②DMA控制器由三个部分组成 主机与DMA控制器的接口 DMA控制器与块设备的接口 IO控制逻辑   DMA控制器的组成 DR暂存从设备到内存/内存到设备的数据 MAR 输入数据存放到内存的起始目标地址 输出存放数据由内存到设备的内存源地址 DC存放本次CPU要读或写的字节数 CR 接收CPU发送的I/O命令 有关控制信息 设备状态 ③DMA工作过程 向磁盘控制器发送一条命令送入命令寄存器CR将本次要读入数据在内存中的其实目标地址送入MAR内存地址寄存器还要把数据字节数送入DC数据计数器中同时将磁盘中的源地址直接送入DMA控制器的IO控制逻辑。 然后启动DMA控制器进行数据传送CPU便转去处理其他事务。整个数据传送过程由DMA控制器进行控制。 读入一个字节的数据后送入数据寄存器DR将他送入MAR地址寄存器所指示的存储单元MAR加1DC减1进行判断看数据是否传送完毕。 适用场合适用于高速外设I/O一次可以在外设与内存之间传输一个或多个数据快传输完毕后才需CPU干预。 存在的问题传送方向、始址、长度等由CPU控制一个设备一个DMA成本高。 DMA与中断方式的主要区别 中断方式在每个数据传送完后中断CPUDMA方式则是在所要求传送的一批数据全部传送完时中断CPU进一步减少了CPU对IO设备的干预。 中断方式的数据传送时在中断处理时由CPU控制完成的而DMA则是在DMA控制器的控制下完成的。 4. I/O通道控制方式 I/O通道控制方式的引入进一步减少了CPU的干预把对一个数据块的读(或写)为单位的干预减少为对一组数据块的读(或写)及有关的控制和管理为单位的干预。一个通道控制多台设备CPU仅在I/O操作的开始和结束时花费少量时间处理与I/O有关的工作。可实现CPU、通道和I/O设备三者的并行操作从而更有效地提高整个系统的资源利用率 通道程序了解 指令格式操作码PR计数内存地址操作码规定指令所执行的操作如读、写、控制等内存地址标明字符送入内存或从内存取出的内存首址计数本条指令所要读/写的字节数通道程序结束位标识通道程序是否结束P1表示结束记录结束标志 R0表示本指令与下一指令处理同一个记录 R1表示处理某记录的最后一条指令 适用场合 系统预先要将I/O的过程实现为一段通道程序置于内存的特定位置而后启动通道。 由通道负责执行通道程序对外设进行I/O控制CPU转其他程序运行。 存在的问题 需要通道硬件成本高。 7.3 中断机构和中断处理程序 中断是多道程序得以实现的基础是设备管理的基础是实现CPU与IO设备并行的基础。 中断处理是IO系统中的最低层是整个IO系统的基础。 7.3.1 中断简介 1.中断和陷入 中断外中断CPU硬件有一条中断请求线interrupt-request line, IRL由I/O设备触发。设备控制器通过中断请求线发送信号而引起中断CPU捕获中断并派遣到中断处理程序中断处理程序通过处理设备来清除中断。 陷入内中断CPU内部事件所引起的中断。若系统发现有陷入事件CPU也将暂停正在执行的程序转去执行该事件的处理程序。 区别信号的来源。 2.中断向量表和中断优先级 中断向量表为了处理上的方便为每种设备配以相应的处理程序并把该程序的入口放置在一个二维表中断号入口地址中。 中断优先级 每个中断源对服务要求的紧急程度并不相同。 能够使CPU延迟处理低优先级中断而不屏蔽所有中断这也可以让高优先级中断抢占低优先级中断处理。 对中断源的处理方式 屏蔽中断。中断分为非屏蔽中断和可屏蔽中断。 嵌套中断。 7.3.2 中断处理程序 1.I/O中断处理程序的基本工作 保留现行进程的执行现场 通知等待该I/O操作完成的进程 最终转入进程调度程序进行重新调度。 2.工作步骤 唤醒被阻塞的驱动(程序)进程 保护被中断进程的CPU环境 转入相应的设备处理程序 中断处理 恢复被中断进程的现场 7.4 设备驱动程序 7.4.1 设备驱动概述 设备处理程序又称为设备驱动程序是I/O进程与设备控制器之间的通信程序接收上层软件发来的抽象IO要求再把它转换为具体要求后发给设备控制器启动设备去执行反之也将由设备控制器发来的信号传给上层软件。 每一类设备应配置一种驱动程序 设备驱动程序的功能接收用户的I/O请求命令和参数并将命令中的抽象要求转换为具体要求。检查用户I/O请求的合法性了解I/O设备的状态传递有关参数设置设备的工作方式。发出I/O命令并检查设备状态空闲则启动I/O完成指定的操作忙碌则将请求者的请求块挂到相应设备的I/O请求队列。 及时响应由控制器或通道发来的中断请求并处理。 若计算机系统设置有通道则驱动程序根据用户的I/O请求自动地构成通道程序。 设备驱动程序的特点 驱动程序主要是指在请求I/O的进程与设备控制器之间的一个通信和转换程序将抽象的IO请求转换为具体的IO操作后传给控制器。 驱动程序与设备控制器和I/O设备的硬件特性紧密相关 因而对不同类型的设备应配置不同的驱动程序。 驱动程序与I/O设备所采用的I/O控制方式紧密相关中断驱动和DMA方式。 由于驱动程序与硬件紧密相关其中的一部分必须用汇编语言书写很多驱动已经部分固化在ROM中驱动程序应允许可重入。一个正在运行的驱动程序常会在一次调用完成前被再次调用。 设备处理方式 为每一类设备设置一个进程专门用于负责该类设备的驱动工作I/O操作。为每台设备建立一个设备驱动进程它们分别负责专门设备的驱动工作。同类设备的各驱动进程共享该类设备的设备驱动程序。 在整个系统中设置一个I/O进程统一负责所有设备的驱动工作。专门用于执行系统中所有各类设备的I/O操作。不设置专门的设备处理进程而只为各类设备设置相应的设备处理程序(模块) 供用户进程或系统进程调用。 7.4.2 设备驱动程序的处理过程 将抽象要求转换为具体要求。设置控制器中的寄存器。检查I/O请求的合法性。若请求的设备不支持本次的I/O请求认为是非法操作。读出和检查设备的状态 。检查设备是否空闲或就绪。传送必要的参数 。如数据量、起始地址等设置工作方式。对于有多种工作方式的设备进行设置启动I/O设备。 多道程序系统中驱动程序一旦发出IO命令启动IO操作以后驱动程序就把控制返回给IO系统将自己阻塞起来直到中断到来时将其唤醒具体的IO操作在设备控制器的控制下进行实现IO设备与CPU的并行操作。 7.4.3 设备驱动程序的框架 1.设备驱动程序与外界的接口 设备驱动程序与OS内核接口、 设备驱动程序与系统引导的接口、 设备驱动程序与设备的接口 2.设备驱动程序的组成 设备驱动程序的注册与注销、设备的打开与释放、设备的读写操作、设备的控制操作、设备的中断与轮询 7.5 与设备无关的I/O软件 7.5.1 与设备无关软件的基本概念 用物理设备名使用设备 进程以物理设备名提出I/O请求 采用单通路I/O系统结构容易产生瓶颈 进程直接与物理设备相关非常不灵活   引入逻辑设备名 逻辑设备是抽象的设备名。 通过逻辑设备和物理设备来共同使用设备。 在应用程序中用逻辑设备名称来请求使用某类设备而系统在实际执行时使用物理设备名称。   逻辑设备名到物理设备名映射 应用程序中使用的是逻辑地址在系统分配使用内存的时候使用物理地址 采用逻辑设备表。 7.5.2 与设备无关的软件共有操作 设备驱动程序的统一接口无论何种设备它们向用户所提供的接口应该是相同的。缓冲管理即对字符设备和块设备的缓冲区进行有效的管理以提高I/O的效率差错控制只处理那些设备驱动程序无法处理的错误对独立设备的分配与回收独占设备和共享设备独立于设备的逻辑块数据块大小不一致、数据交换单位不同、数据传输速率不同等差异性 可以通过设备独立性软件隐藏这些差异向高层软件提供大小统一的逻辑数据块 7.5.3 设备分配与回收 1.设备分配中的数据结构 设备控制表DCT 每个设备一张记录本设备的情况。 控制器控制表、 通道控制表 一个控制器一张、一个通道一张。 系统设备表SDT 整个系统一张记录已被连接到系统中的所有物理设备的情况。  2.设备分配时应考虑的因素 ①设备的固有属性独占性 一段时间内只允许一个进程独占大多数低度速/设备都属于独享设备。共享性 允许多个进程同时共享如磁盘、磁鼓之类的外存储器既具有很能大的存储容量其定位操作的时间又短。可虚拟性 独占设备经某种技术处理改造成虚拟设备把一台输入机虚拟为几台“虚拟”的输入机。例如为了提高设备利用率引入了脱机输入输出或采用SPOOLing技术变一台为“多台设备”。 ②设备分配算法 先来先服务 优先级高者优先 ③设备分配中的安全性 安全分配方式 每当进程发出I/O请求后便进入阻塞状态I/O操作完成后唤醒 优点摒弃了 “请求和保持”条件不会产生死锁 不安全分配方式 进程发出I/O请求后仍继续运行继续申请I/O设备 优点可操作多个设备推进迅速 1.独占设备的分配程序 ①基本的设备分配程序 分配设备、分配控制器、分配通道 只有在设备、控制器和通道三者都分配成功时设备分配才算成功 基本分配程序的问题 进程以物理设备名提出I/O请求 采用单通路I/O系统结构容易产生瓶颈 改进 增加设备独立性通过逻辑设备名请求IO 7.5.4 逻辑设备名到物理设备名映射的实现 1.逻辑设备表(LUTLogical Unit Table) 将应用程序中所使用的逻辑设备名映射为物理设备名。每个表目中包含逻辑设备名、物理设备名和设备驱动程序的入口地址。 2.逻辑设备的设置问题 整个系统中只设置一张LUT。所有用户都使用不相同的逻辑设备名。在多用户环境下这通常是难以做到的这种方式主要用于单用户系统中。 每个用户设置一张LUT。用户登录时便为该用户建立一个进程同时也为之建立一张LUT并将该表放入进程的PCB中。在多用户系统中通常都配置系统设备表。 7.6 用户层的I/O软件 7.6.1 系统调用和库函数 1.系统调用 提供了进程与操作系统之间的接口 通常以汇编语言指令的形式提供 有些语言如C, C已经取代了汇编语言而直接用于系统编程。 应用程序可以通过它间接调用OS中的IO过程对设备进行操作 系统调用是应用程序取得OS所有服务的唯一途径 系统调用的实现对调用者是透明的。 2.库函数 在许多现代操作系统中系统调用本身已经采用C语言编写并以函数形式提供所以在使用C语言编写的用户程序中可以直接使用这些系统调用。 内核提供了OS的基本功能库函数扩展了OS内核使用户能方便取得操作系统的服务。 7.6.2 假脱机SPOOLing系统 1.SPOOLing技术 早期为了缓和CPU的高速性与I/O设备低速性间的矛盾而引入了脱机输入、脱机输出技术。 在多道程序环境下其中的一道程序模拟脱机输入输出时的外围控制机功能。 在主机的直接控制下实现脱机输入、 输出功能此时的外围操作与CPU对数据的处理同时进行。 在联机情况下实现的同时外围操作称为SPOOLing(Simultaneaus Periphernal Operating On-Line)或称为假脱机操作。是对脱机输入输出的模拟 建立在通道技术和多道程序技术的基础之上。 2.SPOOLing系统的组成 输入井和输出井在磁盘上的两个存储空间 输入井模拟脱机输入暂存输入数据 输出井模拟脱机输出暂存输出数据 输入缓冲区和输出缓冲区内存中开辟的缓冲区用来缓和CPU与磁盘之间的速度的矛盾 输入进程SPi和输出进程SPo模拟脱机I/O时的外围控制机 井管理程序控制作业与磁盘井之间信息的交换。 3.SPOOLing 系统工作原理 作业执行前预先将程序和数据输入到输入井中 作业运行后使用数据时从输入井中取出 作业执行不必直接启动外设输出数据只需将这些数据写入输出井中 作业全部运行完毕再由外设输出全部数据和信息。 4. SPOOLing系统的特点 (1)提高了I/O的速度。从对低速I/O设备进行的I/O操作演变为对输入井或输出井中数据的存取提高了I/O速度缓和了CPU与低速I/O设备之间速度不匹配的矛盾。 (2)将独占设备改造为共享设备。在假脱机打印系统中实际上并没为任何进程分配设备而只是在输入井或输出井中为进程分配一个存储区和建立一张I/O请求表。 (3)实现了虚拟设备功能。宏观上虽然是多个进程在同时使用一台独占设备而对于每一个进程而言他们都会认为自己是独占了一个设备。当然该设备只是逻辑上的设备。 5.假脱机打印机系统 打印机为独占设备利用SPOOLing技术可将之改造为共享设备 用户请求打印时SPOOLing系统处理如下 由输出进程在输出井中为之申请一个空闲磁盘块区并将要打印的数据送入其中。输出进程再为用户进程申请一张空白的用户请求打印表并将用户的打印要求填入其中 再将该表挂到请求打印队列上。 主要有以下三部分(1) 磁盘缓冲区。(2) 打印缓冲区。(3) 假脱机管理进程和假脱机打印进程。 6.SPOOLing技术、守护进程网络文件传送 先把文件送到网络SPOOLing目录然后网络值班进程把它取出并传递到目标地址Internet电子邮件系统 为了寄邮调用电子邮件程序 待发信存在SPOOLing中供以后传输 将独占设备改造为共享设备时需要为这个设备配置一个守护进程和一个假脱机文件队列。守护进程是允许使用该独占设备的唯一进程。 7.7 缓冲区管理 缓冲区是一个存储区域可以由专门的硬件寄存器组成成本高容量小。一般情况下更多的是利用内存作为缓冲区缓冲区的管理就是组织管理好这些缓冲区。 7.7.1 缓冲的引入 数据到达速率与其离去速率不同缓和CPU与I/O设备间速度不匹配的矛盾。 减少对CPU的中断频率放宽对CPU中断响应时间的限制。 解决数据粒度不匹配问题提高CPU和I/O设备之间的并行性提高系统的吞吐量和设备的利用率。 7.7.2 单缓冲区和双缓冲区 单缓冲区(Single Buffer) 双缓冲区(Double Buffer) 为了加快输入和输出速度提高设备利用率引入双缓冲区缓冲对换。 两台机器间通信 7.7.3 环形缓冲区 1.环形缓冲区的引入 当输入与输出速度基本匹配时双缓冲能获得较好效果当速度相差较大时可引入多个大小相等缓冲组织成循环缓冲的形式 2.环形缓冲区的组成多个缓冲区 用于装输入数据的空缓冲区R 已装满数据的满缓冲区G 计算进程正在使用的现行工作缓冲区C多个指针 指示计算进程下一可用缓冲区Nextg 指示输入进程下一可用空缓冲区Nexti 指示计算进程正在使用的缓冲区Current 3.环形缓冲区的使用 Getbuf过程 为计算进程和输入进程提供缓冲区并移动指针 Releasebuf过程 当计算进程或输入使用完缓冲区后调用过程将缓冲区释放 4.进程同步——输入、计算进程并行 Nexti指针追赶上Nextg指针 输入进程速度大于计算进程全部空缓冲区已满无可用缓冲区输入进程阻塞系统受计算限制 Nextg指针追赶上Nexti指针 计算进程速度大于输入进程全部缓冲区空无可用数据计算 进程阻塞系统受I/O限制 7.7.4 缓冲池Buffer Pool 1.缓冲池的组成 专用缓冲的利用率不高与环形缓冲不同的是缓冲池中的缓冲区是系统的公用资源可供多个进程共享既能用于输入也能用于输出缓冲区仅仅是一组内存块的链表缓冲池则包含了一个管理的数据结构及一组操作函数的管理机制用于管理多个缓冲区。 2.缓冲区类型 空(闲)缓冲区 装满输入数据的缓冲区 装满输出数据的缓冲区 3.缓冲队列按其使用情况 空缓冲队列emq 输入队列inq 输出队列outq 4.缓冲池的组成 四种工作缓冲区 用于收容输入数据的工作缓冲区hin 用于提取输入数据的工作缓冲区sin 用于收容输出数据的工作缓冲区hout 用于提取输出数据的工作缓冲区sout 5.缓冲区操作过程 队列是临界资源 互斥信号量MS每个队列一个MS(type)使进程能互斥地访问缓冲池队列 资源信号量RS 每个队列一个RS(type) Getbuf(type)type队列类型  Putbuf(type,number)number缓冲区编号 Procedure Getbuf(type) beginWait(RS(type));Wait(MS(type));B(number):Takebuf(type); //从队首摘下一个缓冲区Signal(MS(type)); endProcedure Putbuf(type, number) beginWait(MS(type));Addbuf(type, number); //将指定缓冲区挂在type队列上Signal(MS(type));Signal(RS(type)); end 7.8 磁盘存储器的性能和调度 7.8.1 磁盘性能简述 1. 数据的组织和格式 磁盘存储器是计算机系统中最重要的存储设备在里面放了大量的文件。 磁盘设备可包括一或多个物理盘片每个磁盘片分一个或两个存储面。 每个磁盘面被组织成若干个同心环这种环称为磁道(Track))磁道之间留有必要的间隙(Gap) 。 为使处理简单起见在每条磁道上可存储相同数目的二进制位。显然内层磁道的密度较外层磁道的密度高。磁盘密度即每英寸中所存储的位数。每条磁道又被逻辑上划分成若干个扇区(Sectors)各扇区之间保留一定的间隙。 一个物理记录存储在一个扇区上磁盘上存储的物理记录块数目是由扇区数、磁道数以及磁盘面数所决定的。 例如一个10 GB容量的磁盘有8个双面可存储盘片共16个存储面每面有16383个磁道63个扇区。 2.磁盘访问时间 寻道时间磁头移动到指定磁道上所花的时间旋转延迟时间指定扇区移动到磁头下面所花的时间 传输时间把数据从磁盘中读出或者向磁盘写入数据所花的时间 寻道时间和旋转延迟时间与所读写的数据无关并且占了访问时间中的大部分。 7.8.2 早期的磁盘调度算法 当多个进程都要求访问磁盘时应采取一种调度算法使它们对磁盘的平均访问时间最小。由于访问磁盘时间中主要是寻道因此磁盘调度的目标是使磁盘的平均寻道时间最少。 1.先来先服务(FCFSFirst Come First Served) 最简单的磁盘调度算法。根据进程请求访问磁盘的先后次序进行调度。此算法的优点是公平、简单且每个进程的请求都能依次地得到处理不会出现某一进程的请求长期得不到满足的情况。但此算法由于未对寻道进行优化致使平均寻道时间可能较长。 仅适用于请求磁盘I/O的进程数目较少的场合。 2最短寻道时间优先(SSTFShortest Seek Time First) 该算法选择这样的进程其要求访问的磁道与当前磁头所在的磁道距离最近以使每次的寻道时间最短。但是这种算法不能保证平均寻道时间最短。 SSTF算法的平均每次磁头移动距离明显低于FCFS的距离因而SSTF较之FCFS有更好的寻道性能曾一度被广泛采用。 7.8.3 基于扫描的磁盘调度算法 1. 扫描(SCAN)算法 SSTF算法的实质是基于优先级的调度算法在对SSTF算法略加修改后所形成的SCAN算法则可防止低优先级进程出现“饥饿”现象。 该算法不仅考虑到欲访问的磁道与当前磁道间的距离更优先考虑的是磁头当前的移动方向。 例如当磁头正在自里向外移动时SCAN算法所考虑的下一个访问对象应是其欲访问的磁道既在当前磁道之外又是距离最近的。这样自里向外地访问直至再无更外的磁道需要访问时才将磁臂换向为自外向里移动。这时同样也是每次选择这样的进程来调度即要访问的磁道在当前位置内距离最近者这样磁头又逐步地从外向里移动直至再无更里面的磁道要访问。由于在这种算法中磁头移动的规律颇似电梯的运行因而又常称之为电梯调度算法。 2. 循环扫描(CSCAN)算法 SCAN也存在问题当磁头刚从里向外移动而越过了某一磁道时恰好又有一进程请求访问此磁道这时该进程必须等待待磁头继续从里向外然后再从外向里扫描完所有要访问的磁道后才处理该进程的请求致使该进程的请求被大大地推迟。 为了减少这种延迟CSCAN算法规定磁头单向移动例如只是自里向外移动当磁头移到最外的磁道并访问后磁头立即返回到最里的欲访问的磁道亦即将最小磁道号紧接着最大磁道号构成循环进行循环扫描。 SSTF、SCAN、CSCAN调度算法都可能会出现“磁臂粘着”现象即一个或几个进程反复请求对某一磁道的I/O操作从而垄断了整个磁盘设备。在高密度磁盘上容易出现此情况。 N步SCAN算法是将磁盘请求队列分成若干个长度为N的子队列磁盘调度将按FCFS算法依次处理这些子队列。而每处理一个队列时又是按SCAN算法对一个队列处理完后再处理其他队列。当正在处理某子队列时又出现新的磁盘I/O请求便将新请求进程放入其他队列这样就可避免出现粘着现象。 3.FSCAN算法 实质上是N步SCAN算法的简化。 FSCAN只将磁盘请求队列分成两个子队列。一个是由当前所有请求磁盘I/O的进程形成的队列由磁盘调度按SCAN算法进行处理。 在扫描期间将新出现的所有请求磁盘I/O的进程放入另一个等待处理的请求队列。这样所有的新请求都将被推迟到下一次扫描时处理。
http://www.sadfv.cn/news/67591/

相关文章:

  • 十大购物网站排名唐山建设工程信息网站
  • 网站原型设计流程定西市建设局官方网站
  • 做网站也分内存大小的吗沈阳企业网站
  • 义乌网站制作公司做消费网站流程
  • 互联网公司网站建设pptwordpress 商业网站
  • 可以做软文推广的网站加强农业网站建设
  • 温州给企业做网站写作网站5妙不写就删除
  • 网站建设术语 英文北京建站公司哪家好
  • 个人网站备案范围北京设计制作公司
  • 国外免费搭建网站石家庄酒店网站建设
  • 免费制作app生成器网站常州网站建设设计
  • 站酷网页版网站结构的规划
  • 大企业网站建设哪里好做网站哪家比较好
  • 3g 手机网站网易企业邮箱服务器怎么设置
  • 网站建设是广告吗桂林漓江船票官网订票
  • 如何自建设网站品牌型网站建设
  • 怎么替换网站金融行业高端网站制作
  • 知名网站欣赏西安网站建设开发公司
  • 做视频网站把视频放在哪里找自适应网站好建们
  • 石家庄网站系统开发天河门户网站建设公司
  • 百度网站上传WordPress采集中文永久免费版下载
  • 购物网站修改文案服务器怎么安装WordPress
  • 网站安全狗 服务名百度网络电话
  • 知名网站建设在哪里企业qq邮箱
  • 移动网站视频主持人网网站提供什么服务
  • 网站建设总费用php做网站优势
  • 邢台 网站建设个人网站免费服务器
  • 怎么做自己的导航网站东莞网站se
  • 现在做个企业网站一般多少钱哈尔滨网站优化方式
  • 房产网站建设网站推广北京网站建设公司哪家最好