操作系统期末复习

目录

操作系统引论

进程的描述与控制

处理机调度与死锁

存储器管理

输入输出系统

文件管理

部分课后练习题


操作系统引论

操作系统的概念

操作系统是配置在计算机硬件上的第一层软件,是管理软硬件资源的软件


操作系统的作用

  • OS作为用户与计算机硬件系统之间的接口(用户通过命令方式、系统调用方式和图标—窗口方式来实现与操作系统的通信)
  • OS作为计算机系统资源的管理者(处理机、存储器、I/O设备、文件管理)
  • OS实现了对计算机资源的抽象

资源分为四类            OS管理四类资源

处理机                       处理机管理:分配和控制处理机
存储器                       存储器管理:内存的分配与回收
I/O设备                      I/O设备管理 :I/O设备的分配(回收)与操纵
文件(数据和程序)      文件管理:实现对文件的存取、共享和保护


多道批处理系统的优缺点:

  • 资源利用率高
  • 系统吞吐量大
  • 平均周转时间长:由于作业要排队依次进行处理,因而作业的周转时间较长,通常需几个小时,甚至几天
  • 无交互能力:用户一旦把作业提交给系统后,直至作业完成,用户都不能与自己的作业进行交互,修改和调试程序极不方便

分时系统

分时系统的特征

  • 多路性:允许多个用户共享一台计算机
  • 独立性:给用户感觉就像是他一人独占主机进行操作
  • 及时性:指用户的请求能在很短时间内获得响应(通常仅为1~3秒)
  • 交互性:指用户可通过终端与系统进行广泛的人机对话

分时系统采用轮转运行方式(时间片)

        如果一个作业独占CPU连续运行,那么其它的作业就没有机会被调度运行。为避免一个作业长期独占处理机,引入了时间片的概念。一个时间片,就是一段很短的时间。系统规定每个作业每次只能运行一个时间片,然后就暂停该作业的运行,并立即调度下一个作业运行。如果在不长的时间内能使所有的作业都执行一个时间片的时间,便可以使每个用户都能及时地与自己的作业进行交互,从而可使用户的请求得到及时相应。

进程的描述与控制

程序顺序执行时的特征

  •         顺序性
  •         封闭性
  •         可再现性

进程的定义

从不同的角度,进程可以有不同的定义,比较传统典型的定义有:(强调动态)
        1. 进程是程序的一次执行过程
        2. 进程是一个程序及其数据在处理机上顺序执行时所发生的活动
        3. 进程是具有独立功能的程序在数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位

引入进程实体的概念后,可把进程定义为:
        进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。

进程实体(是数据的集合,指的是数据本身)是静态的,进程是动态的

除非特别声明,否则可认为进程实体就是进程,则进程=程序段+数据段+PCB

进程控制块(PCB)是进程存在的唯一标识

进程的组成

                 919ad17fea2d4d6583dc1a2d6ee0d76b.png

进程的特征

bb2c946892564e60a40a272314cf5428.png

动态性是进程最基本的特征

进程是资源分配、接受调度的基本单位

异步性会导致并发程序执行结果的不确定性

异步性出现的原因:

        1.进程运行次数不确定
        2.进程多次运行时间不确定

进程状态转换

进程的五种基本状态及转换:

                   b4dae963b0a143cda1cc147a7102d8c9.png

具有挂起状态的进程状态图: 
                86c2a4dad66c4692a1fa10edb23c8e99.jpeg         

引入挂起操作的原因,是基于系统和用户的如下需要:
(1) 终端用户的需要
(2) 父进程请求
(3) 负荷调节的需要
(4) 操作系统的需要

挂起是静止状态:
    ①正在执行的进程被挂起后,暂停执行
    ②就绪状态进程被挂起后,不接受调度
    ③阻塞状态进程被挂起后,不直接就绪

进程可以拥有资源,并作为系统中拥有资源的一个基本单位。

进程是作为独立调度和分派的基本单位,因而进程是能独立运行的基本单位。

