操作系统期末复习(超实用)

     所用教材:左万历 周长林 彭涛(编著)  打印下来,考前背一背,100分get !!!

此处本来是放目录的,终于有一天发现CSDN居然自带能跳转的目录,orz 富文本编辑器最大的缺点就在于“排版太累”

 


第一章  概述5简答

一、操作系统的特性

       程序并发性:多个程序在宏观上同时向前推进

       资源共享性:操作系统和多个用户程序共用系统中的各种资源

       异步性:在操作系统之上,宏观上同时运行的多个程序交替执行

       虚拟性:利用某种技术把一个物理实体变为若干个逻辑实体

二、操作系统的硬件环境

       定时装置

              绝对时钟:记载实际时间,不发生中断。

              间隔时钟:定时发生中断,是实现多道程序的基础——保证操作系统获得控制权

       系统栈

              作用:1. 保存中断现场 2. 保存操作系统子程序转移返回点、参数、局部变量、返回值

              位置:内存中操作系统空间的一个固定区域

       特权指令和非特权指令

              特权指令:只有在管态才能执行的指令 (管态:操作系统运行时所处的状态)

              非特权指令:在管态和目态下均可执行的指令,只与运行程序本身有关,不影响系统状态。(目态:一般用户程序运行时所处的状态)

       处理器状态和状态转换

              处理器状态:系统态(管态,核心态)、用户态(目态,常态)

              状态转换:管态 —>  目态(置程序状态字PSW) 目态 —>  管态(中断,trap)

       地址映射机构

              逻辑地址(虚地址):程序中产生的地址

              物理地址(实地址):存储器地址

       存储保护设施

              防止应用程序:1. 侵犯操作系统空间 2. 侵犯其它用户空间

              地址检查:1. 越界检查 2. 越权检查(对共享区域)

       中断装置

              发现并响应中断的硬件机构

       通道和DMA控制器

三、操作系统的运行机理

    

第二章  进程、线程与作业5简答

一、进程的概念

       具有一定独立功能的程序关于一个数据集合的一次运行活动

二、进程的状态

       运行态:占有CPU正在向前推进

       就绪态:可以运行,但未得到CPU

       等待态:等待某一事件的发生

三、进程的状态转换

四、进程控制块

       定义:标志进程存在的数据结构,其中包含系统对进程进行管理所需要的全部信息

       内容:进程标识(pid)、进程状态、现场信息、调度参数、所属用户(uid)等

五、进程队列

       就绪队列:系统一个或若干个(根据调度算法确定)

       等待队列:每一个等待事件一个

       运行队列:每一个处理机一个

六、进程的类型和特性

类型:

       系统进程:运行操作系统程序,完成系统管理(服务)功能

       用户进程:运行用户程序,为用户服务(在操作系统之上运行的所有应用程序都被称为用户进程)

特性:

       并发性:可以与其它进程一道向前推进

       动态性:动态产生、消亡,生存期内状态动态变化

       独立性:一个进程是可以调度的基本单位

       交互性:同时运行的进程可能发生相互作用

       异步性:进程以各自独立,不可预知的速度向前推进

       结构性:每个进程都有一个进程控制块(PCB)

七、线程的概念

       定义:进程内一个相对独立的执行流

八、线程控制块

      定义(TCB):标志线程存在的数据结构,其中包含对线程管理需要的全部信息

      内容:线程标识、线程状态、调度参数、现场

      存放位置

             用户级线程:目态空间(运行系统)

             核心级线程:系统空间

九、线程的实现

用户级别线程

实现方法:1. 基于library函数,系统不可见 2. 线程创建、撤销、状态转换在 目态完成 3. TCB在用户空间,每个进程一个系统栈

        优点:1. 不依赖于操作系统,调度灵活  2. 切换速度快

        缺点:同一个进程中多个线程不能真正并行,一个线程进入系统受阻,进程中其它线程不能执行

核心级别线程

