操作系统各章重点总结综述.docx
《操作系统各章重点总结综述.docx》由会员分享,可在线阅读,更多相关《操作系统各章重点总结综述.docx(42页珍藏版)》请在冰点文库上搜索。
操作系统各章重点总结综述
第一章概述
1.操作系统的定义:
是一个大型的程序系统,它负责计算机的全部软硬件资源的分配,调度工作,控制并协调并发活动,实现信息的存取及保护,它提供用户接口,使用户获得更好的工作环境,操作系统使整个计算机实现了高效率及高度自动化。
操作系统属于应用软件。
2.操作系统的基本功能
(1)人-机交互界面:
用户可直接使用键盘命令或Shell命令语言,调用操作系统内部功能模块(系统调用)
(2)资源管理:
文件管理、存储管理、设备管理、处理器管理、作业管理
3.操作系统的分类
(1)单用户操作系统:
一个用户独占计算机系统资源,系统所有软硬件资源全为一个用户服务,单独地执行该用户提交的一个任务;
优点:
操作系统简单,易被人们掌握;
缺点:
系统资源未能充分利用;
(2)批处理操作系统:
采用批量化处理作业技术的操作系统
a.单道批处理系统
b.多道批处理系统
二者区别:
(3)实时操作系统:
对随机发生的外部事件能做出及时的响应并对其进行处理的操作系统
特点:
a.较少有人为干预的监督和控制系统;
b.软件依赖于应用的性质和实际使用的计算机类型;
c.专用系统:
许多实时系统是专用系统。
d.实时控制:
实时系统用于控制实时过程,要求对外部事件的迅速响应,具有较强的中断处理机构。
e.高可靠性:
实时系统用于控制重要过程,要求高度可靠,具有较高冗余。
如双机系统。
f.事件驱动和队列驱动:
实时系统的工作方式:
接受外部消息,分析消息,调用相应处理程序进行处理。
g.可与通用系统结合成通用实时系统:
实时处理前台作业,批处理为后台作业。
应用:
监督生产线,流水线生产的连续过程,监督病人的临界功能,监督和控制交通灯系统,监督和控制实验室的实验,监督军用飞机的状态等;
(4)分时操作系统:
多个用户分享使用同一台计算机,把计算机的系统资源进行时间上的分割,即将整个工作时间分成一个个的时间段,每个时间段称为一个时间片;
特点:
a.同时性:
若干个终端用户可以同时使用计算机,共享系统资源,提高了资源利用率;
b.独立性:
用户彼此独立,互不干扰;
c.及时性:
用户的请求能在较短的时间内得到响应;
d.交互性:
用户能进行人机对话,联机地调试程序,以交互方式工作,加快了调试时间;
(5)网络操作系统:
提供网络通信和网络资源共享功能的操作系统
特点:
a.系统中任意两台计算机可以通过通信来交换信息
b.系统中各台计算机五主次之分
c.系统的资源为所有用户所共享
d.系统中若干台计算机可以互相协作来完成一个共同任务
功能:
处理机管理、存储器管理、设备管理、文件管理,提供高效、可靠的网络通信能力,提供多种网络服务功能
分布式操作系统是一种特殊的网络操作系统
4.处理器状态,特权非特权指令,程序状态字
(1)处理器状态
a.管态:
操作系统管理程序运行的状态;
b.目态:
用户程序运行的状态;
(2)指令
a.特权指令:
操作系统中只能由操作系统使用的指令,控制中断屏蔽的某些指令,清主存指令,建立存储保护指令等等。
b.非特权指令:
操作系统和用户都可以使用的指令
说明:
当处理器处于管态时,可以执行全部的指令(包括特权指令),使用所有资源,并具有改变处理器状态的能力,当处理器处于目态时,就只能执行非特权指令。
(4)程序状态字:
用来指示处理器状态,控制指令执行顺序,并且保留和指示与相应程序有关的系统状态
第二章处理器管理
1.多道程序并发执行的特点
(1)程序执行时的资源共享性;
(2)程序失去了封闭性和可再现性;
(3)并发程序之间的相互制约性;
3.进程
(1)进程的定义:
进程是能和其他程序并发执行的程序段在某数据集合上的一次运行过程,它是系统资源分配和调度的一个独立单位;
☆
(2)进程与程序间的区别:
a.程序是一组指令的集合,它只规定了运行活动时所要完成的功能,本身没有运行的含义,因此程序是静态的概念,而进程是一段程序的一次运行活动,它的着眼点是活动,运行,过程,因此进程是动态概念;
b.进程是一个独立调度并能和其他进程并行运行的单位,而程序通常不能作为独立调度进行的单位;
C.一个程序运行在两个不同数据集合上,就是两个不同的进程,因此进程和程序不存在一一对应关系,一个程序可以对应多个进程,反之,一个进程至少要对应一个程序,或对应多个程序,多个进程也可以对应相同的程序;
(3)进程的组成:
a.程序
b.数据集合
c.进程控制块(PCB)
(4)进程的三种基本状态:
(P48习题2.4)
a.就绪状态:
进程已得到除CPU以外的全部资源,是一旦获得CPU就可以执行的状态;
b.执行状态:
进程已获得必要的资源并占有CPU,正在执行的状态;
资源满足且获得CPU
c.阻塞状态:
进程因等待某一事件而暂不能执行的状态;
☆(5)进程的三态转换:
时间片用完
等待事件已发生
等待事件发生
(6)进程控制的任务:
对系统中所有进程从创建到消亡的全过程实行有效的管理和控制;
(7)原语:
由若干条机器指令构成的程序模块,它是用于完成特定功能的一段程序.为了保证操作的正确性原语在执行期间不可分割;(一旦开始执行,直到完毕之前,是不允许中断的)
(8)进程控制原语:
a.创建原语b.撤销原语c.阻塞原语d.唤醒原语
4.进程调度
(1)进程调度的概念:
系统按照一定算法把CPU动态分配给就绪队列中的某个进程,并使之执行(在批处理系统中);
(2)进程调度的层次:
a.高级调度:
按照某种原则从外存上的后备作业中选一个或几个进入内存,并为其运行做好有关准备工作;
b.中级调度:
负责内外存之间的进程对换,以解决内存紧张问题,即将内存中处于等待状态的某些进程调到外存对换区以腾出空间,再将外存对换区中已具备运行条件的进程重新调入内存准备运行;
c.低级调度:
决定就绪队列中哪个进程将获得处理器,并实际执行将处理器分配给该进程的工作(批处理系统和分时系统都必须配备);
(3)进程调度的功能:
a.保护当前正在执行的进程的现场,将程序状态寄存器,指令计数器及所有通用寄存器的内容放到特定单元保存起来;
b.查询,登记和更新进程控制表PCB中的相应表项,根据表项中的内容和状态,按一定的算法,从就绪进程中选择一个,并把CPU分给它;
c.恢复被调度到的进程的原来现场,从而使它按上次放弃CPU时的状态继续运行;
(4)进程调度的方式:
a.剥夺(抢占)式b.非剥夺(抢占)式
(5)进程调度的常用算法:
☆时间片轮转法(剥夺式):
把CPU按时间片,按顺序赋予就绪队列中的每一个进程,即就绪队列中各进程轮流占用CPU执行一定时间,若某个进程在规定时间片内未执行完毕,也必须释放CPU,并把CPU分配给下一个进程;
☆优先级调度:
把处理器分配给就绪队列中具有最高优先级的进程;
a.静态优先级:
在进程创建时即被确定,在以后执行的过程中不在改变(确定依据:
进程类型,进程对资源的需求,用户要求的优先级);
b.动态优先级:
在进程的执行期间按某种原则不断修改进程的优先级,优先级一般素进程的等待时间,占用CPU的时间的变化而变化。
☆多重队列轮转法:
把时间片轮转法中的单就绪队列改为双就绪队列或多就绪队列,并赋给每个队列不同的优先权;(特点:
先来先服务;获得CPU的优先权按序数上升而递减,而时间片的长度按序数上升而递增;CPU);
5.线程
(1)线程的定义:
线程是进程中的一个实体,它是比进程更小的能够独立运行的基本单位;
(2)引入线程的意义:
为了减少程序并发执行时所付出的时空开销,使操作系统具有更好的开发性;(P48习题2.9)
☆(3)线程与进程的区别:
a.线程是进程的一部分,它是进程的一个执行单元,通常,一个进程含有若干线程,至少要有一个线程,一个进程的多个线程都在进程的地址空间里活动;
b.在引入线程的操作系统中,资源分配的对象是进程,而不是线程,进程仍是拥有资源的一个独立单位,它拥有自己的资源,一般而言,线程除有少量必不可少的资源外不拥有系统资源,线程使用的资源是进程分到的资源;
c.在引入线程的操作系统中,调度的基本单位是线程而不是进程;
d.进程之间可以并发执行,而一个进程中的每个线程之间亦可以并发执行,而且在并发执行过程中,也需要协作同步;
第三章存储管理
1.存储管理
(1)存储管理的功能:
a.存储空间的分配和回收
b.地址映射和重定位
c.存储共享和保护
d.主存扩充
(2)存储分配的三种方式
a.直接存储分配方式:
在程序设计过程中,或汇编程序对源程序进行编译时,所用的是实际物理地址,以确保各程序所用的地址之间互不重叠;
b.静态存储分配方式:
编写程序或由编译系统产生的目标程序中采用的地址空间为逻辑地址,当连接装入程序时对它们进行装入,连接时,才确定它们在主存中的相应位置,从而产生可执行程序,这种分配方式要求用户在进行装入,连接时,系统必须分配其要求的全部存储空间,若存储空间不够,则不能装入该用户程序,同时,用户程序一旦装入到主存空间后,它将一直占据着分配给它的存储空间,直到程序结束时才释放该空间,再者,在整个运行过程中,用户程序所占据的存储空间是固定不变的,也不能动态地申请存储空间;
c.动态存储分配方式:
用户程序在存储空间中的位置也是在装入时确定,但它不必一次性将整个程序装入到主存,可根据执行的需要,一部分一部分地动态装入,同时,装入主存的程序不在执行时,系统可以回收该程序所占据的主存空间,再者,用户程序装入主存后的位置,在运行期间可根据系统需要而发生改变,此外,用户程序在运行期间也可动态地申请存储空间以满足程序需求;
2.重定位的定义、两种重定位的特点与区别、覆盖与交换
(1)重定义定义:
由于用户程序的装入而引起地址空间中的相对地址转换为存储空间中的绝对地址的地址变换过程,称为地址重定位,也称地址映射;
(2)实现地址重定位的方法:
静态地址重定位,动态地址重定位
a.静态地址重定位:
用户程序在装入时由装配程序一次完成,即地址变换只是在装入时一次完成,以后不再改变;
优点:
实现简单;
缺点:
用户程序必须分配一个连续的存储空间;难以实现程序和数据的共享;
b.动态地址重定位:
在程序执行的过程中,当CPU要对存储器进行访问时,通过硬件地址变换机构(重定位寄存器BR和相对地址寄存器VR),将要访问的程序和数据地址转换成主存地址;
优点:
有利于提高主存的利用率和存储空间使用的灵活性;有利于程序段的共享实现;为实现虚拟存储器管理提供了基础;
缺点:
实现存储器管理的软件比较复杂;需要附加的硬件支持;
(3)覆盖与交换(从逻辑上扩充主存,解决在较小主存空间中如何执行大程序的问题)
a.覆盖:
把程序划分为若干个功能相互独立的程序段,并且让那些不会同时被CPU执行的程序段共享同一主存区,通常这些程序段被保存在外存中,当CPU要求某一程序段执行时,才将该程序段装入主存来覆盖以前的某一程序段;
b.交换:
将系统暂时不用的程序或数据部分部分或全部地从主存中调出,以腾出更大的存储空间,同时将系统要求使用的程序和数据调入主存中,并将控制权转交给它,让其在系统上运行;
c.交换技术主要是在进程或作业间进行,覆盖技术则主要是在同一个进程或作业之间进行,交换技术的运用,可以在较小的存储空间中运行较多的作业或进程,覆盖技术的运用,可以在较小的存储空间中运行比其容量大的作业或进程;
☆3.分区存储管理、页式存储管理(各种方法采用的分配回收算法,数据结构,地址变换过程,共享与保护,优缺点比较)
(1)分区存储管理:
将主存的用户可用区域划分成若干大小不等的区域,每一个进程占据一个区域或多个区域,从而实现多道程序设计环境下各并发进程共享主存空间;
固定分区法:
系统在初始化时,将主存空间划分为若干个固定大小的区域,用户程序在执行过程中,不允许改变划分区域的大小,只能够根据各自的要求,由系统分配一个存储区域;(P94习题3.5)
数据结构:
分区说明表
动态分区法:
采用将主存的空闲区单独构成一个可用分区表或可用分区自由链表的形式来描述系统主存管理;(P94习题3.6)
①分配方法:
a.最先适应法:
将作业分配到主存的第一个足够装入它的可用空闲区中;
b.最佳适应法:
将作业分配到主存中与它所需大小最接近的一个可用空闲区中;(要求分区表或自由链接表按照空闲区从小到大的次序排列)
c.最坏适应法:
将作业分配到主存中最大的空闲区中;(要求分区表或自由链接表按照空闲区从大到小的次序排列)
②回收方法:
a.释放区与上下两个空闲区相邻,在这种情况下,将三个空闲区合并为一个空闲区;
b.释放区与上空闲区相邻,在这种情况下,将释放区与上空闲区合并为一个空闲区;
c.释放区与下空闲区相邻,在这种情况下,将释放区与下空闲区合并为一个空闲区;
d.释放区与上下两个空闲区都不相邻,在这种情况下,释放区作为一个新的空闲可用区插入到可用分区表或自由链表中;
③数据结构:
可用分区表或可用分区自由链表;
④地址变换过程:
采用动态重定位装入作业,当作业执行时由硬件地址转换机构完成地址转换(基址寄存器,限长寄存器);
⑤分区共享:
各道作业的共享存储区域部分有相同的基址/限长值,就可实现分区共享;
⑥分区保护:
对共享区的信息规定只能执行或读出,不能写入;
⑦分区存储管理的优缺点:
a.优点:
实现了多道程序的设计,从而提高了系统资源的利用率;系统要求的硬件支持少,管理简单,实现容易;
b.缺点:
由于作业在装入时的连续性,导致主存利用率不高;主存的扩充只能采用覆盖和交换技术,无法真正实现存储器;
(2)页式存储管理:
页式存储器管理取消了存储分配的连续性,它能够将用户进程分配到不连续的存储单元中连续执行;(根据作业装入主存的时机不同,一般分为:
1,静态分页管理2,虚拟分页管理)
分页存储器的逻辑地址格式:
页号单元号
分配的考虑:
将进程的页分配到主存的块中。
·静态分页管理:
用户作业在开始执行以前,将该作业的程序和数据全部装入到主存中,然后,操作系统通过页表和硬件地址变换机构实现逻辑地址到物理地址的转换,从而执行用户程序;
1分配回收算法:
依据存储页框表,请求表和页表实现;
②地址变换:
首先用户作业提出存储分配的要求,此时操作系统根据主存页框的大小将进程要求的存储空间分成相应的页面;根据主存的实际情况,将进程的每个页面分配到主存页框中,系统分配并设置页表的内容,此时,系统完成用户进程的存储器分配;当用户进程开始执行时,系统首先设置控制寄存器的内容,控制寄存器包括页表长度和页表起始地址两项;为了对逻辑地址进行变换,由硬件组成的地址变换机构必须将其分成两部分—页号和页内偏移;根据逻辑地址中页号在页表中找到相应的页框号;将页表中的页框号和逻辑地址中的页内偏移分别写入绝对地址中的相应位置上;然后根绝绝对地址提供的页框号和页内偏移计算出存储空间的物理地址,用户进程可以访问主存中的绝对地址,取出数据或取出指令执行;
③快表:
存放在高速缓冲存储器中的页表(引入快表时为了减少访问主存的次数提高地址变换的速度);
④加入快表后的地址转换:
CPU在给出逻辑地址后,地址变换机构首先根据页号在快表中进行检索,若存在相应的页号,则直接从快表中读出该页号对应的页框号,形成物理地址,否则需要访问主存中的页表,从页表中读出相应的页框号,形成相应的页框号,形成物理地址,同时将找到的页表登记到快表中,当块表填满后,又要在快表中登记一新的页表项时,则需要一定的淘汰策略;
⑤数据结构:
存储页框表,请求表和页表等
⑥共享:
能方便地实现多个作业共享程序和数据,页的共享可大大提高主存空间的利用率;
*在页式存储器中实现程序共享时,必须对共享程序给出相同的页号;
⑦保护:
a.保护权限域b.保护键
⑧优点与缺点:
优点:
解决了分区管理时的碎片问题;
缺点:
仍受主存中可用页框数的限制;
4.虚拟存储器基本思想,虚拟页式存储工作原理
(1)虚拟存储器基本思想:
当用户作业要求的存储空间很大,不能被装入主存时,基于局部性原理,系统可以把当前要用的程序和数据装入主存中启动程序运行,而暂时不用的程序和数据驻留在外存中,在执行中需要用到不在主存中的信息时,通过系统的调入调出功能和置换功能将暂时不用的程序和数据调出主存,腾出主存空间让系统调入要用的程序和数据,这样,系统便能很好地运行用户作业了,从用户角度看,系统具备了比实际主存容量大得多的存储器;
虚拟存储器的特征:
多次性;对换性;离散性;虚拟性。
*局部性原理:
a.时间局限性:
如果程序中某一条指令一旦执行,则在不久以后还可能被继续执行,同样,某一个数据被访问后,还可能被继续访问;
b.空间局限性:
如果程序访问了某一存储单元,其附近的存储单元则在不久也会被访问;
*虚拟存储器的容量不可以大于主存容量加外存容量;
(2)页式虚拟存储工作原理
分页存储管理优缺点:
优点:
1)解决主存的零头问题,能有效地利用主存。
2)方便多道程序设计,并且程序运行的道数增加了。
3)可提供大容量的虚拟存储器,作业的地址空间不再受实际主存大小的限制。
4)更加方便了用户,特别是大作业的用户。
当某作业地址空间超过主存空间时,用户也无需考虑覆盖结构。
缺点:
1)要有相应的硬件支持,如需要动态地址变换机构、缺页中断处理机构等。
2)必须提供相应的数据结构来管理存储器,它们不仅占用了部分主存空间,同时还要花费CPU时间。
3)在分页系统中页内的零头问题仍然存在。
4)在请求分页管理中,需要进行缺页中断处理,还有可能出现抖动现象,增加了系统开销,降低系统效率。
分页式缺点(除上述的缺点外还有):
1)程序的逻辑地址空间是连续的,装配好的程序段和数据块的存储空间是确定的,在执行中是无法动态增长和收缩。
2)无法做到页与逻辑意义完整的子程序或数据段的唯一对应,增大了其信息共享实现的难度。
3)从连接的角度上看,分区管理和分页管理只能采用静态连接,不仅花费了大量的CPU时间,而且也浪费了许多主存空间。
二级页表的地址变换:
三次访问主存:
一次访问页目录,一次访问页表,最后才访问数据所在的物理地址。
☆5.常用的页面置换算法(P95习题3.22)
(1)优化算法(OPT):
这是一种理论化的算法,其所选择的被淘汰的页将是永不使用的页,或者是在最长时间内不再访问的页。
(2)先进先出算法(FIFO):
该算法总是淘汰最先进入主存的页面,认为最先调入的页最近不被访问可能性最大。
缺页率=缺页次数/总的访问次数*100%
用FIFO算法求缺页率:
123412512345
111444555555
22211111333
3332222244
FFFFFFFSSFFS
缺页率=9/12*100%=75%
Belady现象:
一般情况下,对于一个作业如果分配给它的主存页框越多,缺页中断率就越低,反之就越高,但对于FIFO算法来说,在未给作业分配足够满足它要求的页面时,有时会出现分配的页框数增多,而缺页中断率反而增高的奇异现象;
☆(3)最近最少用置换算法(LRU):
该算法要求淘汰的页面是在最近一段时间里较久未被访问的那一页。
根据是程序执行时所具有的局部性。
为了比较准确地淘汰最近最少使用的页面,可以采用堆栈的方法来实现。
栈中存放当前主存中的页号,每当访问一页时就调整一次栈。
于是,发生缺页中断时总是淘汰栈底所指示的页。
(4)最近未用置换算法(NRU)
概念:
该算法要求页表中有一个访问位和一个修改位。
当某页被访问时,访问位被自动置1,若执行的指令是写指令,则修改位也被置1。
系统周期性地将所有访问位置0。
在选择一页淘汰时,总是选择其访问位为0且修改位也为0的页。
若无修改位为0的页,就选访问位为0且页号最小的页淘汰。
评价:
该算法不但希望淘汰的页是最近未使用的页,而且还希望被淘汰的页是在主存驻留期间其页面内容未被修改过。
系统对访问位清0的间隔时间T的确定是很关键的。
如果间隔时间T太大,可能所有页的访问位均已成为1,无法选择淘汰的页面。
如果间隔时间T太小,则可能很多页的访问位均是为0
基于Clock的NRU算法过程:
从指针位置开始扫描链表,扫描过程中不改变R位。
淘汰遇到的第一个R=0&M=0的页面。
若第1步失败,则再次扫描,淘汰遇到的第一个R=0&M=1的页面。
每个页面检查过后将R设为0。
若第2步失败,重复1和2(如果需要)。
(5)最少使用置换算法(LFU)
概念:
要求为每一页表项配置一个一定位数的计数器作为访问字段,开始时所有的计数器均为0。
一旦某页被访问时,其页表项中的计数器值加1。
系统每过一段时间T就将所有的页表项计数器清0。
在需要选择一页置换时,便比较各计数器的值,总是选择其计数值最小的页面淘汰。
评价:
该算法实现也较容易,但代价较高,而且合适的间隔时间T的选择也是难题。
6.段式存储管理的思想,段式虚拟存储管理流程
(1)段式存储管理的思想:
把程序按逻辑含义或过程分成段,每段都有自己的段名,用户程序可用段名和入指出调用一个段的功能,程序在编译或汇编时,再将段名定义一个段号,每段逻辑地址均是以0开始进行顺序编址,这样用户或进程的地址空间就形成了一个二维线性地址空间,任意一个地址必须首先指出段号,其次指出段内偏移地址,段式存储管理程序以段为单位分配主存,然后,执行时通过地址转换机构把段式逻辑地址转换成主存物理地址;
*在段式存储器中实现程序共享时,共享段的段号不一定要相同;
逻辑地址格式:
段号单元号
段式管理信息共享和保护:
共享:
只要用户使用相同的共享段名,系统在建立段表时,只须在相应的段表栏目上填入已在主存的段的始址和长度,即可实现程序和数据段的共享,从而提高系统主存的利用率。
保护:
(1)在段表中增设一个存取权限域。
存取权限可分为:
只执行(共享程序段)、只读(共享数据段)和可读/写(私人段)。
访问段时,核对存取权限。
(2)在地址转换时,将段表中的长度与段内地址比较,实现地址越界保护。
(2)段式虚拟存储管理实现原理
基本思想:
把作业的所有分段的副本都存放在外存上,当作业被调度投入运行时,首先把当前需要用的一段或几段装入主存,在执行过程中,访问到不在主存的段时,再通过缺段中断机构把它从外存上调入。
段式管理优缺点:
优点:
严格按程序的逻辑结构分配连续存储空间,方便程序和数据的共享与保护,同时也便于程序及数据段的扩充和动态连接。
缺点:
一个段的长度不能大于实际的主存容量,而且为了解决碎片问题,提高主存的利用率,必须采用移动技术,移动主存信息需要较大的系统开销。
(3)段页式虚拟存储管理
基本思想:
每个作业按逻辑分段,然后对每一段又分成若干页。
这样,每一段不必占用连续的主存空间,而是按页存放在不一定连续的主存页框中,并且当主存页框不够时只将一段的部分页面放在主存,用到不在主存中的页面时再将之调入。
段页式的逻辑地址格式:
段号页号单元号
段页式虚拟存储管理系统的优缺点
优点:
具有段式和页式的全部优点
缺点:
需要更多的硬件支持和中断处理,增加了系统的成本和复杂性。
☆分段与分页比较
分段是信息的逻辑单位,是用户可见的,段的大小是用户程序决定。
而分页是信息的物理单位,分页对用户来说是不可见的,页的大小是事先固定的。
第四章文件管理
1.文件存取方法
(1)顺序存取方法:
严格按照数据记录的排列顺序依次存取;
(2)直接存取方法:
允许用户随意读写文件的任意一个记录