线程是作为独立调度和分派的基本单位,线程是能独立运行的基本单位。

处理机执行状态

        为了防止OS本身及关键数据(如PCB等)遭受到应用程序有意或无意的破坏,通常也将处理机的执行状态分成系统态和用户态两种:

①系统态,又称为管态,也称为内核态。它具有较高的特权,能执行一切指令,访问所有寄存器和存储区,传统的OS都在系统态运行。

②用户态:又称为目态。它是具有较低特权的执行状态,仅能执行规定的指令,访问指定的寄存器和存储区。一般情况下,应用程序只能在用户态运行,不能去执行OS指令及访问OS区域,这样可以防止应用程序对OS的破坏。
        为防止操作系统的破坏
                管态:较高特权执行一切指令
                目态:较低特权执行用户程序

eg:只能在管态下运行的是特权指令。(√)

同步机制应遵循的原则:

  • 空闲让进。当无进程处于临界区时,表明临界资源处于空闲状态,应允许一个请求进入临界区的进程立即进入自己的临界区,以有效地利用临界资源。
  • 忙则等待。当已有进程进入临界区时,表明临界资源正在被访问,因而其它试图进入临界区地进程必须等待,以保证对临界资源的互斥访问。
  • 有限等待。对要求访问临界资源的进程,应保证在有限时间内能进入自己的临界区,以免陷入“死等”状态。
  • 让权等待。当进程不能进入自己的临界区时,应立即释放处理机,以免进程陷入“忙等”状态。

信号量机制

信号量是操作系统中某类资源的数量

  • p(s)、v(s) 其中s默认为记录型信号量
  • 信号量S->value的初值表示系统中某类资源的数目
  • 信号量S->value为负值时,表示申请但被阻塞的进程数
  • eg:给信号量初值,计算取值范围?(取值范围(信号量-最大进程数,信号量))
  • 比如有五台打印机,只有三个进程,信号最大量是5,信号量最小是2

处理机调度与死锁

概念公式补充:

cpu利用率:指cpu“忙碌”(有效工作)的时间占总时间的比例

        利用率=忙碌时间/总时间

系统吞吐量:单位时间内完成作业的数量

        系统吞吐量=总共完成了多少道作业/总共花了多少时间

周转时间:从作业被提交给操作系统开始,到作业完成为止的这段时间间隔

        周转时间=作业完成时间-作业提交时间(用户)(越小越好)

        平均周转时间=各作业周转时间之和/作业数(操作系统)

        1<=带权周转时间=作业周转时间/作业实际运行时间(越小越好)

        平均带权周转时间=各作业带权周转时间之和/作业数

等待时间:

对于进程来说,等待时间就是指进程建立后等待被服务的时间之和,在等待I/O完成的期间其实进程也是在被服务的,所以不计入等待时间。

对于作业来说,不仅要考虑建立进程后的等待时间,还要加上作业在外存后备队列中等待的时间。

        等待时间=周转时间-运行时间(-I/O操作的时间)

响应时间:从用户提交请求到首次产生响应所用的时间

批处理系统的目标:

  • 平均周转时间短  
  • 系统吞吐量高  
  • 处理机利用率高

调度算法:

先来先服务(FCFS)

短作业优先(SJF)

高响应优先(HRRN)