实现方法:1. 基于系统调用  2. 创建、撤销、状态转换由操作系统完成

       优点:1. 同一个进程内多线程可以并行执行  2. 一个线程进入核心等待,其它线程仍可以执行

       缺点:1. 系统开销大,同一线程内多线程切换速度慢  2. 调度算法不能灵活控制

混合级别线程

第三章 中断与处理器调度10’

一、处理器调度算法衡量指标

      平均周转时间

二、常用处理器调度算法

  • 先到先服务算法(FCFS):按进入就绪态的次序来调度。

优点:公平,不会出现饿死

缺点:短进程(线程)的等待时间长,从而平均等待时间较长

  • 最短作业优先(SJF):按照CPU阵发时间递增的次序调度,易于证明其平均周转时间最短。

优点:最大限度地降低了平均等待时间

缺点:不公平;容易产生饥饿,甚至饿死

  • 最短剩余时间优先算法(SRTN)

     (剥夺式算法)当CPU空闲时,选择剩余时间最短的进程或者线程。当一个新进程或线程到达时,比较新进程所需时间与当前运行进程的估计剩余时间。如果新进程所需的运行时间短,则切换运行进程。

  • 最高响应比优先算法(HRN)

      

       对于同时到达的任务处理时间较短的任务将被优先调度,处理时间较长的任务将随着时间的增加而动态提升响应比,因而不会出现饥饿现象。

  • 最高优先数优先算法(HPF)

       当需要进行处理器分配时,系统在可运行的进程中选择优先数最高者使其投入运行。

       赋予优先数的方法:

       ①静态优先数:进程进入系统时被赋予,在生命周期内固定不变。适合批处理进程

                     优点:较简单;开销较小

                     缺点:公平性差,可能会造成低优先数进程长期等待。

       ②动态优先数:进程在创建时被赋予,在生命周期内动态变化。

                     优点:资源利用率高,公平性好

                     缺点:开销较大;实现较复杂

  • 循环轮转算法(RR)

       系统为每一个进程规定一个时间片,所有进程按照其时间片的长短轮流地进行。适用于分时系统,公平;响应及时。

       ①基本轮转

       ②改进轮转

  • 分类排队算法(MLQ)

        以多个就绪进程队列为特征的,这些队列将系统中所有可运行的进程按照某种原则加以分类,以实现所期望的调度目标。

  • 反馈算法(FB)

三、实时调度及其算法

定义:满足实时任务各自时间约束条件的调度

算法:

  • 最早截至期优先调度

        定义:优先选择完成截止期最早的实时任务。对于新到达的实时任务,如果其完成截止期先于正在运行任务的完成截至期,则重现分派处理器,即剥夺。

       

  • 速率单调调度

        定义:将任务的周期作为调度参数,其发生频度越高,则调度级别越高。

      

四、例题

第四章  互斥、同步与通信20

一、与时间有关的错误

        进程执行交叉

        涉及公共变量

二、公共变量、临界区、临界资源

        共享变量:多个进程都需要访问的变量(表示:shared<一组变量>)

        临界区:访问共享变量的程序段(表示:shared<一组变量>do<语句>)

        临界资源:一次只允许一个进程使用的资源

三、进程互斥

        定义:多个进程不能同时进入关于同一组共享变量的临界区域,否则可能发生与时间有关的错误

四、临界区框架

       

五、Peterson互斥算法

         

六、忙式等待

        定义:不进入等待状态的等待

七、基于TS指令的互斥算法

       

八、开关中断硬件互斥方法

       

九、进程同步

        定义:一组进程,为协调其推进速度,在某些关键点处需要相互等待与相互唤醒,进程之间这种相互制约的关系称为进程同步。

十一、信号量、PV操作、PV原语

        定义:一种称为信号量类型的变量以及对于此种变量所能进行的两个操作,即P操作和V操作

        PV原语和信号量定义:

              P原语

                        

             V原语

                       

            信号量

                       

  • 进程同步:司机和售票员问题

       

  • 进程互斥:生产者与消费者问题

        

  • 进程互斥:读者与写者问题

 

