操作系统复习总结.docx
- 文档编号:7653754
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:17
- 大小:1.16MB
操作系统复习总结.docx
《操作系统复习总结.docx》由会员分享,可在线阅读,更多相关《操作系统复习总结.docx(17页珍藏版)》请在冰豆网上搜索。
操作系统复习总结
第一章计算机系统概述
1、什么是高速缓存?
为加快CPU与内存的交互速度而增加的一层位于内存和CPU之间的缓冲存储器。
2、定义I/O操作的三种技术:
可编程IO:
处理器正在执行程序并遇到与I/O相关的指令时,它给相应的I/O模块发布命令(用以执行这个指令);在进一步的动作之前,处理器处于繁忙的等待中,直到该操作已经完成。
可中断IO:
当处理器正在执行程序并遇到与I/O相关的指令时,它给相应的I/O模块发布命令,并继续执行后续指令,直到后者完成,它将被I/O模块中断。
如果它对于进程等待I/O的完成来说是不必要的,可能是由于后续指令处于相同的进程中。
否则,此进程在中断之前将被挂起,其他工作将被执行。
DMA:
DMA模块控制主存与I/O模块间的数据交换。
处理器向DMA模块发送一个传送数据块的请求,(处理器)只有当整个数据块传送完毕后才会被中断。
3、空间局部性和时间局部性的区别
空间局部性:
指最近被访问的元素的周围的元素在不久的将来可能会被访问。
时间局部性:
指最近被访问的元素在不久的将来可能会被再次访问。
4、内存层次的各个元素间的特征是什么?
答:
价格,容量和访问时间。
5、什么是中断?
其他模块(I/O,存储器)中断处理器正常处理过程的机制。
6、多中断的处理方式是什么?
答:
处理多中断有两种方法。
第一种方法是当正在处理一个中断时,禁止再发生中断。
第二种方法是定义中断优先级,允许高优先级的中断打断低优先级的中断处理器的运行。
第二章:
操作系统概述
1、操作系统设计的目标:
操作系统是控制应用程序执行的程序,并充当应用程序和计算机硬件之间的接口。
它有三个设计目标:
方便、有效和扩展能力。
2、操作系统的功能(即提供的服务):
程序开发、程序运行、I/O设备访问、文件访问控制、系统访问、错误检测和响应、记账。
3、操作系统开发中的四个重要的理论进展(主要成就):
进程、内存管理、信息保护和安全、调度和资源管理。
4、现代操作系统的特征:
微内核体系结构、多线程、对称多处理、分布式操作系统、面向对象设计。
5、对称多处理器计算机的操作系统设计考虑因素:
并发进程或线程、调度、同步、内存管理、可靠性和容错性。
第五章并发性:
互斥和同步
1、进程的并发性与并行性:
并行性是指:
两个或多个事件在同一时刻发生。
两个或多个事件宏观上同时进行,且微观上也同时进行。
并发性:
是指两个或多个事件在同一时间段内发生。
宏观上并行,微观上串行。
并行性是指多处理机系统中的情况,而并发性指的是单处理机系统中的情况
并行性包含并发性与同时性。
2、进程间的相互作用:
在多道程序环境中,多个进程运行在计算机中。
进程之间存在着如下竞争与合作的关系:
--进程中的资源争用:
当并发进程竞争使用同一资源使,他们之间会发生冲突。
为了
避免冲突,当一个进程获得资源时,另一个进程必须等待。
这
种情况需要通过互斥机制来解决。
--进程间通过共享的合作:
一个进程等待另一个进程的执行,并且以另一个进程的结果作为本进程的执行条件,就形成了同步机制。
--进程间通过通信的合作:
通信提供了同步和协调各种活动的方法,例如:
各种类型的消息、发送或接收消息的原语(或者程序)以及由操作系统内核提供的通信功能。
3、互斥:
若干进程访问同一资源,任何时刻只允许一个进程使用,其他进程必须等待,直到占用者释放该资源。
4、同步:
系统中多个进程发生的事件存在某种时序关系,需要相互合作,共同完成一项
任务。
--经典进程同步互斥问题:
生产者-消费者问题、哲学家进餐问题。
5、临界区
5.1临界资源:
一次只允许一个进程访问的资源。
例如打印机、变量等。
5.2临界区:
进程中访问临界资源的一段程序代码。
只有让使用临界资源的进程互斥的进入临界区,才能保证某一进程单独的使用临界资源。
如果能够保证诸进程互斥的进入自己的临界区,便可实现它们对临界资源的互斥访问。
为此:
53进入区:
在某进程进入临界区之前,检查可否进入临界区的一段代码。
如果可以进入临界区,设置“正在访问临界区”标志。
5.4退出区:
在临界区后面加上一段退出区代码,将临“界区正在被访问”的标志恢复为“未被访问”标志。
5.5、互斥执行应该遵循的准则:
--空闲则入:
没有进程处于临界区
--忙则等待:
已经有一个进程处于其临界区
--有限等待:
等待进入临界区的进程不能无限等待
--让权等待:
不能进入临界区的进程,应该释放CPU(如转换到阻塞状态),不阻止其他进程进入。
5.6、进入临界区的进程必须满足如下关系:
处于临界区的进程不可多于一个、进入临界区的进程要在有限时间内退出。
6、信号量
多道程序的并发执行需要一个地位高于进程的管理者来解决共有资源的使用问题。
OS系统可以从进程管理者的角度处理互斥问题。
信号量就是OS提供的管理共有资源的有效手段。
6.1信号量:
用于进程间传递信号的一个整数值。
也称为计数信号量或一般信号量。
是一中卓有成效的进程同步机制
--每个信号量S除一个整数值S.count(计数)外,还有一个进程等待队列S.queue,队列中是阻塞在该信号量的各个进程的标识。
--信号量只能通过初始化和两个标准的原语来访问
--初始化指定为一个非负整数值,表示空闲资源总数(又称为“资源信号量”),——如果当前值为非负值表示当前的空闲资源总数,若为负值其绝对值表示当前等待临界区的进程数。
6.2信号量分类:
6.2.1二元信号量:
允许取值为“0”和“1”,主要用作互斥变量(类似于二元信号量,关键区别在于为其加锁(设定值为0)的进程和为其解锁(设定值为1)的进程必须为同一个进程)
6.2.2一般信号量:
允许取值为非负整数,主要用于进程间的同步问题。
6.3用信号量解决互斥与同步问题。
(了解)
7、管程
信号量临界资源的访问分散在各进程之中,不便于系统对临界资源的控制盒管理,
也无法发现和纠正分散在用户程序中不正确使用同步原语的操作等问题。
7.1管程:
由局部于管程内的数据和一个或多个内部过程所组成的模块或程序包。
它作为管理进程间同步的机制,保证进程互斥的访问共享变量,并且提供了一个方便的阻塞和唤醒进程的机构。
7.2管程内的数据结构只能被管程内的过程所访问,不能被管程外的过程对其进行操作。
反之,管程内的过程只能访问管程内的数据结构。
因此管程相当于文强一样把共享变量(数据结构)和对它进行的若干操作过程围了起来。
进程要访问共享资源(进入围墙使用某操作过程)就必须经过管程(围墙的门)才能进入,
每次只允许一个进程进入管程内,即互斥的访问共享资源。
7.3用管程的方法实现同步问题。
(了解)
8、进程交互时,必须满足两个基本的要求:
同步和通信(进程间的信息交换)。
第六章并发:
死锁和饥饿
1、死锁的定义:
各并发进程彼此互相等待对方所拥有的资源,并且这些并发进程在得到对
方的资源之前不会释放自己所拥有的资源,从而造成无法向前推进的状态。
2、产生死锁的原因:
并发进程对互斥资源的共享以及并发执行的顺序不当。
例如:
双方都
拥有部分资源,同时请求对方已占有的资源。
3、死锁发生的充分必要条件:
--资源互斥:
任何时刻只允许一个进程使用资源。
(不可避免)
--占有且等待:
进程在请求其余资源时,不主动释放已经占用的资源。
--不可剥夺性:
进程已经占用的资源,不会被强制剥夺。
--循环等待:
环路中的每一条边均是进程在请求另一进程已经占有的资源。
只有以上四个条件都满足时才会出现死锁。
前三个条件是死锁的必要条件但不充分。
第四个
蕴含了前三个条件的成立。
4、处理死锁的基本方法:
--死锁的预防:
防止前三个必要条件中的任何一个发生、防止第四个条件的发生
·占有且等待的预防:
一是要求每个进程在运行之前申请它所需要的全
部资源,这样在运行时就不需要再申请资源;二是规定每个进程在请求新的资源之前必须释放所占有的资源。
·不可剥夺性:
破坏非剥夺性。
·循环等待:
为确保系统在任何时候都不会进入循环等待的状况,将所有
资源分类线性编码排序。
--死锁的避免:
动态预防。
在系统动态分配资源的过程中,模拟测算出死锁发生的可能性并加以预防。
·进行模拟分配的测算算法为“银行家算法”(资源分配拒绝策略):
当进程请求一组资源时,假设同意该请求,从而改变系统状态,然后确定其结果是否还处在安全状态,如果是,同意该请求;否则,阻塞该请求直到同意该请求后仍是安全的。
--死锁的检测:
使系统定时监测系统是否发生了死锁,如果有死锁发生时就设法解除死锁。
5、死锁的解除办法:
--终止进程:
终止一个或多个进程的执行。
--回退:
如果存在预先设置某些检查点,则回到这些检查点重新运行。
--连续取消死锁进程直到不再发生死锁为止。
--抢夺资源:
从涉及死锁的一个或多个进程中抢夺资源。
检测和解除死锁要付出很大的代价,一般来说,每种死锁的处理方法都有其优点和缺点。
所以操作系统采用的是综合的解决策略:
--把资源分成几组不同的资源类
--为预防在资源类之间由于循环等待产生死锁,可以使
用前面定义的线性排序策略。
--在一个资源类中,使用该类资源最适合的算法。
第七章内存管理
操作系统必须有效的分配内存资源来保证有适当数目的就绪进程可以占用可用的处理器时间,依此来提高主存的利用效率。
内存管理的目的(功能):
·主存的分配与回收:
为每道程序分配内存空间,使它们“各得其所”。
·提高主存的的利用率:
减少不可用的存储空间,允许多道程序动态共享主存。
·存储保护:
确保每道程序都在自己的内存空间运行,互不干扰。
·内存扩充:
从逻辑上扩充内存容量,使用户系统所拥有的内存空间远比其实际
的内存空间(硬件RAM)大得多。
1、内存管理的需求(管理内存时需要考虑的问题):
--重定位:
把相对地址转换成内存中的绝对地址的过程称为地址重定位——地址
映射。
--保护:
每个进程都应该受到保护,以免被其他进程有意或无意的干涉。
因此该进程以外的其他进程中的程序不能XX地访问(进行读操作或写操作)该进程的内存单元。
--共享:
任何保护机制都必须具有一定的灵活性,以允许多个进程访问内存的同
一部分。
--逻辑组织
--物理组织
2、重定位
·逻辑地址、相对地址和物理地址间有什么区别?
--逻辑地址:
指与当前数据在内存中的物理分配地址无关的访问地址,在执行对内存的访问之前必须把它转化成物理地址。
--相对地址:
逻辑地址的一个特例,是相对于某些已知点(通常是程序的开始处)的存储单元。
--物理地址(绝对地址):
数据在主存中的实际位置。
·地址重定位按照重定位的时机可以分为静态重定位和动态重定位。
--静态重定位:
在程序执行之前进行重定位。
--动态重定位:
在程序执行过程中进行地址重定位,即在每次访问内存单元前才
进行地址变换。
--基址寄存器:
载入程序在内存中的起始地址。
--界限寄存器:
指明程序终止的位置。
P227图7.8
首先,基址寄存器中的值加上相对地址产生一个绝对地址;然后,得到的结果与界限寄存器的值比较,如果这个地址在界限范围内,则继续当前指令的执行;否则,向操作系统发出一个中断信号,操作系统必须以某种方式对这个错误做出响应。
3、内存分区(不涉及虚拟内存):
内存管理最基本的操作是利用处理器把程序装入内存中执行。
--固定分区:
把内存分成若干边界固定的区域。
一种是使用大小相等的分区,另
一种是使用大小不等的分区。
由于分区固定,且被装入的数据块总
是小于等于分区大小,从而导致分区内部有空间浪费,这种现象称
为内部碎片。
·等大小分区:
在这种情况下,小于或的等于分区大小的任何进程都可
以装入任何可用的分区。
由于被装入的数据块小于等于
分区大小,从而导致出现内部碎片。
·不等大小分区:
优点:
通过使用大小不等的固定分区:
1.可以在提供
很多分区的同时提供一到两个非常大的分区。
大的分区
允许将很大的进程全部载入主存中。
2.由于小的进程可
以被放入小的分区中,从而减少了内部碎片。
--动态分区:
当进程被装入内存时,系统会给它分配一块和它所需要容量完全
相等的内存空间。
动态分区在开始时很好,但它最终会在所有分
区外的存储空间变成越来越多的碎片——外部碎片。
·压缩:
克服外部碎片的一种技术。
操作系统不时的移动进程,使得进
程占用的空间连续,并且使得所有的空闲空间连成一片。
·放置算法:
由于内存压缩非常费时,因而操作系统需要巧妙地把进程
分配到内存中,塞住内存中的那些洞。
--三种放置算法:
最佳适配、首次适配和下次适配。
所有这三
种算法都是在内存中选择等于或大于该进程的空闲块。
三种放置算法的差别:
--最佳适配:
选择与要求大小最接近的快。
--首次适配:
从开始扫描内存,选择大小足够的第一
个可用块。
--下次适配:
从上一次放置的位置开始扫描内存,选
择下一个大小足够的块。
--伙伴系统:
动态分区的维护特别复杂,并且引入了进行压缩的额外开销,伙
伴系统是一种更有吸引力的折中方案。
但在当前系统中,基于分
页和分段机制的虚拟内存更先进。
4、简单分页和简单分段
大小不等的固定分区和大小可变的分区技术在内存的使用上都是低效的,前者会产生内部碎片,后者会产生外部碎片。
但是,如果内存被划分成大小固定相等的块,且块相对比较小——页框(内存),每个进程也被分成同样大小的小块——页(进程),那么进程中称为页的块可以指定到内存中称为页框的可用块。
--页框(帧):
主存被分成了同样大小的小块。
--页:
在分页系统中,进程和磁盘上存储的数据被分成大小固定相等的小块。
--页框和页的关系:
页的大小是页框大小的2的幂次方。
--段:
采用分段技术,程序和相关的数据被划分成一组段。
尽管有一个最大段
长度,但并不需要所有的程序的所有段的长度都相等。
--页与段的关系:
直接写出页和段的概念即可。
·简单分页技术:
采用简单分页技术,每个进程被划分为同样大小的页,当一个进程被
装入时,它的所有页都被装入到可用页框中,并建立一个页表。
--页表:
页表给出了该进程的每一页对应的页框的位置。
给出逻辑地址(页号,
偏移量),处理器使用页表产生物理地址(页框号,偏移量)。
--页表项:
页表中的每一项,包含有与内存中的页框相对应的页框号。
--逻辑地址(相对地址)如何转换成物理地址?
逻辑地址(页号,偏移量)—>进程页表(页框号)—>物理地址(页框号,偏移量)
--简单分页技术的特点(与固定分区技术的差别):
·使用分页技术在内存中为每个进程浪费的空间,仅仅是进程最
后一页的一小部分形成的内部碎片,没有任何外部碎片
·采用分页技术的分区相当小,一个程序可以占据多个分区,并
且这些分区不需要的连续的。
·简单分段技术:
采用简单分段技术,进程被划分为许多段,段的大小不需要相等;当
一个进程被调入时,它的所有段都被装入内存的可用区域,并建立一
个段表。
--进程段表:
给出相应的段的长度(确保不会是无用的地址)和段在内存中
的起始地址。
即:
段表(长度,基)。
--逻辑地址(相对地址)如何转换成物理地址?
逻辑地址(页号,偏移量)—>段表(长度,基)—>物理地址(基+偏移量)
#在第一个箭头中,需要将偏移量和段长度进行比较,如果偏移量大于该段长度,则这个
地址无效。
--简单分段技术的特点(与动态分区技术的差别):
·在分段方案中,一个进程可以占据多个分区,并且这些分区不
要求是连续的。
分段消除了内部碎片,但和动态分区一样会产
生外部碎片,不过由于进程被分成多个小块,因此外部碎片也
会很小。
第八章虚拟内存
1、局部性原理
在一段时间内,程序的执行仅局限于某个部分(时间局限性);相应地,它所访问
的存储空间也局限于某个区域内(空间局限性)。
2、虚拟内存:
--虚拟内存的基本原理:
根据局部性原理,一个作业在运行之前,没有必要把全部作业装入内存,而
仅将当前需要运行的那部分页面或段先装入内存便可启动运行,其余部分暂
时留在磁盘上。
--虚拟内存的概念:
使一个大的用户程序在较小的内存空间中运行;也可使内存中同时装入更多
的进程并发执行。
从用户角度看,该系统所具有的内存容量要比实际内存容
量大得多,人们把这样的存储器称为虚拟存储器。
--虚拟内存术语:
·实存储器:
实际内存。
·虚拟内存:
外部存储器,二次(二级)存储器,磁盘。
用户程序暂时不在
内存中运行的那部分代码所占据的外出空间即为虚拟内存。
·虚拟地址:
在虚拟内存中分配给某一位置的地址使得该地址可以被访问,
仿佛它是主存的一部分。
·虚拟地址空间:
分配给进程的虚拟存储。
·(实)地址:
内存中存储位置的地址。
·(实)地址空间:
可用于某进程的内存地址范围。
·常驻集:
进程执行中的任何时候都在内存的部分。
·系统抖动:
处理器的大部分时间都用于交换块而不是执行指令。
3、分页和分段的两个特点:
·进程中的所有内存访问都是逻辑地址,这些逻辑地址在运行时动态地被转
换成物理地址。
·一个进程可以被划分成许多块(页和段),在执行过程中,这些块不需要连
续的位于内存中。
4、虚拟分页技术:
--页表项:
页表中的每一项
P
M
其他控制位
页框号
-存在位P:
表示这一页是否当前在主存中。
-修改位(M):
表示这一页在放进主存后是否被修改过。
-页框号:
表示主存中的页来按顺序排列的号码。
--转移后备缓冲器:
一个包含最近经常被使用过的页表项的高速缓冲存储器。
它的
减少从磁盘中恢复一个页表项所需的时间。
5、虚拟分段技术:
---短表项:
P
M
其他控制位
长度
段基址
6、用于虚拟内存的相关策略:
--读取策略:
确定一个页何时取入内存。
在请求式分页中,只有当访问到某页中的一个单元时才将该页取入主存。
在预约式分页中,读取的并不是页错误请求的页。
--放置策略:
决定一个进程块驻留在实存中的什么地方。
最佳适配、首次适配等。
--置换策略:
处理在必须读取一个新页时,应该置换内存中的哪一页。
·基本算法:
最佳置换(OPT):
选择置换下次访问距当前时间最长的那些页。
该
算法能导致最少的缺页中断,但它要求操作系统必须知道将来
的事件,因此不可能实现。
仅作为一种标准衡量其他算法的性
能。
最近最少使用(LRU):
置换内存中上次使用距当前最远的页。
根据
局部性原理,这也是最近不可能访问到的页,较难实现。
先进先出(FIFO):
置换内存中最先进来的那些页。
--驻留集管理
--清除策略
--加载控制
第九章单处理器调度
调度决定哪个进程必须等待,哪个进程可以继续执行。
1、处理器调度的目的:
以满足系统目标(如响应时间、吞吐率、处理器效率)的方式,把进程分配到一个或多个处理器上执行。
2、调度的类型:
·长程调度:
决定是否把进程添加到当前活跃的进程集合中;
·中程调度:
是交换功能的一部分,决定是否把进程添加到那些至少部分在内存中
并且可以被执行的进程集合中去;
·I/O调度:
决定哪一个进程挂起的I/O请求将被可用的I/O设备处理
·短程调度:
决定下一次执行哪一个就绪进程。
本章重点:
单处理器中的短程调度问题。
3、选择调度策略:
——P287
--选择函数:
确定在就绪进程中选择哪一个进程在下一次执行
W:
到现在为止,在系统中停留的时间
e:
到现在为止,花费的执行时间
s:
进程所需要的总服务时间,包括e。
--服务时间(Ts):
进程所需要的整个执行时间。
--周转时间(Tr):
驻留时间,或这一项在系统中花费的总时间(等待时间+服务时间)。
--决策模式:
说明选择函数在被执行的瞬间的处理方式。
通常可分为两类:
·非抢占式:
在这种情况下,一旦进程处于运行态,他就不断执行直到终止,
或者为等待I/O或请求某些操作系统服务而阻塞自己。
·抢占式:
当前正在运行的进程可能被操作系统中断,并转移到就绪态。
关于
抢占的决策可能是在一个新进程到达时,或者在一个中断发生后把
一个被阻塞的进程置为就绪态时,或者基于周期性的时间中断。
--调度策略:
·先来先服务(FCFS):
当每个进程就绪后,它加入就绪队列。
当当前正在运
行的进程停止执行时,选择在就绪队列中存在时间最长的进程运行。
·轮转(RR),q=1(RR),q=4:
以一个周期性间隔产生时钟中断,当中断产生
时,当前正在运行的的进程被置于就绪队列中,然后基于FCFS策略选择下一个就绪作业运行。
·最短剩余事件(SPN):
在这种情况下,调度器总是选择预期剩余时间最短
的进程。
当一个新进程加入到就绪队列时,他可能比
当前运行的进程具有更短的剩余时间,因此,只有新
进程就绪,调度器就可能抢占当前正在运行的进程。
·最短进程优先(SRT):
这是一个非抢占的策略,其原则是下一次选择所需处
理时间最短的进程。
·最短响应比优先(HRRN):
在当前进程完成或被阻塞时,选择R值最大的就
绪进程。
R=(w+s)/s,w等待处理器的时间,s期待的服务时间。
·反馈(FB)FBq=1FBq=2(i):
调度基于抢占原则并且使用动态优先
级机制。
当一个进程第一次进入系统时,它被放置在RQ0。
当它第一次被抢占后并返回就绪状态时,它被防止在RQ1。
在随后的时间里,每当它被抢占时,它被降级到下一个低优先级队列中。
一个短进程很快会执行完,不会在就绪队列中降很多级。
一个长进程会逐级下降。
因此,新到的进程和短进程优先于老进程和长进程。
在每个队列中,除了在优先级最低的队列中,都使用简单的FCFS机制。
一旦一个进程处于优先级最低的队列中,它就不可能再降低,但是会重复地返回该队列,直到运行结束。
第十一章I/O管理和磁盘调度
I/O管理:
1、I/O设备的分类:
人可读、机器可读和通信。
2、执行I/O的三种技术:
可编程I/O、中断驱动I/O、直接存储器访问(DMA)。
3、直接访问存储器(DMA):
--概念:
一个DMA模块控制主存和I/O模块之间的数据交换。
为传送一块数据,处理器给DMA模块发送请求,只有当整个数据块传送完成后,处理器才被中断。
--目的:
模拟处理器,能够像处理器一样获得系统总线的控制权。
使得能够利用系统总线与存储器进行双向数据传送。
--优点:
通过把DMA和I/O功能集成起来,可以大大减少所需要的总线周期的数目,可以很容易地进行扩展的配置。
4、设计目标:
最重要的两个目标——效率和通用性。
5、I/O功能的逻辑结构:
逻辑I/O和设备I/O有什么区别?
·逻辑I/O:
逻辑I/O模块把设备当作一个逻辑资源来处理,它并不关心实际控制设备的细节。
逻辑I/O模块代表用户进程管理的一般I/O功能,允许它们根据设备标识符以及诸如打开、关闭、读、写之类的简单命令与设备打交道。
·设备I/O:
请求的操作和数据(缓冲的数据、记录等)被转换成适当的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 复习 总结