轮转调度算法

        轮转法的基本原理

                在轮转法(Round Robin)中,系统将所有的就绪进程按FCFS策略排成一个就绪队列。系统可设置每隔一定时间(如30 ms)便产生一次中断,去激活进程调度程序进行调度,把CPU分配给队首进程,并令其执行一个时间片。当它运行完毕后,又把处理机分配给就绪队列中新的队首进程,也让它执行一个时间片。这样,就可以保证就绪队列中的所有进程在确定的时间段内,都能获得一个时间片的处理机时间。

        进程切换时机
                在RR调度算法中,应在何时进行进程的切换,可分为两种情况:① 若一个时间片尚未用完,正在运行的进程便已经完成,就立即激活调度程序,将它从就绪队列中删除,再调度就绪队列中队首的进程运行,并启动一个新的时间片。② 在一个时间片用完时,计时器中断处理程序被激活。如果进程尚未运行完毕,调度程序将把它送往就绪队列的末尾。

        时间片大小的确定

                在轮转算法中,时间片的大小对系统性能有很大的影响。 图3-2示出了时间片大小对响应时间的影响,其中图(a)是时间片略大于典型交互的时间,而图(b)是时间片小于典型交互的时间。图3-3示出了时间片分别为q = 1和q = 4时对平均周转时间的影响。

                  1fdd2bdbdb8445f990c5a707f96c5112.png

 (1)时间片取值的大小关系到计算机系统的效率和用户的满意度,所以,时间片的值应根据进程要求系统给出应答的时间和进入系统的进程数来决定。如果要求系统快速应答,则时间片小些,这样使轮转一遍的总时间减少而可对进程尽快应答。如果进程数少,则时间片可以大些,这样可减少进程调度的次数,提高系统效率。
(2)对每个进程可规定相同的时间片,但有的系统对不同的进程规定不同的时间片,例如,对很少使用外围设备而需要运算时间长的进程,给一个大一些的时间片,以达到减少调度次数,加快进程执行速度的目的。但应注意到,时间片值过大时该算法退化为先来先服务;时间片值过小时加重系统开销。

eg:
c4cf6dbd993a4c32937f807f8ad131dc.png
解析:
    假设系统响应时间为T,进程数目为N,时间片为q,则。响应时间与进程数和时间片成比例。当系统允许的最大进程数一定的情况下,时间片的长短取决于系统要求的响应时间,响应时间越短,时间片取值越小。

银行家算法

        安全序列:
            指如果系统按照这种序列分配资源,则每个进程都能顺利完成。只要能找出一个安全序列,系统就是安全状态。当然,安全序列可能有多个。

如果系统处于安全状态,就一定不会发生死锁。如果系统进入不安全状态,就可能发生死锁(处于不安全状态未必就是发生了死锁,但发生死锁时一定是在不安全状态)

        银行家算法的核心思想:
            在进程提出资源申请时,先预判此次分配是否会导致系统进入不安全状态。如果会进入不安全状态,就暂时不答应这次请求,让该进程先阻塞等待。

        银行家算法的目的:

                为实现银行家算法,每一个新进程在进入系统时,它必须申明在运行过程中,可能需要每种资源类型的最大单元数目,其数目不应超过系统所拥有的资源总量。当进程请求一组资源时,系统必须首先确定是否有足够的资源分配给该进程。若有,再进一步计算在将这些资源分配给进程后,是否会使系统处于不安全状态。如果不会,才将资源分配给他,否则让进程等待。

        总之,就是若检测从安全状态到不安全状态,就不分配资源。

eg:课本121页银行家算法之例

死锁的检测:

        资源分配图
                资源分配图(不可化简即死锁)

死锁预防方法汇总:

   220dacea62424a069260b9428273dee9.png

 死锁的处理:

        3ac849fa0eea42a195ffd7b447bce2d3.png

存储器管理

可重定位装入(静态重定位)方式:       

        在采用可重定位装入程序将装入模块装入内存后,会使装入模块中的所有逻辑地址与实际装入内存后的物理地址不同。通常,把在装入时对目标程序中指令和数据地址的修改过程称为重定位,也就是逻辑地址转换为物理地址。

动态可重定位分区分配-紧凑

        若想把大作业装入,可采用的一种方法是:将内存中的所有作业进行移动,使他们全都相邻接。这样,即可把原来分散的多个空闲小区拼接成一个大分区,可将一个作业装入该区。这种通过移动内存中作业的位置,把原来多个分散的小区拼接成一个大分区的方法,成为:"拼接"或"紧凑",如下图所示。

                f811d49d26eb4d9ca91d9105ac6e6e91.jpeg

内存的基础知识

a87eb189418d43629fc2209b63a28280.png

