操作系统
光怪陆离的节日
祝生活愉快!!
展开
-
调度算法-时间片轮转
时间片轮转RR进程调度算法1.基本概念在轮转(RR)法中,系统将所有的就绪进程按FCFS策略排成一个就绪队列。系统可设置每隔一定时间(如30 ms)便产生一次中断,去激活进程调度程序进行调度,把CPU分配给队首进程,并令其执行一个时间片。当它运行完毕后,又把处理机分配给就绪队列中新的队首进程,也让它执行一个时间片。在RR调度算法中,应在何时进行进程的切换,可分为两种情况:① 若一个时间片尚未用完,正在运行的进程便已经完成,就立即激活调度程序,将它从就绪队列中删除,再调度就绪队列中队首的进程运行,并启动原创 2022-06-13 15:44:07 · 4414 阅读 · 1 评论 -
63SPOOLing假脱机技术
为了缓和CPU的高速性与IO设备低速性之间的矛盾引入了输入/输出技术。该技术是专门利用外围控制机,将低速IO设备上的数据传送到高速磁盘上;或者相反。SPOOLing的意思使外部设备同时连接操作,又称为假脱机输入输出操作,是操作系统中采用的一项将独占设备改造成共享设备的技术。SPOOLing系统组成如下所示。1、 输入井和输出井在磁盘上开辟出的两个存储区域。输入井模拟脱机输入时的磁盘,用于收容IO设备的输入数据。输出井模拟脱机输出时的磁盘,用于收容用户程序的输出数据。2、 输入缓冲区和输出缓冲区在内原创 2021-05-20 08:18:14 · 193 阅读 · 0 评论 -
62设备分配与回收
1、 设备分配概述设备分配是指根据用户的IO请求分配所需的设备。分配的总原则是充分发挥设备的使用效率,尽可能地让设备忙碌,又要避免由于不合理的分配方法造成进程死锁。从设备的特性上看,采用下述三种方法:独占设备、共享设备和虚拟设备:(1) 独占式使用设备:指在申请设备时,如果设备空闲,就将其独占,不在允许其他进程申请使用,一直等到该设备被释放才允许其他进程申请使用。如打印机。(2) 分时式共享使用设备。独占式使用设备时,设备利用率很低,当设备没有独占使用的要求时,可以通过分师共享使用提高利用率。例如,对原创 2021-05-20 08:15:24 · 941 阅读 · 0 评论 -
61磁盘高速缓存
1、 磁盘高速缓存(Disk Cache)操作系统中使用磁盘高速缓存技术来提高磁盘的IO速度,对高速缓存复制的访问要比原始数据访问更高效。例如正在运行的进程的指令即存储在磁盘上,也存储在物理内存上,也被复制到CPU的二级和一级高速缓存中。不过磁盘高速缓存技术不同于通常意义下的介于CPU与内存之间的小容量高速存储器,而是利用内存的存储空间来暂存从磁盘读出的一些了盘块中的信息。因此,磁盘高速缓存在逻辑上属于磁盘,在物理上则是驻留在内存中的盘块。高速缓存在内存中分为两种形式:一种是在内存中开辟一个单独的存储原创 2021-05-20 08:10:35 · 4013 阅读 · 0 评论 -
60IO子系统概述
1、 IO子系统概述由于IO设备种类繁多,功能和传输速率差异巨大,需要多种方法进行设备控制。这些方法共同组成了操作系统的内核IO子系统。它将北河的其他方面从繁重的IO设备管理中释放出来。IO核心子系统提供的服务主要有:IO调度、缓存和高速缓存、设备分配与回收、假脱机、设备保护和差错控制。2、 IO调度的概念IO调度就是确定好一个顺序来执行这些IO请求。应用程序所发布的系统调用的顺序不一定总是最佳选择,所以需要IO调度来改善系统整体性能,使进程之间公平地共享设备访问,减少IO完成所需要的平均等待花四溅。原创 2021-05-20 08:07:40 · 698 阅读 · 0 评论 -
59IO子系统层次结构
IO子系统的层次结构IO软件涉及的面非常广,往下与硬件有密切关系,晚上又与用户直接交互,它与进程管理、存储器管理、文件管理等都存在一定的联系,即他们都可能需要IO软件来实现IO操作。为了使复杂的IO软件具有清晰的结构,良好的可移植性和适应性,在IO软件中普遍采用了层次式结构,将系统输入\输出功能组织成一系列的层次,每一层都利用其下层提供的服务,完成输入\输出功能中的某些子功能。一个比较合理的层次划分如下图所示。整个IO系统可以看成具有四个层次的系统结构,各层次及其功能如下:(1) 用户层I/O软件原创 2021-05-20 08:05:49 · 2973 阅读 · 1 评论 -
58IO控制方式
I/O控制方式设备管理的主要任务之一就是控制花少北和内存或处理机之间的数据传送。外围设备和内存之间的输入/输出控制方式有四种:1、 程序直接控制方式计算机从外部设备读取数据到存储器,每次读一个字的数据。对读入的每个字,CPU需要对外设状态进行循环检查,直到确定该字已经在IP控制的数据寄存器中。在程序直接控制方式中,由于CPU的高速性和IO设备的低速性,致使CPU的绝大部分时间都处于等待IO设备完成数据IO的循环测试中,造成了CPU资源的极大浪费。在该方式汇总,CPU之所以要不断地测试IO设备的状态,就原创 2021-05-19 09:08:15 · 178 阅读 · 1 评论 -
57IO管理概述
1、 IO设备IO设备管理是操作系统设计中最凌乱也最具挑战性的部分。由于它包含了很多领域的不同设备以及设备相关的应用程序,因此很难有一个通用且一致的方案。所以在理解设备管理之前,应该先了解具体的I/O设备类型。计算机系统中的I/O设备按使用特性可分为以下类型(1) 人机交互类外部设备:用于与计算机用户之间交互的设备,如打印机、显示器、鼠标、键盘。这类设备数据交换速度相对较慢,通常是以字节为单位进行数据交换的。(2) 存储设备:用于存储程序和数据的设备,如磁盘、磁带、光盘等。这类设备用于数据交换。速度原创 2021-05-19 09:05:00 · 146 阅读 · 0 评论 -
56磁盘管理
磁盘的管理1、 磁盘初始化2、 引导块3、 坏块原创 2021-05-19 09:01:25 · 96 阅读 · 0 评论 -
55常用磁盘调度算法
(1) 先来先服务(First Come First Served,FCFS)算法FCFS算法根据进程请求访问磁盘的休后顺序进行调度,这是一种最简单的调度算法,如下所示。该算法具有公平性。如果只有少量进程需要访问,且大部分请求都是访问族聚的文件扇区,则有较好的性能。如果有大量进程竞争使用磁盘,那么这种算法在性能上往往接近于随机调度。随意实际磁盘调度汇总考虑一些更为复杂的调度算法。(2)最短寻找时间优先(Shortest Seek TimeFirst ,SSTF)算法...原创 2021-05-19 08:59:07 · 266 阅读 · 0 评论 -
54磁盘调度算法
磁盘调度算法:一次磁盘读写操作的时间由寻找时间、延迟时间和传输时间决定:(1) 寻找时间Ts:活动头磁盘在读写信息前,将磁头移动到指定磁道所需要的时间。这个时间除跨越n条磁道的时间外,还包括启动磁臂的时间s,即(2) 延迟时间Tr:磁头定位到某一个磁道的扇形区所需要的时间,设磁盘的旋转速度为r,则(3) 传输时间Tt:从磁盘读出或向磁盘写入数据所经历的时间,这个时间取决于每次的字节数b和磁盘的旋转速度:...原创 2021-05-19 08:56:21 · 245 阅读 · 0 评论 -
53磁盘组织与管理
1、 磁盘的结构:磁盘时由表面涂有磁性物质的金属或塑料构成的圆形盘片,通过一个称为磁头的导体线圈从磁盘中存取数据。在读/写操作期间,磁盘在下面高速旋转。原创 2021-05-19 08:52:51 · 100 阅读 · 0 评论 -
52文件的实现
文件实现:文件实现实际就是研究文件的物理结构,即文件数据在物理存储设备上是如何分布及组织起来的。同一问题有两个方面的回答,一是文件的分配方式,讲的是对磁盘非空闲块的管理,第二个是文件存储空间管理,讲的数对磁盘空闲块的管理1、 文件分配方式:常用的磁盘空间分配方法有三种:连续分配、链接分配和索引分配。(1)连续分配:连续分配方法要求每个文件在磁盘上占有一组连续的块,磁盘地址定义了磁盘上的一个线性排序。这种排序使作业访问磁盘时需要的寻道数和寻道时间最小。(2)链接分配:链接分配是采取离散分配的方式,原创 2021-05-19 08:49:18 · 254 阅读 · 0 评论 -
51文件目录的实现
目录的实现:目录实现的基本方法有线性列表和哈希表两种,要注意目录的实现就是为了查找,因此线性列表实现对应线性查找、哈希表实现对应散列查找1、 线性列表2、 哈希表原创 2021-05-19 08:45:44 · 314 阅读 · 0 评论 -
50文件系统的层次结构
文件系统层次结构:现代操作系统有多种文件系统类型(如FAT32、NTFS、ext2等),因此文件系统的层次结构也不尽相同。如下为较合理的层次结构1、 用户调用接口2、文件目录系统原创 2021-05-19 08:42:42 · 1071 阅读 · 0 评论 -
49文件保护原理
文件保护:文件保护通过口令保护、加密保护和访问控制等方式实现。其中,口令保护和加密保护和访问控制等方式实现。其中,口令保护和加密保护是为了防止用户文件被他人存取或窃取,而访问控制则用于控制用户对文件的访问方式。1、 访问类型:2、 访问控制...原创 2021-05-19 08:40:10 · 338 阅读 · 0 评论 -
48文件共享
现在常用的两种文件共享方法有:1、 基于索引结点的共享方式(硬链接)在这里插入图片描述2、利用符号链实现文件共享(软链接)原创 2021-05-18 08:34:36 · 114 阅读 · 0 评论 -
47文件目录结构
文件的目录结构:与文件管理系统和文件集合相关联的是文件目录,它包含有关文件的信息,包括属性、位置和所有权等,这些信息主要由操作系统进行管理。1、 文件控制块和索引结点:与进程管理一样,为实现目录管理,操作系统中引入了文件控制块的数据结构。2、 索引结点。在检索目录文件的过程中,只用到了文件名,仅当找到一个目录项时,才需要从该目录项中读出该文件的物理地址。也就是说,在检索目录时,文件的其他描述信息不回用到页不需要调入内存。3、 目录结构...原创 2021-05-18 08:32:35 · 269 阅读 · 0 评论 -
46文件的逻辑结构
文件的逻辑结构:文件的逻辑结构是从用户观点出发看到的文件的组织形式。文件的物理结构是从实现观点出发,又称为文件的存储结构,是指文件在外存的存储组织形式。文件的逻辑结构与存储介质特性无关,但文件的物理结构与存储介质的特性有很大关系。文件的逻辑结构实际上讲的就是文件的内部,逻辑上数据时如何组织起来的。按逻辑结构,文件有无结构和有结构文件两种类型:1、 无结构文件(流式文件)无结构文件时最简单的文件组织形式。无结构文件将数据按顺序组织成记录并积累保存,它是有序相关信息项的集合,以字节(Byte)为单位。但由原创 2021-05-18 08:28:53 · 566 阅读 · 0 评论 -
45文件的概念
1、 文件的定义:在系统运行时,计算机以进程为基本单位进行资源的调度和分配;而在用户进行的输入输出中,则以文件为基本单位。用户通过文件系统建立文件,提供应用程序的输入、输出,对资源进行管理。首先了解文件的结构,我们通过自底向上的方式来定义。(1) 数据项:数据项是文件系统中最低级的数据组织形式,可分为以下两种类型:基本数据项:用于描述一个对象的某种属性的一个值,如姓名、日期或证件号等,是数据中可命名的最小逻辑数据单位,即原子数据。组合数据项:由多个基本数据项组成(2) 记录。记录是一组相关的数据项的原创 2021-01-30 19:10:29 · 301 阅读 · 0 评论 -
44地址翻译
地址翻译:设某系统满足以下条件1、 有一个TLB与一个data Cache2、 存储器以字节为编址单位3、 虚地址14位4、 物理地址12位5、 页面大小为64字节6、 TLB为四路组相联,共有16个条目7、 Data Cache是物理寻址、直接映射的,行大小为4字节,总共有16个组写出访问地址为0x03d4、0x00f1和0x0229的过程...原创 2021-01-28 18:33:21 · 157 阅读 · 0 评论 -
43抖动和工作集
1、抖动页面置换过程中最糟糕的情形是,页面刚进入内存又要换出,这种频繁的页面调度成称为抖动,或颠婆。如果在一个进程中换页上用的时间多于执行时间,那么这个进程就在颠婆抖动的主要原因是某个进程频繁访问的页面数高于可用的物理页帧数目。虚拟内存可以在内存汇总保留更多的进程以提高系统效率,在稳定状态,几乎主存的所有空间都被进程块占据,处理机和操作系统可以直接访问到尽可能多的进程。但如果管理不当,处理机的大部分时间都将用于交换块,即请求调入页面的操作而不是执行进程的指令,这就会大大降低系统效率。2、工作集.原创 2021-01-28 14:53:24 · 175 阅读 · 0 评论 -
42页面分配策略
页面分配策略:1、 驻留集大小:对于分页式的虚拟内存,在准备执行时,不需要也不可能把一个进程的所有页都读取到主存,因此,操作系统必须决定读取多少页。也就是说,给特定的进程分配多大的主存空间,需要考虑一下几点:(1) 分配给一个进程的存储量越小,在任何时候驻留在主存中的进程数就越多,从而可以提高处理机的时间利用效率(2) 如果一个进程在主存中的页数过少,尽管有局部性原理,也错误率仍然会相对较高(3) 如果页数过多,由于局部性原理,给特定的进程分配更多主存空间对该进程的错误率没有明显影响基于这些因素,原创 2021-01-28 14:32:01 · 315 阅读 · 2 评论 -
41页面置换算法
页面置换算法:进程运行时,若其访问的页面不在内存中而需将其调入,但内存已经无空闲空间时,就需要从内存中调出一页程序或数据,送入磁盘的对换区而选择调出页面的算法就称为页面置换算法。好的页面置换算法应有较低的页面更换频率,也就是说,应将以后不会再访问的或者较长时间内不会再访问的页面先调出。常见的置换算法有以下四种1、 最佳置换算法(OPT)最佳(Optimal,OPT)置换所选择的被淘汰页面将是以后永不使用的,或者是在最长时间内不再被访问的页面,这样可以保证获得最低的缺页率。但由于目前无法预知进程在内存原创 2021-01-28 13:58:39 · 99 阅读 · 0 评论 -
40请求分页管理方式
请求分页管理方式:请求分页系统建立在基本分页系统基础之上,为了支持虚拟存储器功能而增加了请求调页功能和页面置换功能。请求分页是目前最常用的一种实现虚拟存储器的方法在请求分页系统中,只要求将当前需要的一部分页面装入内存,便可以启动作业运行。在作业执行过程中,当所要访问的页面不在内存时,再通过调页功能将其调入,同时还可以通过置换功能将暂时不用的页面换出到外存上,以便腾出内存空间。1、 页表机制请求分页系统的页表机制不同于基本分页系统,请求分页系统在一个作业运行之前不要求全部一次性装入内存,因此在作业的运行原创 2021-01-27 09:45:18 · 962 阅读 · 0 评论 -
39虚拟内存的基本概念
虚拟内存的基本概念1、 传统存储管理方式的特征:(1) 一次性:作业必须一次性装入内存后,方能运行。这就导致两种情况的发生:当作业很大不能全部装入内存时,作业将无法运行、大量作业运行时,由于内存不足以容纳所有作业,只能使少数作业先运行,导致多道程序度的下降。(2) 驻留性:作业被装入内存后,就一直驻留在内存中,其任何部分都不会被换出,直至作业运行结束。运行中的进程,会因为等待I/O而被阻塞,可能处于长期等待状态。2、 局部性原理:3、 虚拟存储器的定义和特征基于局部性原理,在程序装入时,可以将原创 2021-01-27 08:28:44 · 201 阅读 · 0 评论 -
38段页式管理方式
段页式管理方式:页式存储管理能有效地提高内存利用率,而分段存储管理能反映程序的逻辑结构并有利于段的共享。如果将两种内存管理方法结合,就形成了段页式存储管理方式。在段页式系统中,作业的地址空间首先被分成若干个逻辑段,每个段都有自己的段号,然后再将每一段分成若干个大小固定的页。对内存的管理仍然和分页存储管理一样,将其分成若干个和页面大小相同的存储块,对内存的分配以存储块为单位,如下:...原创 2021-01-23 08:44:58 · 178 阅读 · 0 评论 -
37基本分段管理方式
基本分段存储管理方式:分页管理方式是从计算机的角度上考虑设计的,以提高内存的利用率,提高计算机的性能,且分页通过硬件机制实现,对用户完全透明;而分段管理方式的提出则是考虑了用户和程序员,以满足方便编程、信息保护和共享、动态增长及动态链接等多方面的需要。(1) 分段。段式管理方式按照用户进程中的自然段划分逻辑空间。例如,用户进程由主程序、两个子程序、栈和一段数据组成,于是可以把这个用户进程划分为5个段,每个段从0开始编址,并分配一段连续的地址空间(段内要求连续,段间不要求连续,因此整个作业的地址空间是二维的原创 2021-01-23 08:36:37 · 1618 阅读 · 0 评论 -
36非连续分配管理方式
非连续分配管理方式:允许一个程序分散地装入到不相邻的内存分区中。非连续分配管理方式根据分区的大小是否固定分为分页存储管理方式和分段存储管理方式。分页存储管理方式中,又根据运行作业时是否把作业的所有页面都装入内存才能运行分为基本分页存储管理方式和请求分页存储管理方式。1、 基本分页存储管理方式:(3)具有快表的地址变换机构...原创 2021-01-21 10:57:14 · 125 阅读 · 0 评论 -
35动态分区分配
1、动态分区分配:动态分区分配是一种动态划分内存的分区方法。这种分区方法不预先将内存划分,而是在进程装入内存时,根据进程的大小动态地建立分区,并使分区的大小正好合适进程的需要。因此系统中分区的大小和数目是可变的。2、动态分区的分配策略,有以下几种算法2.1首次适应算法(First Fit)算法:空闲分区以地址递增的次序链接,分配内存时顺序查找,找到大小能满足要求的第一个空闲分区。2.2最佳适应算法(Best Fit):空闲分区按容量递增形成分区链,找到第一个能满足要求的空闲分区。2.3最坏适应算原创 2021-01-21 10:53:08 · 1395 阅读 · 0 评论 -
34内存连续分配管理方式
连续分配管理方式:连续分配方式,是指为一个用户程序分配一个连续的内存空间,主要包括单一连续分配、固定分区分配和动态分区分配。1、 单一连续分配内存在此方式下分为系统区和用户区,系统区仅提供给操作系统用,通常在低地址部分;用户区是为用户提供的、除系统区之外的内存空间。这种方式无需进行内存保护。因为内存中永远只有一道程序。这种方式优点是简单、无外部碎片,可采用覆盖技术,不需要额外技术支持。缺点是只能用于单用户、单任务的操作系统中,有内部碎片,存储器的利用率极低。2、 固定分区分配:一种多道程序存储管理方式原创 2021-01-21 10:49:12 · 321 阅读 · 0 评论 -
33覆盖与交换
覆盖与交换:覆盖与交换技术是在多道程序环境下用来扩充内存的两种方法1、 覆盖:由于程序运行时并非任何时候都要访问程序及数据的各个部分,因此可以把用户空间分成一个固定区和若干个覆盖区。将活跃的部分放在固定区,其余部分按调用关系分段。首先将那些即将要访问的段放入覆盖区,其他段放在外存中,需要调用前,系统再将其调入覆盖区,替换覆盖区原有的段。2、 交换:把处于等待状态的程序的程序从内存移到辅存,把空间腾出来。把准备好竞争CPU运行的程序从辅存移到内存,这一过程称为换入。中级调度就是采用交换技术。...原创 2021-01-19 16:42:19 · 168 阅读 · 1 评论 -
32内存保护
内存保护:内存分配前,需要保护操作系统不受用户进程的影响,同时保护用户进程不受其他用户进程的影响。内存保护可采用两种方法1:在CPU中设置一对上、下限寄存器,存放用户作业在主存中的下限和上限地址,每当CPU要访问一个地址时,分别和两个寄存器的值相比,判断有无越界。2:通过重定位寄存器(或基址寄存器)和界地址寄存器来实现这种保护。重定位寄存器含最小的物理地址值,界地址寄存器含逻辑地址的最大值。如下...原创 2021-01-19 16:40:34 · 1376 阅读 · 2 评论 -
31逻辑地址空间和物理地址空间
1、 逻辑地址空间和物理地址空间:原创 2021-01-19 16:36:09 · 1550 阅读 · 0 评论 -
30程序的装入和链接
程序装入和链接创建进程首先要将程序和数据装入内存。将用户源程序变为可在内存中执行的程序,通常分为以下几个步骤:编译:由编译程序将用户源代码编译成若干目标模块链接:由链接程序将编译后形成的一组目标模块,以及所需要的库函数链接在一起,形成一个完整的装入模块装入:由装入程序将装入模块装入内存运行1、 程序的链接有三种方式:1.1:静态链接:在程序运行前,先将各目标模块以及它们所需的库函数链接在一起,形成1.2:装入时动态链接:将用户源程序编译后所得到的一组目标模块,在装入内存时,采用边装入边链接的原创 2021-01-18 09:28:46 · 353 阅读 · 0 评论 -
29内存管理的功能
内存管理的功能1、 内存空间的分配与回收:由操作系统完成主存储器空间的分配和管理,使程序员拜托存储分配的麻烦,提高编程效率2、 地址转换:在多道程序环境下,把逻辑地址转换成相应的物理地址3、 内存空间的扩充:利用虚拟存储技术或自动覆盖技术,从逻辑上扩充内存4、 存储保护:保证各道作业在各自的存储空间内运行,互不干扰...原创 2021-01-18 09:26:58 · 288 阅读 · 0 评论 -
28死锁的检测和删除
死锁的检测和解除1、 资源分配图2.死锁定理:3、 死锁的解除原创 2021-01-18 09:25:41 · 138 阅读 · 0 评论 -
27死锁避免原来
死锁避免:事先不采取预防措施,而是在资源动态分配过程中,防止系统进入不安全状态,以避免发生死锁。1、 系统安全状态:2、 银行家算法:3、 安全性算法举例原创 2021-01-18 09:24:07 · 96 阅读 · 0 评论 -
26死锁预防策略
防止死锁发生只需破坏死锁产生的四个必要条件之一即可1、 破坏互斥条件2、 破坏不剥夺条件3、 破坏请求和保持请求的条件4、 破坏循环等待条件原创 2021-01-16 08:23:32 · 255 阅读 · 0 评论 -
25死锁的处理策略
死锁的处理策略:设法破坏产生死锁的四个必要条件之一,或者允许死锁产品,但当死锁发生时能检测出死锁,并有能力实现恢复。1、 预防死锁:设置某些限制条件,破坏产生死锁的四个必要条件之一,防止发生死锁2、 避免死锁:在资源动态分配过程中,用某种方法防止系统进入不安全状态,从而避免死锁。3、 死锁的检测及解除...原创 2021-01-16 08:21:42 · 109 阅读 · 0 评论