十二、进程通信模式

        共享内存模式:相互通信的进程之间要有公共内存,一组向该内存中写,另一组进程由该公共内存中读

        消息传递模式:操作系统为用户进程之间的通信提供两个基本的系统调用命令,即发送命令和接收命令

第五章  死锁与饥饿5

一、死锁的类型

       竞争资源引起的死锁

       进程通信引起的死锁

       其他原因引起的死锁

二、死锁的条件

       资源独占:一个资源在同一时间只能分给一个进程

       不可剥夺:资源只能由其占有者在使用完后资源释放

       保持申请:进程在占有部分资源后还可以申请新的资源,而且在申请新资源的时候并不释放它已经占有的资源

       循环等待:存在一个循环等待链

三、死锁的处理

     (静态)死锁预防:通过破坏死锁产生的必要条件实现,对进程有关资源的活动加限制,所有进程遵循这种限制,即可保证没有死锁发生。预防分配策略、有序分配策略

     (动态)死锁避免:在进程运行之前,为其分配所需的全部资源(预先分配策略)

四、饿死与活锁

       饿死:当饥饿到一定程度的进程所赋予的任务即使完成也不再具有实际意义时,称该 进程被饿死

       活锁:在忙式等待条件下发生的饥饿

五、银行家算法

资源分配算法

        

安全性检测算法

       

六、例题

第六章  存储管理25

一、静态等长分配

位示图bit map

        

空闲页面表free page list

       

空闲页面链idle page link

        

二、动态异长分配

       常用于:界地址、段式存储管理方式  【空闲区域表】

  • 最先适应:取第一个可满足区域

优点:尽量使用低地址空间,高区保持大空闲区域

缺点:可能分割大空闲区

  • 最佳适应:取最小可满足区域

优点:尽量使用小空闲区,保持大空闲区

缺点:可能形成碎片

  • 最坏适应:取最大可满足区域

优点:防止形成碎片

缺点:分割大空闲区

三、四种存储管理方式

单一连续区存储管理

        内存空间划分:采用动态异长分区方法,整个内存被动态划分为若干个长度各异的区域

        进程空间划分:由连续的区域构成

        所需表目

                内存分配表:用于记录内存中所有已经被分配的区域

                空闲区域表:用于记录内存中所有尚未分配的区域

        所需寄存器

               首址寄存器(b):整个系统有一个,用于保存正在运行进程的起始地址

               限长寄存器(l):整个系统有一个,用于保存正在运行进程的长度

        地址映射:a -> a+b   (a代表逻辑地址,b代表进程起始地址)

        地址映射步骤

              1.由程序确定逻辑地址a;

              2.a与l比较判断是否越界,不满足:0 <= a <= l-1,越界;

              3.a与b相加得到物理地址。

页式存储管理

        内存空间划分:内存空间静态地划分为若干个等长区域,每个区域称为一个物理页 架,每个页架通常由2i个单元,从0开始一次编址,称为页内地址。

        进程空间划分:内存空间静态地划分为若干个等长区域,每个区域称为一个逻辑页 面,每个页架通常由2i个单元,从0开始一次编址,称为页内地址。

        所需表目

              页表:用于记录进程的逻辑页面和内存页框之间的对应关系

              总页表:用于记录页框的使用情况

             

        所需寄存器

              页表首址寄存器:用于保存正在运行进程的页表的首址

              页表长度寄存器:用于保存正在运行进程的页表长度

              快表:

             

        地址映射:物理地址=页架首址+页内地址=页架号*2i + 页内地址

        地址映射步骤

              逻辑地址(p,d) -> 物理地址(f,d)

              (1) 由程序确定逻辑地址(p,d);

              (2) 由p查快表得页架号f;

                    如查不到:

                            (3) 由p与l比较,判别是否越界:

                                  不满足:0 <= p <= l-1,越界;

                             (4) 由p和b查页表得f;

                             (5) parbegin

                                   f与d合并得物理地址

                                  (p,f)添加到快表,如满淘汰一个;

                                   parend

              (3) f与d合并得物理地址

             