分段地址结构

              f1e09f1d8e8942c08b71f5026b9e1f5c.png

  • 分段地址结构中有16位段号,则有2的16次方个段号。
  • 在该地址结构中,允许一个作业最长有64K(gif.latex?2%5E%7B31-16&plus;1%7D)个段,                                              每个段的最大长度为64KB(gif.latex?2%5E%7B15-0&plus;1%7D)。

段表

        在分段式存储管理系统中,则是为每个分段分配一个连续的分区。进程中的各个段,可以离散地装入内存中不同的分区中。

输入输出系统 

确保对设备的正确共享:(从设备的共享属性上,可将系统中的设备分为如下三类)

  • 独占设备
  • 共享设备
  • 虚拟设备(就是把独占设备改造为共享设备)

通道

        通道:一种硬件,比作弱鸡版的CPU,通道程序只处理io指令

(DMA方式)直接存储器访问方式

        ea4c03ec6c5a41c1b7de533d1ba6abf0.png

        直接存储器访问是内存和I/O设备之间直接进行设备交换,不经过处理器(cpu)

        不经过内存上网有DMA和通道两种I/O控制方式

eg:直接存储器谁和谁直接数据转换?   答:内存与I/O设备

      3dba2f024fa34e09b2af0c135d2c7f40.png

与设备无关的软件的基本概念:

1. 以物理设备名使用设备:在早期OS中,应用程序在使用I/O设备时,都使用设备的物理名称,这使应用程序与系统中的物理设备直接相关。应用程序直接与物理设备相关是非常不灵活的,给用户带来了很大的不便,且对提高I/O设备的利用率也很不利。
2. 引入了逻辑设备名:为了实现与设备的无关性而引入了逻辑设备和物理设备两个概念。逻辑设备是抽象的设备名。
3. 逻辑设备名称到物理设备名称的转换:在应用程序中,用逻辑设备名称使用设备虽然方便了用户,但系统却只识别物理设备名称,因此在实际执行时,还必须使用物理名称。为此,在系统中,必须具有将逻辑设备名称转换为某物理设备名称的功能。

(参考课本p213)

磁盘

               ed9cddd816ec4e85a75b3d3f2b8518f6.png

        一个物理记录存储在一个扇区上,磁盘上能存储的物理记录块数目是由扇区数、磁道数以及磁面数所决定的。

柱面数 = 一个盘面的磁道数
磁头数 = 盘面数

 硬盘容量 = 柱面数(表示每面盘面上有几条磁道,一般总数是1024) × 磁头数(表示盘面数) × 扇区数(表示每条磁道有几个扇区) × 扇区(存储基本单元,大小一般为512B/4KB)

eg:一个10GB容量的磁盘,有8个双面可存储盘片,共16个存储面(盘面),每面有16383个磁道(也称柱面),63个扇区。

文件管理

文件控制块(FCB)

        通常含有三类信息,即基本信息、存储控制信息及使用信息。

基本信息类:

(1)文件名(2)文件物理位置(3)文件逻辑结构(4)文件的物理结构

索引节点:

        索引结点的引入

                文件目录通常是存放在磁盘上的,当文件很多时,文件目录可能要占用大量的盘块。

文件系统功能     

        管理和调度文件的存储空间,提供文件的逻辑结构、物理结构和存储方法;实现文件从标识到实际地址的映射(即按名存取),实现文件的控制操作和存取操作(包括文件的建立、撤销、打开、关闭,对文件的读、写、修改、复制、转储等),实现文件信息的共享并提供可靠的文件保密和保护措施,提供文件的安全措施(文件的转储和恢复能力)。

