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

做产品的往这看:国外工业设计网站大全!甘肃第九建设集团公司网站

做产品的往这看:国外工业设计网站大全!,甘肃第九建设集团公司网站,北京发生大事了,哪个网站做海报比较好主要是按照王道考研408的ppt进行复习。 概述 操作系统概览 操作系统#xff08;Operating System#xff0c; OS#xff09;是指控制和管理整个计算机系统的硬件和软件资源#xff0c;并合理地组织调度计算机的工作和资源的分配#xff1b;以提供给用户和其他软件方便的…主要是按照王道考研408的ppt进行复习。 概述 操作系统概览 操作系统Operating System OS是指控制和管理整个计算机系统的硬件和软件资源并合理地组织调度计算机的工作和资源的分配以提供给用户和其他软件方便的接口和环境它是计算机系统中最基本的系统软件。 操作系统的四大特征并发、共享、虚拟、异步。 并发指两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的但微观上是交替发生的。常考易混概念——并行指两个或多个事件在同一时刻同时发生。共享即资源共享是指系统中的资源可供内存中多个并发执行的进程共同使用。虚拟是指把一个物理上的实体变为若干个逻辑上的对应物。物理实体前者是实际存在的而逻辑上对应物后者是用户感受到的。异步是指在多道程序环境下允许多个程序并发执行但由于资源有限进程的执行不是一贯到底的而是走走停停以不可预知的速度向前推进这就是进程的异步性。 一个分布式系统是若干个独立的计算机的集合 但是对该系统的用户来说 感觉该系统就像一台计算机一样。 网络操作系统是伴随着计算机网络的发展而诞生的能把网络中各个计算机有机地结合起来实现数据传送等功能实现网络中各种资源的共享如文件共享和各台计算机之间的通信。如WindowsNT就是一种典型的网络操作系统网站服务器就可以使用 分布式操作系统主要特点是分布性和并行性。系统中的各台计算机地位相同任何工作都可以分布在这些计算机上由它们并行、协同完成这个任务。 个人计算机操作系统如WindowsXP、MacOS方便个人使用。 我们普通程序员写的程序就是“应用程序” 如加法指令、减法指令 微软、苹果有一帮人负责实现操作系统他们写的就是“内核程序” 如内存清零指令 CPU有两种状态“内核态”和“用户态” 处于内核态时说明此时正在运行的是内核程序此时可以执行特权指令 处于用户态时说明此时正在运行的是应用程序此时只能执行非特权指令 ①刚开机时CPU为“内核态”操作系统内核程序先上CPU运行 ②开机完成后用户可以启动某个应用程序 ③操作系统内核程序在合适的时候主动让出CPU让该应用程序上CPU运行 ④应用程序运行在“用户态” ⑤此时一位猥琐黑客在应用程序中植入了一条特权指令企图破坏系统… ⑥CPU发现接下来要执行的这条指令是特权指令但是自己又处于“用户态” ⑦这个非法事件会引发一个中断信号 ⑧“中断”使操作系统再次夺回CPU的控制权 ⑨操作系统会对引发中断的事件进行处理处理完了再把CPU使用权交给别的应用程序 切换 内核态→用户态执行一条特权指令——修改PSW的标志位为“用户态”这个动作意味着操作系统将主动让出CPU使用权 用户态→内核态由“中断”引发硬件自动完成变态过程触发中断信号意味着操作系统将强行夺回CPU的使用权 中断 CPU上会运行两种程序一种是操作系统内核程序一种是应用程序 在合适的情况下操作系统内核会把CPU的使用权主动让给应用程序第二章进程管理相关内容 “中断”是让操作系统内核夺回CPU使用权的唯一途径 中断分为内中断和外中断 “系统调用”是操作系统提供给应用程序程序员/编程人员使用的接口可以理解为一种可供应用程序调用的特殊函数应用程序可以通过系统调用来请求获得操作系统内核的服务 linux提供的系统调用如下 文件操作系统调用 open打开文件或创建新文件。read从文件中读取数据。write向文件中写入数据。close关闭文件。 进程管理系统调用 fork创建一个子进程。exec加载并执行一个新程序。wait等待子进程结束。exit终止当前进程。 网络通信系统调用 socket创建一个套接字。bind将套接字与地址绑定。listen监听来自其他进程的连接请求。accept接受来自其他进程的连接请求。 内存管理系统调用 brk调整进程的堆空间大小。mmap将文件映射到内存中。munmap解除内存映射。 信号处理系统调用 signal设置信号处理函数。kill向指定进程发送信号。sigaction设置信号处理动作。 管道和IPC系统调用 pipe创建一个管道。shmget创建或访问共享内存段。msgget创建或访问消息队列。 时间和定时器系统调用 gettimeofday获取当前时间和日期。alarm设置定时器经过指定时间后产生SIGALRM信号。sleep使当前进程挂起指定的时间。 进程管理 进程由PCB、程序段、数据段组成PCB是进程存在的唯一标志 进程是进程实体的运行过程是系统进行资源分配和调度的一个独立单位。 进程的五种状态、三种基本状态 语是一种特殊的程序它的执行具有原子性。也就是说这段程序的运行必须一气呵成不可中断 进程控制进程状态的转换 进程控制会导致进程状态的转换。无论哪个进程控制原语要做的无非三类事情 1.更新PCB中的信息 a.所有的进程控制原语一定都会修改进程状态标志 b.剥夺当前运行进程的CPU使用权必然需要保存其运行环境 c.某进程开始运行前必然要恢复期运行环境 2.将PCB插入合适的队列 3.分配/回收资源 进程通信 线程、多线程 可以把线程理解为“轻量级进程”。 线程是一个基本的CPU执行单元也是程序执行流的最小单位。引入线程之后不仅是进程之间可以并发进程内的各线程之间也可以并发从而进一步提升了系统的并发度使得一个进程内也可以并发处理各种任务如QQ视频、文字聊天、传文件引入线程后进程只作为除CPU之外的系统资源的分配单元如打印机、内存地址空间等都是分配给进程的。线程则作为处理机的分配单元。 线程有两种实现方式早期实现的方式是用户级线程后来实现的方式为内核级线程。 根据用户级线程和内核级线程的对应关系可以把多线程模型分为一对一模型、一对多模型、多对一模型 处理机调度 进程调度 临界资源一个时间段内只允许一个进程使用的资源。各进程需要互斥地访问临界资源。 临界区访问临界资源的那段代码。 内核程序临界区一般是用来访问某种内核数据结构的比如进程的就绪队列由各就绪进程的PCB组成 进程调度算法 非抢占式 当要求判断算法是否有利于cpu繁忙进程、io繁忙进程市记住cpu繁忙型进程接近于长进程io繁忙型进程接近短进程。 下表是先来先服务、短进程优先、高响应比优先算法的优缺点。其中响应比 (等待时间 服务时间) / 服务时间 进程调度算法 抢占式 优先级调度算法 根据优先级是否可以动态改变可将优先级分为静态优先级和动态优先级两种。 静态优先级创建进程时确定之后一直不变。 动态优先级创建进程时有一个初始值之后会根据情况动态地调整优先级。 操作系统更偏好 I/O型进程或称 I/O繁忙型进程如果优先让I/O繁忙型进程优先运行的话则越有可能让I/O设备尽早地投入工作则资源利用率、系统吞吐量都会得到提升。可以从追求公平、提升资源利用率等角度考虑 如果某进程在就绪队列中等待了很长时间则可以适当提升其优先级 如果某进程占用处理机运行了很长时间则可适当降低其优先级 如果发现一个进程频繁地进行I/O操作则可适当提升其优先级 多级反馈队列调度算法 是对其他调度算法的折中权衡 设置多级就绪队列各级队列优先级从高到低时间片从小到大新进程到达时先进入第1级队列按FCFS原则排队等待被分配时间片若用完时间片进程还未结束则进程进入下一级队列队尾。如果此时已经是在最下级的队列则重新放回该队列队尾只有第 k 级队列为空时才会为 k1 级队头的进程分配时间片用于进程调度是抢占式的算法。在 k 级队列的进程运行过程中若更上级的队列1~k-1级中进入了一个新进程则由于新进程处于优先级更高的队列中因此新进程会抢占处理机原来运行的进程放回 k 级队列队尾。 进程同步、互斥 对逻辑资源的互斥访问代码在逻辑上可以分为四个部分进入区、临界区、退出区、剩余区。先加锁然后访问临界资源然后去掉锁最后进行业务处理。 使用软件实现进程互斥细节暂时不学习 使用硬件实现进程互斥细节暂时不学习 信号量 进程互斥的四种软件实现方式单标志法、双标志先检查、双标志后检查、Peterson算法、进程互斥的三种硬件实现方式中断屏蔽方法、TS/TSL指令、Swap/XCHG指令存在着很严重的问题 在双标志先检查法中进入区的“检查”、“上锁” 操作无法一气呵成从而导致了两个进程有可能同时进入临界区的问题所有的解决方案都无法实现“让权等待” 用户进程可以通过使用操作系统提供的一对原语来对信号量进行操作从而很方便的实现了进程互斥、进程同步。 原语是一种特殊的程序段其执行只能一气呵成不可被中断。原语是由关中断/开中断指令实现的。 生产者消费者问题解决方案 mutex是控制缓存区的互斥访问对于所有的临界资源都要设置mutex互斥信号量 注意互斥mutex的P操作一定要在empty和full的P操作后面否则可能会引起死锁。 吃苹果问题 桌子上有一只盘子每次只能向其中放入一个水果。爸爸专向盘子中放苹果妈妈专向盘子中放橘子儿子专等着吃盘子中的橘子女儿专等着吃盘子中的苹果。只有盘子空时爸爸或妈妈才可向盘子中放一个水果。仅当盘子中有自己需要的水果时儿子或女儿可以从盘子中取出水果。 因为盘子最多只能装下一个水果所以即便没有互斥信号量四人对盘子的访问也一定是互斥的所以这里可以去掉mutex。 还有读者写者问题哲学家就餐问题都不是知识性的问题而是思维性的问题这里暂时不记录。 管程 管程是一种特殊的软件模块有这些部分组成 局部于管程的共享数据结构说明对该数据结构进行操作的一组过程对局部于管程的共享数据设置初始值的语句管程有一个名字。 管程的基本特征 局部于管程的数据只能被局部于管程的过程所访问一个进程只有通过调用管程内的过程才能进入管程访问共享数据每次仅允许一个进程在管程内执行某个内部过程。 死锁 死锁预防 破坏互斥条件把只能互斥使用的资源改造为允许共享使用。 但并不是所有的资源都可以改造成可共享使用的资源。并且为了系统安全很多地方还必须保护这种互斥性。因此很多时候都无法破坏互斥条件。 破坏不剥夺条件操作系统帮助进程剥夺资源。 实现起来比较复杂反复地申请和释放资源会增加系统开销降低系统吞吐量释放已获得的资源可能造成前一阶段工作的失效这种方法一般只适用于易保存和恢复状态的资源如CPU。 破坏请求和保持条件可以采用静态分配方法即进程在运行前一次申请完它所需要的全部资源在它的资源未满足前不让它投入运行。一旦投入运行后这些资源就一直归它所有该进程就不会再请求别的任何资源了。 有些资源可能只需要用很短的时间因此如果进程的整个运行期间都一直保持着所有资源就会造成严重的资源浪费资源利用率极低。另外该策略也有可能导致某些进程饥饿。 破坏循环等待条件存在一种进程资源的循环等待链链中的每一个进程已获得的资源同时被下一个进程所请求。可采用顺序资源分配法。首先给系统中的资源编号规定每个进程必须按编号递增的顺序请求资源同类资源即编号相同的资源一次申请完。 不方便增加新的设备因为可能需要重新分配所有的编号进程实际使用资源的顺序可能和编号递增顺序不一致会导致资源浪费必须按规定次序申请资源用户编程麻烦。 避免死锁 银行家算法 所谓安全序列就是指如果系统按照这种序列分配资源则每个进程都能顺利完成。只要能找出一个安全序列系统就是安全状态。 如果系统处于安全状态就一定不会发生死锁。如果系统进入不安全状态就可能发生死锁处于不安全状态未必就是发生了死锁但发生死锁时一定是在不安全状态 银行家算法核心思想在进程提出资源申请时先预判此次分配是否会导致系统进入不安全状态。如果会进入不安全状态就暂时不答应这次请求让该进程先阻塞等待。 检测、解除死锁 解除死锁的主要方法有 资源剥夺法。挂起暂时放到外存上某些死锁进程并抢占它的资源将这些资源分配给其他的死锁进程。但是应防止被挂起的进程长时间得不到资源而饥饿。撤销进程法或称终止进程法。强制撤销部分、甚至全部死锁进程并剥夺这些进程的资源。这种方式的优点是实现简单但所付出的代价可能会很大。因为有些进程可能已经运行了很长时间已经接近结束了一旦被终止可谓功亏一篑以后还得从头再来。进程回退法。让一个或多个死锁进程回退到足以避免死锁的地步。这就要求系统要记录进程的历史信息设置还原点。 内存管理 可以用覆盖和交换技术实现内存的扩充 连续分配管理方式 连续内存分配指一个进程的数据连续地存放在内存中 在单一连续分配方式中内存被分为系统区和用户区。系统区通常位于内存的低地址部分用于存放操作系统相关数据用户区用于存放用户进程相关数据。内存中只能有一道用户程序用户程序独占整个用户区空间。 优点实现简单无外部碎片可以采用覆盖技术扩充内存不一定需要采取内存保护eg早期的 PC 操作系统 MS-DOS。 缺点只能用于单用户、单任务的操作系统中有内部碎片存储器利用率极低。 在固定分区分配中将整个用户空间划分为若干个固定大小的分区在每个分区中只装入一道作业这样就形成了最早的、最简单的一种可运行多道程序的内存管理方式。分区大小可以采取相等或不相等。 操作系统需要建立一个数据结构——分区说明表来实现各个分区的分配与回收。每个表项对应一个分区通常按分区大小排列。每个表项包括对应分区的大小、起始地址、状态是否已分配。 优点实现简单无外部碎片。 缺点a. 当用户程序太大时可能所有的分区都不能满足需求此时不得不采用覆盖技术来解决但这又会降低性能b. 会产生内部碎片内存利用率低。 动态分区分配又称为可变分区分配。这种分配方式不会预先划分内存分区而是在进程装入内存时根据进程的大小动态地建立分区并使分区的大小正好适合进程的需要。因此系统分区的大小和数目是可变的。 动态分区分配算法 首次适应算法 算法思想每次都从低地址开始查找找到第一个能满足大小的空闲分区。 如何实现空闲分区以地址递增的次序排列。每次分配内存时顺序查找空闲分区链或空闲分区表找到大小能满足要求的第一个空闲分区。 邻近适应算法 算法思想首次适应算法每次都从链头开始查找的。这可能会导致低地址部分出现很多小的空闲分区而每次分配查找时都要经过这些分区因此也增加了查找的开销。如果每次都从上次查找结束的位置开始检索就能解决上述问题。 如何实现空闲分区以地址递增的顺序排列可排成一个循环链表。每次分配内存时从上次查找结束的位置开始查找空闲分区链或空闲分区表找到大小能满足要求的第一个空闲分区。 最坏适应算法 又称 最大适应算法Largest Fit 算法思想为了解决最佳适应算法的问题——即留下太多难以利用的小碎片可以在每次分配时优先使用最大的连续空闲区这样分配后剩余的空闲区就不会太小更方便使用。 如何实现空闲分区按容量递减次序链接。每次分配内存时顺序查找空闲分区链或空闲分区表找到大小能满足要求的第一个空闲分区 最佳适应算法 算法思想由于动态分区分配是一种连续分配方式为各进程分配的空间必须是连续的一整片区域。因此为了保证当“大进程”到来时能有连续的大片空间可以尽可能多地留下大片的空闲区即优先使用更小的空闲区。 如何实现空闲分区按容量递增次序链接。每次分配内存时顺序查找空闲分区链或空闲分区表找到大小能满足要求的第一个空闲分区。 非连续分配 基本分页管理 将内存空间分为一个个大小相等的分区比如每个分区4KB每个分区就是一个**“页框”页框页帧内存块物理块物理页面。每个页框有一个编号即“页框号”页框号页帧号内存块号物理块号物理页号页框号从0开始。 将进程的逻辑地址**空间也分为与页框大小相等的一个个部分每个部分称为一个“页”或“页面” 。每个页面也有一个编号即“页号”页号也是从0开始。 操作系统以页框为单位为各个进程分配内存空间。进程的每个页面分别放入一个页框中。也就是说进程的页面与内存的页框有一一对应的关系。 各个页面不必连续存放可以放到不相邻的各个页框中。注进程的最后一个页面可能没有一个页框那么大。也就是说分页存储有可能产生内部碎片因此页框不能太大否则可能产生过大的内部碎片造成浪费 为了能知道进程的每个页面在内存中存放的位置操作系统要为每个进程建立一张页表。注页表通常存在PCB进程控制块中。 逻辑地址到物理地址的转换 如果要访问逻辑地址 A则 ①确定逻辑地址A 对应的“页号”P ②找到P号页面在内存中的起始地址需要查页表 ③确定逻辑地址A 的“页内偏移量”W 逻辑地址A 对应的物理地址 P号页面在内存中的起始地址页内偏移量W 如何确定一个逻辑地址对应的页号、页内偏移量 页号 逻辑地址 / 页面长度 取除法的整数部分 页内偏移量 逻辑地址 % 页面长度取除法的余数部分 页面大小往往是2的k次幂。 如果每个页面大小为 2KB用二进制数表示逻辑地址则低 K 位即为页内偏移量其余部分就是页号。因此如果让每个页面的大小为 2 的整数幂计算机硬件就可以很方便地得出一个逻辑地址对应的页号和页内偏移量而无需进行除法运算从而提升了运行速度。 基本地址变换机构单级页表如下图所示使用快表和不使用快表的对比后如下表所示。 单级页表的问题因为页表项是连续存储的像数组一样所以我们需要把所有的页表项都放在内存中。根据局部性原理可知很多时候进程在一段时间内只需要访问某几个页面就可以正常运行了。因此没有必要让整个页表都常驻内存。 所以引入二级页表把页表再分页并离散存储然后再建立一张页表记录页表各个部分的存放位置称为页目录表或称外层页表或称顶层页表。可以在需要访问页面时才把页面调入内存虚拟存储技术。可以在页表项中增加一个标志位用于表示该页面是否已经调入内存 二级页表地址转换过程 ①按照地址结构将逻辑地址拆分成三部分 ②从PCB 中读出页目录表始址再根据一级页号查页目录表找到下一级页表在内存中的存放位置 ③根据二级页号查二级页表找到最终想访问的内存块号 ④结合页内偏移量得到物理地址 分段管理 分段和分页很类似有段号、段表的类似概念。 页是信息的物理单位。分页的主要目的是为了实现离散分配提高内存利用率。分页仅仅是系统管理上的需要完全是系统行为对用户是不可见的。 段是信息的逻辑单位。分段的主要目的是更好地满足用户需求。一个段通常包含着一组属于一个逻辑模块的信息。分段对用户是可见的用户编程时需要显式地给出段名。 页的大小固定且由系统决定。段的长度却不固定决定于用户编写的程序。 分页的用户进程地址空间是一维的程序员只需给出一个记忆符即可表示一个地址。 分段的用户进程地址空间是二维的程序员在标识一个地址时既要给出段名也要给出段内地址。 分段比分页更容易实现信息的共享和保护。因为进程数据的长度往往是不固定的所以使用页表很难实现访问权限控制但使用段表的话可以把一个进程的所有数据装入一个段中这样就比较容易实现权限控制。 段页式管理 虚拟存储 请求分页管理 请求分页存储管理与基本分页存储管理的主要区别 在程序执行过程中当所访问的信息不在内存时由操作系统负责将所需信息从外存调入内存然后继续执行程序。 若内存空间不够由操作系统负责将内存中暂时用不到的信息换出到外存。 在请求分页系统中每当要访问的页面不在内存时便产生一个缺页中断然后由操作系统的缺页中断处理程序处理中断。 此时缺页的进程阻塞放入阻塞队列调页完成后再将其唤醒放回就绪队列。如果内存中有空闲块则为进程分配一个空闲块将所缺页面装入该块并修改页表中相应的页表项。 如果内存中没有空闲块则由页面置换算法选择一个页面淘汰若该页面在内存期间被修改过则要将其写回外存。未修改过的页面不用写回外存。 缺页中断是因为当前执行的指令想要访问的目标页面未调入内存而产生的因此属于内中断一条指令在执行期间可能产生多次缺页中断。 页面置换算法 最佳置换算法OPTOptimal每次选择淘汰的页面将是以后永不使用或者在最长时间内不再被访问的页面这样可以保证最低的缺页率。 最佳置换算法可以保证最低的缺页率但实际上只有在进程执行的过程中才能知道接下来会访问到的是哪个页面。操作系统无法ᨀ前预判页面访问序列。因此最佳置换算法是无法实现的。 先进先出置换算法FIFO每次选择淘汰的页面是最早进入内存的页面 最近最久未使用置换算法LRUleast recently used每次淘汰的页面是最近最久未使用的页面实现方法赋予每个页面对应的页表项中用访问字段记录该页面自上次被访问以来所经历的时间t。当需要淘汰一个页面时选择现有页面中 t 值最大的即最近最久未使用的页面。 时钟置换算法是一种性能和开销较均衡的算法又称CLOCK算法或最近未用算法NRUNotRecently Used 简单的CLOCK 算法实现方法为每个页面设置一个访问位再将内存中的页面都通过链接指针链接成一个循环队列。当某页被访问时其访问位置为1。当需要淘汰一个页面时只需检查页的访问位。如果是0就选择该页换出如果是1则将它置为0暂不换出继续检查下一个页面若第一轮扫᧿中所有页面都是1则将这些页面的访问位依次置为0后再进行第二轮扫描第二轮扫描中一定会有访问位为0的页面因此简单的CLOCK 算法选择一个淘汰页面最多会经过两轮扫描 文件管理 文件的逻辑结构 文件的逻辑结构可分为有结构文件和无结构文件有结构文件如下图所示可以细分为三类无结构文件指二进制流文件无明显结构比如txt 文件目录 文件的物理结构分配方式 连续结构、链接结构、索引结构 文件的基本操作 文件存储空间管理 文件共享 多个用户共享同一个文件意味着系统中只有“一份”文件数据。并且只要某个用户修改了该文件的数据其他用户也可以看到文件数据的变化。而不是说多个用户每个人把文件复制了一份。 索引结点是一种文件目录瘦身策略。由于检索文件时只需用到文件名因此可以将除了文件名之外的其他信息放到索引结点中。这样目录项就只需要包含文件名、索引结点指针。 文件保护 文件系统的层次结构 磁盘 磁盘调度算法 一次磁盘读/写操作需要的时间 寻找时间寻道时间TS在读/写数据前将磁头移动到指定磁道所花的时间。 ①启动磁头臂是需要时间的。假设耗时为 s ②移动磁头也是需要时间的。假设磁头匀速移动每跨越一个磁道耗时为 m总共需要跨越 n 条磁道。则寻道时间 TS s m*n延迟时间TR通过旋转磁盘使磁头定位到目标扇区所需要的时间。设磁盘转速为 r 单位转/秒或 转/分则平均所需的延迟时间 TR (1/2)*(1/r) 1/2r传输时间Tt从磁盘读出或向磁盘写入数据所经历的时间假设磁盘转速为 r此次读/写的字节数为 b每个磁道上的字节数为 N。则传输时间Tt (1/r) * (b/N) b/(rN) 先来先服务算法FCFS根据进程请求访问磁盘的先后顺序进行调度。 最短寻找时间优先SSTFSSTF 算法会优先处理的磁道是与当前磁头最近的磁道。可以保证每次的寻道时间最短但是并不能保证总的寻道时间最短。其实就是贪心算法的思想只是选择眼前最优但是总体未必最优 扫描算法SCAN在SSTF的基础上为了防止饥饿问题规定只有磁头移动到最外侧磁道的时候才能往内移动移动到最内侧磁道的时候才能往外移动。这就是扫描算法SCAN的思想。由于磁头移动的方式很像电梯因此也叫电梯算法。 循环扫描算法C-SCAN在SCAN算法的基础上规定只有磁头朝某个特定方向移动时才处理磁道访问请求而返回时直接快速移动至起始端而不处理任何请求。 LOOK 调度算法在SCAN的基础上规定如果在磁头移动方向上已经没有别的请求就可以立即改变磁头移动方向。 C-LOOK 调度算法在C-SCAN基础上规定如果磁头移动的方向上已经没有磁道访问请求了就可以立即让磁头返回并且磁头只需要返回到有磁道访问请求的位置即可 减少延迟时间TR的方法、磁盘管理 IO管理 IO控制器 CPU无法直接控制I/O设备的机械部件因此I/O设备还要有一个电子部件作为CPU和I/O设备机械部件之间的“中介”用于实现CPU对设备的控制。 这个电子部件就是I/O控制器又称设备控制器。CPU可控制I/O控制器又由I/O控制器来控制设备的机械部件 IO控制方式 IO软件层次结构 设备独立性也称为设备无关性设备独立性软件负责实现与设备驱动器的统一接口、设备命名、设备的保护以及设备的分配与释放等同时为设备管理和数据传送提供必要的存储空间。 假脱机技术SPOOLing技术 引入脱机技术后缓解了CPU与慢速I/O设备的速度矛盾。另一方面即使CPU在忙碌也可以提前将数据输入到磁带即使慢速的输出设备正在忙碌也可以提前将数据输出到磁带。 在外围控制机的控制下慢速输入设备的数据先被输入到更快速的磁带上。之后主机可以从快速的磁带上读入数据从而缓解了速度矛盾 “假脱机技术”又称“SPOOLing 技术”是用软件的方式模拟脱机技术。 SPOOLing 系统的组成如下 要实现SPOOLing 技术必须要有多道程序技术的支持。系统会建立 “输入进程”和 “输出进程”。 在输入进程的控制下“输入缓冲区”用于暂存从输入设备输入的数据之后再转存到输入井中。 在输出进程的控制下“输出缓冲区”用于暂存从输出井送来的数据之后再传送到输出设备上 独占式设备——只允许各个进程串行使用的设备。一段时间内只能满足一个进程的请求。 共享设备——允许多个进程“同时”使用的设备宏观上同时使用微观上可能是交替使用。可以同时满足多个进程的使用请求。 打印机是种“独占式设备”但是可以用SPOOLing 技术改造成“共享设备”。 当多个用户进程提出输出打印的请求时系统会答应它们的请求但是并不是真正把打印机分配给他们而是由假脱机管理进程为每个进程做两件事 1在磁盘输出井中为进程申请一个空闲缓冲区也就是说这个缓冲区是在磁盘上的并将要打印的数据送入其中 2为用户进程申请一张空白的打印请求表并将用户的打印请求填入表中其实就是用来说明用户的打印数据存放位置等信息的再将该表挂到假脱机文件队列上。当打印机空闲时输出进程会从文件队列的队头取出一张打印请求表并根据表中的要求将要打印的数据从输出井传送到输出缓冲区再输出到打印机进行打印。用这种方式可依次处理完全部的打印任务 设备的分配与回收 设备的固有属性可分为三种独占设备、共享设备、虚拟设备。 独占设备——一个时段只能分配给一个进程如打印机 共享设备——可同时分配给多个进程使用如磁盘各进程往往是宏观上同时共享使用设备而微观上交替使用。 虚拟设备——采用 SPOOLing 技术将独占设备改造成虚拟的共享设备可同时分配给多个进程使用如采用 SPOOLing 技术实现的共享打印机 安全分配方式为进程分配一个设备后就将进程阻塞本次I/O完成后才将进程唤醒。 不安全分配方式进程发出I/O请求后系统为其分配I/O设备进程可继续执行之后还可以发出新的I/O请求。只有某个I/O请求得不到满足时才将进程阻塞。 缓冲区管理 缓冲区是一个存储区域可以由专门的硬件寄存器组成也可利用内存作为缓冲区。 假设某用户进程请求某种块设备读入若干块的数据。若采用单缓冲的策略操作系统会在主存中为其分配一个缓冲区若题目中没有特别说明一个缓冲区的大小就是一个块。 注意当缓冲区数据非空时不能往缓冲区冲入数据只能从缓冲区把数据传出当缓冲区为空时可以往缓冲区冲入数据但必须把缓冲区充满以后才能从缓冲区把数据传出。 假设某用户进程请求某种块设备读入若干块的数据。若采用双缓冲的策略操作系统会在主存中为其分配两个缓冲区若题目中没有特别说明一个缓冲区的大小就是一个块 缓冲池由系统中共用的缓冲区组成。这些缓冲区按使用状况可以分为空缓冲队列、装满输入数据的缓冲队列输入队列、装满输出数据的缓冲队列输出队列
http://www.huolong8.cn/news/385543/