段式存储管理

        内存空间划分:内存空间静态地划分为若干个长度各异区域,每个区域称为一个物 理段,每个物理段在内存中有一个起始地址,称为段首址。将物 理段中的所有单元由0开始依次编址,称为段内地址。

        进程空间划分:内存空间静态地划分为若干个长度各异区域,每个区域称为一个逻 辑段。将一个逻辑段中的所有单元由0开始依次编址,称为段内地址。 将一个进程的所有逻辑地址由0开始依次编号,称为段号

        所需表目

              段表:该表用于记录段号与段首址之间的关系

              空闲表:用于记录并管理内存中的空闲区域

             

        所需寄存器

              段表首址寄存器:用于保存正在运行进程的段表的首址

              段表长度寄存器:用于保存正在运行进程的段表的长度

              快表:

            

        地址映射:逻辑地址(s,d) -> 物理地址(b’+d)

        地址映射步骤

               (1)由程序确定逻辑地址(s,d);

               (2) 由s查快表得b’和l’

               如查不到:

                       (3) 由s与l比较判断是否越界

                            不满足:0<=s<=l-1,越界;

                       (4) 由s和b查段表,得b’和l’

                       (5) 由d与l’比较,判断是否越界

                            不满足:0<=d<=l’-1,越界;

                        (6)parbegin

                             由b’+d得物理地址

                             (s,b’,l’)加入快表, 如快表满淘汰一个;

                             parend

              (3) 由d与l’比较,判断是否越界

                   不满足:0<=d<=l’-1,越界;

              (4) 由b’+d得物理地址。

段页式存储管理

        内存空间划分:与页式相同

        进程空间划分:与段式相同

        所需表目

               段表:一个进程一个,用于记录各段的页表长度和页表首址

                       

              页表:每段一个,用于记录一段中各个逻辑页号和页框号之间的对应关系

                       

        所需寄存器

              段表首址寄存器

              段表长度寄存器

              快表

            

        地址映射:逻辑地址(s,p,d) -> 物理地址(f,d)

        地址映射步骤

              (1) 由程序确定逻辑地址;

              (2) 由(s,p)查快表得f;

                    如找不到:

                           (3) 由s与l比较判断是否越界:

                                不满足:0<=s<=l-1, 越界

                           (4) 由s和b查段表得页表(b’,l’)

                           (5) 由p与l’比较判断是否越界:

                                不满足:0<=p<=l’-1, 越界

                            (6) 由b’与p查页表得f

                            (7) parbegin

                                 f与d合并得物理地址

                                 (s,p,f)添加到快表,若快表已满,淘汰一个

                                 parend

               (3) 由f与d合并得物理地址(f,d)

四、虚拟存储系统

虚拟页式存储管理

        基本原理:

               进程运行前:全部装入外存,部分装入内存。

               进程运行时:  访问页不在内存,发生缺页中断,中断处理程序:

                                       找到访问页在外存的地址;

                                       在内存找一空闲页面;

                                       如没有,按淘汰算法淘汰一个;

                                       如需要,将淘汰页面写回外存,修改页表和总页表;

                                       读入所需页面(切换进程);

                                       重新启动中断指令。

       

虚拟段式存储管理

虚拟段页式存储管理

五、常用页面替换算法

        最佳算法:淘汰将来最长时间以后才用到的,效率最高,但是不可实现

        先进先出算法:淘汰最先调入的

        最近最少使用算法:淘汰最近一次访问距当前时间最长的

        最近不用的先淘汰:淘汰最近一段时间未用到的

        最不经常使用算法: 淘汰使用次数最少的

        最频繁使用算法:淘汰使用次数最多的

        二次机会算法:淘汰装入最久且最近未被访问的页面

        时钟算法:将页面组织成环形,有一个指针指向当前位置。每次需要淘汰页面时,从 指针所指的页面开始检查。如果当前页面的访问位为0,即从上次检测到 目前,该页没有访问过,则将该页替换。如果当前页面的访问位为1,则 将其清0,并顺时针移动指针到下一个位置。重复上述步骤直至找到一个 访问位为0的页面

        改进时钟算法

         r=0, m=0:最佳

         r=0, m=1:次佳,淘汰前回写

         r=1, m=0:再次

         r=1, m=1:最后,淘汰前写回

         步骤1: 由指针当前位置开始扫描,选择最佳淘汰页面,不改变引用位,将第一个遇到的r=0且m=0的页面作为淘汰页面;

         步骤2:如步骤1失败,再次从原位置开始,找r=0且m=1的页面,将第一个满足上述要求的页面作为淘汰页面,同时将扫描过页面的r位清0;

         步骤3:若步骤2失败,指针再次回到原位置,重新执行步骤1。若还失败再次执行步骤2,此时定能找到。