索引文件(记录每个文件逻辑记录和物理块之间的对应关系

        索引文件的思想类似于存储管理中的分页管理。

        系统为每个文件建立一张索引表,给出逻辑块号和分配给它的物理块号的对应信息。

文件共享

        在现代计算机系统中,必须提供文件共享手段,即指系统应允许多个用户(进程)共享同一份文件。这样,系统中只需保留该共享文件的一份副本。

部分课后练习题

1.设计现代OS的主要目标是什么?

(1)有效性 (2)方便性 (3)可扩充性 (4)开放性

有效性:提高操作效率、系统吞吐量

方便性:在硬件上运行程序用机器语言书写程序极难,os能将高级语言编译为机器语言

可扩充性:为了适应硬件、体系结构和应用的发展

开放性:为了更好地推广,方便使用,制定行业标准

4.试说明推动多道批处理系统形成和发展的主要动力是什么?

  1. 不断提高计算机资源的利用率;
  2. 方便用户;
  3. 器件的不断更新换代;
  4. 计算机体系结构的不断发展。

8.为什么要引入实时OS?

        实时操作系统是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。引入实时OS是为了满足应用的需求,更好地满足实时控制领域和实时信息处理领域的需要。

11.OS有哪几大特征?其最基本的特征是什么?

        并发性,共享性,虚拟性和异步性。

最基本:并发性

并行是指两个或多个事件在同一时刻发生。

并发是指两个或多个事件在同一时间间隔内发生。

共享:系统中的资源可供内存中多个并发执行的进程共同使用。

虚拟:通过某种技术将一个物理实体变为若干个逻辑上的对应物的功能。(时分复用技术和空分复用技术)

时分复用技术:利用某设备为一用户服务的空闲时间,又转去为其他用户服务,使设备得到最充分的利用。

空分复用技术:利用存储器的空闲空间分区域存放和运行其他的多道程序,以此来提高内存的利用率。

异步:进程是以人们不可预知的速度向前推进的。

20.什么是微内核OS。

        足够小的内核;基于客户/服务器模式;应用“机制与策略分离”的原理;采用面向对象技术

21.微内核操作系统具有哪些优点?它为何能有这些优点?

由于微内核OS结构是建立在模块化、层次化结构的基础上的,并采用了客户/服务器模式和面向对象的程序设计技术,因此,微内核结构的操作系统是集各种技术优点之大成,因而具有如下优点:

1)提高了系统的可扩展性

2)增强了系统的可靠性

3)可移植性强

4)提供了对分布式系统的支持

5)融入了面向对象技术

6.在动态分区分配方式中,应如何将各空闲分区链接成空闲分区链?

        在每个分区的起始部分,设置一些控制分区分配的信息,以及用于链接各分区所用的前向指针;在分区尾部设置一个后向指针,通过前后向链接指针,将所有空闲分区链成一个双向链。当分区分配出去后,把状态位由“0”改为“1”。

补充知识:

        在动态分区分配中,介绍了七种算法,其中首次适应、循环首次适应算法需要按照地址递增的顺序链接分区,最佳适应、最坏适应算法需要按照分区的大小来链接分区,快速适应、伙伴系统、哈希算法需要按照分区的大小分类链接成不同种类的空闲分区链。

7.为什么要引入动态重定位?如何实现?

原因:在程序执行过程中,每当访问指令或数据时,将要访问的程序或数据的逻辑地址转换成物理地址,引入了动态重定位;

实现:具体实现方法是在系统中增加一个重定位寄存器,用来装入程序在内存中的起始地址,程序执行时,真正访问的内存地址是相对地址与重定位寄存器中的地址相加之和,从而实现动态重定位。

24.在具有快表的段页式存储管理方式中,如何实现地址变换?

首先,必须配置一段表寄存器,在其中存放段表始址和段长 TL. 进行地址变换时,先利用段号 S ,与段长 TL 进行比较,若 S=TL, 表示段号太大,访问越界,产生越界中断信号 ) 于是利用段表 始址和段号来求出该段对应的段表项在段表中的位置,从中求出该段的页表始址,并利用逻辑地址中的段 内页号 P 来获得对应页的页表项位置,从中读出该页所在的物理块号 b ,再用块号 b 和页内地址构成物理地址 

25.为什么说分段系统比分页系统更易于实现信息的共享和保护?