相关文章:

  • 南开网站建设公司安卓程序开发用什么语言
  • joomla建站教程一站式服务平台入口
  • 沥林网站制作展示照片的网站
  • 南京明月建设集团网站网站 前置审批
  • 电子政务网站开发wordpress文章自动添加超链接
  • 创造与魔法官网站_一起做喜欢的事东莞软件设计
  • 制作网站的原因wordpress支持多域名
  • 网站建设背景怎么写企业网站开发外包
  • 贵州省城乡建设厅网站首页wordpress 主题 pdf
  • 网站建设人员的工资分配公司logo设计图片免费
  • 中山cp网站建设wordpress公众号登陆
  • 网站设计哪家公司好怎样搭建属于自己的网站
  • 网站维护简单吗贵州黔东南双控体系建设网站
  • 怎样低成本做网站推广品牌网站建设服务
  • 网站的运作流程电子元器件网站怎么做
  • 网站策划编辑的工作内容波兰网站后缀
  • 东莞金融网站建设做网站选择虚拟主机好是服务器
  • 体育健身网站建设新平台推广赚钱
  • 小说网站建设方案北京企业网站seo
  • 成都建设网站设计网站制作费用要多少钱
  • 了解公司的网站正能量网站免费下载
  • 重庆网站推广方法大全福建seo快速排名优化
  • 网页制作价格表多少关键词排名优化软件
  • 建设工程网站有哪些小程序推广计划怎么做
  • 用wordpress做微站定制开发公司
  • 东莞市研发网站建设品牌全景旅游网站建设
  • 网站制作主题思路wordpress只能通过本机登录
  • asp网站打开很慢的原因定制公交app
  • 在印尼用哪个网站做电商ie域名
  • 石家庄做网站电话网站建设的技术风险分析与规避