六、例题


第七章  文件系统15

一、文件访问

        顺序访问:按照从前到后的次序依次存取文件的各个信息项。

               从文件起始位置开始顺序访问

               从文件中间某处开始顺序访问

       随机访问:无序存取文件的某些信息项。

              按记录编号随机访问

              按关键字(key)随机访问

二、文件的逻辑组织

        记录式文件:基本单位是记录

        流式文件:基本单位是字节

三、文件的物理组织

        顺序结构:一个文件占有若干连续的磁盘块

        优点:速度快,节省空间

        缺点:长度变化困难

        链接结构: 一文件可存于不连续块中,块间以指针相连。

        优点:节省空间,长度变化容易。

        缺点:随机访问速度慢。

       索引结构:一文件可存于不连续块中,块号记在索引块中

       优点:速度快,长度变化容易

       缺点:索引块占空间

       散列结构:适用于定长记录和按键随机查找的访问方式

       倒排结构:以键值和记录地址构成的索引结构

       优点:适合不同的查找方式,速度快

       缺点:索引会带来较大开销

四、文件控制块

        定义:标志文件存在的数据结构,其中包含系统对文件进行管理所需要的全部信息

        内容:文件名、文件号、文件类型、文件属性、文件地址、文件长度、共享说明、建立 时间、最后修改时间、最后访问日期、口令、其它。

五、文件目录的改进

        将文件控制块划分为次部和主部:提高查找速度、实现文件连接

六、根目录和当前目录

        根目录:在树状结构的文件系统中,根节点对应的目录

        当前目录:现在文件系统为用户提供一个目前正在使用的工作目录

七、目录查找

        从根目录查找:当文件路径名以“/”起始时,表示要求从根目录开始查找

        从当前目录查找:当文件路径名不以“/”起始时,表示要求从当前目录开始查找

        查找算法:

              ·顺序查找:依次与目录文件中的各个目录项进行比较,直至找到匹配项或者查到 目录文件末尾

              ·散列查找:查找速度快,但是要求预先确定目录文件的大小

              ·对分查找:要求目录中的文件名称按字典序存放

八、例题

第八章  设备与输入输出管理10

一、磁盘引臂调度算法

  • 先到先服务算法(FCFS)

        

  • 最短查找时间优先算法(SSTF)

       

  • 扫描算法和LOOK算法

        

  • 循环扫描算法和循环LOOK算法

       

  • N步扫描算法

       

  • 冻结扫描算法

       

二、设备输入输出参数

        n为跨越磁道数、m为跨越一个磁道所用的时间、s为启动时间、r为磁盘转速、b为读 写字节数

        寻道时间(Ts):Ts=m*n+s

        旋转延迟(Tr):Tr=1/(2*r)

        传输时间(Tt):Tt=b/(r*N)

三、缓冲技术

        定义:处理数据到达速度与离去速度不一致而采用的技术称为缓冲

四、虚拟设备

        定义:利用共享设备实现的数量较多、速度较快的独占型设备称

五、数据传输方式

        程序控制查询方式

        中断驱动方式

        DMA方式

        通道方式

六、一维地址和三维地址转换

        盘面数m、扇区数n、柱面号i、盘面号j、扇区号k、块号b

       

七、例题



第十三章 Unix实例分析5

 

        

 

 


 

     

 

 

发布了38 篇原创文章 · 获赞 130 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_41587612/article/details/100110207
今日推荐