分页系统的每个页面是分散存储的,为了实现信息共享和保护,页面之间需要一一对应,为此需要建立大量的页表项;而分段系统的每个段都从0编址,并采用一段连续的地址空间,在实现共享和保护时,只需为要共享和保护的程序设置一个段表项,将其中的基址与内存地址一一对应就能够实现。

26.分页和分段存储管理有何区别?

        a.分页和分段都采用离散分配的方式,且都要通过地址映射机构来实现地址变换,这是它们的共同点;

        b.对于它们的不同点有三。

                第一,从功能上看,页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率,即满足系统管理的需要,而不是用户的需要;而段是信息的逻辑单位,它含有一组其意义相对完整的信息,目的是为了能更好地满足用户的需要;

                 第二,页的大小固定且由系统确定,而段的长度却不固定,决定于用户所编写的程序;

                 第三,分页的作业地址空间是一维的,而分段的作业地址空间是二维的。

3.虚拟存储器有哪些特征?其中最本质的特征是什么?
多次性、对换性、虚拟性。虚拟性。

7.试比较缺页中断机构与一般的中断,它们之间有何明显的区别?

一条指令在执行期间可能产生多次缺页中断。

(1)一般中断只需要保护现场然后就直接跳到需及时处理的地方。

(2)缺页中断除了保护现场之外,还要判断内存中是否有足够的空间存储所需的页或段,然后再把所需页调进来再使用。

13.在一个请求分页系统中,采用先进先出FIFO页面置换算法时,假如一个作业的页面走向为4、3、2、1、4、3、5、4、3、2、1、5,当分配给该作业的物理块数M分别为3和4时,试计算在访问过程中所发生的缺页次数和缺页率,并比较所得结果。

c3e3517f3b4c49588c226d2df47ef07b.jpeg

16.影响页面换进换出效率的若干因素是什么?

(1)页面置换算法:影响页面换进换出效率最重要的因素,直接影响进程在运行过程中的缺页率,影响页面换进换出的开销。

(2)写回磁盘的频率:如果是采取每个页面换出时,就将它写回磁盘的策略,这意味着每换出一个页面,便需要启动一次磁盘。但如果在系统中建立了一个已修好换出页面链表,对每一个要被换出的页面(已修改),系统可暂不把它们写回磁盘,而是将它们挂在已修改换出页面链表上,仅当被换出页面数目达到一定值时,再将它们一起写回到磁盘上,这样就显著地减少了磁盘I/O的操作次数。

(3)读入内存的频率:在设置了已修改换出页面链表后,在该链表上就暂时有一批装有数据的页面,如果需要再次访问这些页面时,就不需从外存上调入,而直接从已修改换出页面链表获取,这样也可以减少将页面从磁盘读入内存的频率,减少页面换进的开销。或者说,只需花费很小的开销,便可使这些页面,又回到该进程的驻留集中。

4.试说明用户可以对文件施加的主要操作有哪些?

  1. 创建、删除、读、写、截断、设置读/写位置、打开、关闭。
  2. 允许用户直接设置和获得文件的属性:改变已存文件的文件名、改变文件的拥有着、改变对文件的访问权、查询文件的状态。
  3. 对目录的操作:创建一个目录、删除一个目录、改变当前目录和工作目录等。
  4. 文件共享与文件系统操作的系统调用实现等。

6.何谓文件的逻辑结构?何谓文件的物理结构?

        文件的逻辑结构是指从用户的观点出发所观察到的文件组织形式,也就是用户可以直接处理的数据及其结构,它独立于物理特性,;而文件的物理结构则是指文件在外存上的存储组织形式,与存储介质的存储性能有关。

7.按文件的组织形式可将文件分为哪几种类型?

顺序文件、索引文件、索引顺序文件。

11.试说明索引顺序文件的几个主要特征。
(1)记录是按关键字的顺序组织起来的;
(2)引入了文件索引表,通过该表可以实现对索引顺序文件的随机访问;
(3)增加了溢出文件,用它来记录新增加的、删除的和修改的记录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值