厦门大学实用操作系统重点.docx
- 文档编号:27421466
- 上传时间:2023-06-30
- 格式:DOCX
- 页数:17
- 大小:1.29MB
厦门大学实用操作系统重点.docx
《厦门大学实用操作系统重点.docx》由会员分享,可在线阅读,更多相关《厦门大学实用操作系统重点.docx(17页珍藏版)》请在冰豆网上搜索。
厦门大学实用操作系统重点
第一章:
1.寄存器类型及其作用
处理器寄存器
用户可见寄存器(数据寄存器(被程序员分配给各种函数)、地址寄存器(存放数据和指令的地址)、索引寄存器(基于一个基数+索引值寻找地址)、段指针(存分段的地址)、栈指针(不用直接访问部数据)):
优先使用,减少对主存的访问。
控制和状态寄存器
(程序计数器(包含取指令的地址)、指令寄存器(包含取指令的容)、程序状态字(包含状态信息,如条形码)、中断寄存器(指向中断指令,包含程序、时钟、I/O、硬件失效中断)):
控制处理器的操作。
2.处理器金字塔结构模型
3.命中率,平均存储时间计算
4.缓冲的作用,及其解决的问题
占据主存的一部分空间,主存将处理器所需的信息搬运到缓冲中,缓冲对操作系统可见,并由操作系统首先访问。
加快存的访问速度,解决处理器的速度远大于存访问速度的问题。
缓冲在与处理器之间进行字传输,与存进行块传输。
5.DMA执行过程
处理器要读或写一块数据时,会给DMA模块发送一条命令,然后处理器继续它的工作,接来下由DMA模块替代处理器完成数据的传输任务,任务完成后发给处理器一个中断指令,然后由处理器接管。
第二章:
1.操作系统的构成及其特点
并发性:
指两个或两个以上的事件或活动在同一时间间隔发生。
发挥并发性能够消除系统中部件和部件之间的相互等待,有效地改善系统资源
的利用率,改进系统的吞吐率,提高系统效率。
并行性:
指两个或两个以上的事件或活动在同一时刻发生,是并发的特例。
共享性:
指操作系统中的资源可被多个并发执行的进程所使用。
分成两种资源共享方式:
互斥访问和同时访问。
异步性:
给系统带来潜在危险,有可能导致与时间有关的错误。
操作系统的一个重要任务是必须确保捕捉任何一种随机事件,正确处理可能发
生的随机事件,正确处理任何一种产生的事件序列,否则将会导致严重后果。
虚拟性:
指操作系统中的一种管理技术,它是把物理上的一个实体变成逻辑上的多个对
应物,或把物理上的多个实体变成逻辑上的一个对应物的技术。
在操作系统中,并发性、共享性和异步性的主体是进程(或者说程序)。
部件之间的并行性是围绕进程并发性展开的,是进程并发性的一部分。
2.操作系统的发展历史,开始->现在,出现了几种操作系统,及其相应的特点与其能够解决的问题,衔接的关键点
三种基本类型:
批处理、分时操作、实时操作系统。
其他类型:
微机、并行、网络、分布式、嵌入式操作系统。
批处理操作系统:
批量化处理作业方式的操作系统。
优缺点:
用户提交作业后直至获得结果之前不再和计算机及他的作业交互,不
利于调试和修改程序。
分时操作系统:
允许多个联机用户同时使用一台计算机系统进行计算的操作系统。
实时操作系统:
指当外界事件或数据产生时,能接收并以足够快的速度予以处理,处理
的结果又能在规定时间来控制监控的生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的操作系统。
根据批处理操作系统、分时操作系统、实时操作系统、微机操作系统、网络操作系统、
分布式操作系统、嵌入式操作系统的主要差异分析操作系统的发展创新方向或途径
上述操作系统具有管理系统资源的核心功能和相似的资源管理技术,批处理操作系统和
分时操作系统的主要差异在于使用方式或作业控制方式不同,这种不同属于调度策略畴,
不属于核畴,两种操作系统完全可以具有相同的核。
实时操作系统的实时性属于系统性能畴,系统性能的约束对操作系统核的结构及算
法的影响是深刻的。
实时操作系统核与其它操作系统的核往往不具有可替换性。
微机操作系统、网络操作系统、分布式操作系统与嵌入式操作系统的差异则与硬件体系
结构的差异密切相关。
这类操作系统往往可以通过改造、扩充或裁剪某一通用操作系统生成。
由上分析,操作系统的发展创新围绕核和外围特性等方面展开,具体途径有使用方式
的改变、性能要求、硬件体系结构的适应性要求等。
第三章:
1.进程的概念,它出现的目的是什么
概念:
进程是一个可并发执行的具有独立功能的程序关于某个数据集合的一次执行过
程,也是操作系统进行资源分配和保护的基本单位。
出现目的:
2.单道程序的顺序执行发展到多道程序的并发执行之后出现了哪些问题,操作系统是如何解决这些问题的
3.进程的状态模型,各个状态的定义,及它们进行相互转化的过程和条件
三态:
运行态(running):
进程占有处理器正在运行。
就绪态(ready):
进程具备运行条件,等待系统
分配处理器以便运行。
阻塞态(wait):
又称为阻塞态或睡眠态,不具
备运行条件,正在等待某个事完成。
挂起态:
进程在操作系统中可以定义为暂时被淘汰出存的进程,机器的资源是有限的,在资源不足的情况下,操作系统对在存中的程序进行合理的安排,其中有的进程被暂时调离出存,当条件允许的时候,会被操作系统再次调回存,重新进入等待被执行的状态即就绪态,系统在超过一定的时间没有任何动作.
转换:
运行态→等待态:
等待使用资源或某事件发生;
等待态→就绪态:
资源得到满足或事件发生;
运行态→就绪态:
运行时间片到;出现有更高优先权进程;
就绪态→运行态:
CPU空闲时选择一个就绪进程。
4.进程管理的数据结构(主要为“队列”)
进程的结构包括:
进程控制块;进程程序块;进程核心栈;进程数据块。
其中容随着进程的执行不断发生变化,某时刻进程的容及状态集合称为进程映像。
5.进程的描述与控制,PCB的组成
第四章:
1.线程的概念,及其与进程概念的区别
线程是操作系统进程中能够独立执行的实体(控制流),是处理器调度和分派的基本单
位。
线程是进程的组成部分,每个进程允许包含多个并发执行的实体(控制流),这就是
多线程。
同一进程中的所有线程共享进程获得的主存空间和资源,但不拥有资源。
2.对称多处理、微核的概念
对称多处理:
(SymmetricalMulti-Processing)又叫SMP,是指在一个计算机上汇集了一组处理器(多CPU),各CPU之间共享存子系统以及总线结构。
它是相对非对称多处理技术而言的、应用十分广泛的并行技术。
微核:
(Microkernel)是提供操作系统核心功能的核的精简版本,它设计成在很小的存空间增加移植性,提供模块化设计,以使用户安装不同的接口,如UNIX、DOS、Windows、WorkplaceOS、WorkplaceUNIX等。
微核的目标是将系统服务的实现和系统的基本操作规则分离开来。
例如,进程的输入/输出锁定服务可以由运行在微核之外的一个服务组件来提供。
这些非常模块化的用户态服务器用于完成操作系统中比较高级的操作,这样的设计使核中最核的部分的设计更简单。
一个服务组件的失效并不会导致整个系统的崩溃,核需要做的,仅仅是重新启动这个组件,而不必影响其它的部分
第五章:
1.并发、并行、互斥、同步、临界区、信号量(二元、普通)、管程、消息传递等的概念
并发:
在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。
并行:
进程互斥:
是指若干进程要使用同一共享资源时,任何时刻最多允许一个进程使用,其
他要使用该资源的进程必须等待,直到占有资源的进程释放该资源。
它是解
决进程间竞争关系(间接制约关系)的手段。
临界区管理可以解决进程互斥问题。
进程同步:
是指两个以上进程基于某个条件来协调它们的活动。
一个进程的执行依赖于
协作进程的消息或信号,当一个进程没有得到来自于协作进程的消息或信号
时需等待,直到消息或信号到达才被唤醒。
进程的同步是解决进程间协作关
系(直接制约关系)的手段。
临界区:
并发进程中与共享变量有关的程序段叫“临界区”;共享变量代表的资源叫“临界资源”。
信号量:
操作系统中,信号量是用来表示物理资源的实体,信号量是一种软资源。
它是一个
与队列有关的整型变量。
实现时,信号量是一种记录型数据结构,有两个分量:
一
个是信号量的值,另一个是信号量队列的队列指针。
P、V操作:
除赋初值外,信号量仅能由同步原语P、V操作对其进行操作,没有任何其他
方法可以检查和操作信号量。
P操作表示申请某种资源,V操作表示释放某种资源。
管程:
是由局部于自己的若干公共变量及其说明和所有访问这些公共变量的过程所
组成的软件模块。
管程的三个组成部分:
1)局部于管程的共享变量;
2)对数据结构进行操作的一组过程;
3)对局部于管程的数据进行初始化的语句。
2.解决同步和互斥的方法(1.硬件的支持2.信号量方法,通过信号量的值的变化来处理这个问题,比如卡车过隧道(10分以上的比例))
主要指掌握PPT上面的习题~
3.管程已经解决了互斥的问题,只需要考虑同步的问题
4.信号量的用法,设立信号量,然后通过P、V操作.
typedefstructsemaphore{
intvalue;//信号量值
structpcb*list;//信号量队列指针
};
voidP(semaphore&s){
s.value--;
if(s.value<0)
W(s.list);//将P操作调用者进程置为阻塞状态并移入s信号量队列,转进程调度
}
voidV(semaphore&s){
s.value++;
if(s.value<=0)
R(s.list);//从信号量s队列中释放一个等待信号量s的进程并转换成就绪态,自己则继
续执行
}
5.读者,写者;消费者,生产者问题
读者、写者问题:
消费者、生产者问题:
也称有限缓冲问题(英语:
Bounded-bufferproblem),是一个多线程同步问题的经典案例。
该问题描述了两个共享固定大小缓冲区的线程——即所谓的“生产者”和“消费者”——在实际运行时会发生的问题。
生产者的主要作用是生成一定量的数据放到缓冲区中,然后重复此过程。
与此同时,消费者也在缓冲区消耗这些数据。
该问题的关键就是要保证生产者不会在缓冲区满时加入数据,消费者也不会在缓冲区中空时消耗数据。
要解决该问题,就必须让生产者在缓冲区满时休眠(要么干脆就放弃数据),等到下次消费者消耗缓冲区中的数据的时候,生产者才能被唤醒,开始往缓冲区添加数据。
同样,也可以让消费者在缓冲区空时进入休眠,等到生产者往缓冲区添加数据之后,再唤醒消费者。
通常采用进程间通信的方法解决该问题,常用的方法有信号灯法等。
如果解决方法不够完善,则容易出现死锁的情况。
出现死锁时,两个线程都会陷入休眠,等待对方唤醒自己。
该问题也能被推广到多个生产者和消费者的情形。
第六章:
1.死锁,饥饿的概念,及其产生的条件和解决方法
死锁:
如果在一个进程集合中的每个进程都在等待只能由该集合中的其他进程才能引发
的事件,而无限期陷入僵持的局面称为死锁。
产生死锁的四个必要条件:
1、互斥条件
2、占有和等待条件(部分分配条件)
3、不剥夺条件
4、循环等待条件(环路条件)
预防死锁:
是通过对资源分配策略加以限制,使得按这样一种策略分配资源,某个必要
条件不成立,以达到死锁的预防目的。
缺点:
资源使用效率不高
避免死锁:
是对资源分配策略不限制,在执行中万一有可能导致死锁时,就小心地避免
这种情况的最终发生。
饥饿:
与死锁和活锁非常相似。
是指一个可运行的进程尽管能继续执行,但被调度器无限期地忽视,而不能被调度执行的情况。
[1]饥饿可以通过先来先服务资源分配策略来避免。
2.如何判断死锁(资源分配有向图,看有没有环路,如果所有资源只有1个,且出现环路,肯定死锁;反之,则不一定)
检测系统是否处于死锁状态:
(1)如果进程-资源分配图中无环路,则此时系统没有发生死锁。
(2)如果进程-资源分配图中有环路,且每个资源类中仅有一个资源,则系统中发生了死锁,
此时,环路是系统发生死锁的充要条件,环路中的进程便为死锁进程。
(3)如果进程-资源分配图中有环路,且涉及的资源类中有多个资源,则环路的存在只是产
生死锁的必要条件而不是充分条件。
化简方法:
在进程-资源分配图中找出一个既不阻塞又非孤立的进程,消去图中此进程的
所有请求边和分配边,使之成为孤立的节点。
经一系列简化,使所有进程成为孤立结点,则
该图是可完全简化的;否则则称该图是不可完全简化的。
系统为死锁状态的充分条件是:
当且仅当该状态的进程-资源分配图是不可完全简化的。
3.该充分条件称为死锁定理死锁产生的四个比较条件:
1.互斥2.占有且等待3.非抢占4.循环且等待
见1
4.打破死锁的方式:
1.避免四个条件(避免)2.打破四个条件(预防)
见1
5.银行家算法;安全序列算法,如何检测与使用,具体问题具体分析,主要涉及资源的需求与分配问题。
银行家算法:
是一种最有代表性的避免死锁的算法。
在避免死锁方法中允许进程动态地申请资源,但系统在进行资源分配之前,应先计算此次分配资源的安全性,若分配不会导致系统进入不安全状态,则分配,否则等待。
为实现银行家算法,系统必须设置若干数据结构。
要解释银行家算法,必须先解释操作系统安全状态和不安全状态。
安全序列是指一个进程序列{P1,…,Pn}是安全的,即对于每一个进程Pi(1≤i≤n),它以后尚需要的资源量不超过系统当前剩余资源量与所有进程Pj(j
安全状态:
如果存在一个由系统中所有进程构成的安全序列P1,…,Pn,则系统处于安全状态。
安全状态一定是没有死锁发生。
不安全状态:
不存在一个安全序列。
不安全状态不一定导致死锁。
数据结构:
1)可利用资源向量Available
是个含有m个元素的数组,其中的每一个元素代表一类可利用的资源数目。
如果Available[j]=K,则表示系统中现有Rj类资源K个。
2)最大需求矩阵Max
这是一个n×m的矩阵,它定义了系统中n个进程中的每一个进程对m类资源的最大需求。
如果Max[i,j]=K,则表示进程i需要Rj类资源的最大数目为K。
3)分配矩阵Allocation
这也是一个n×m的矩阵,它定义了系统中每一类资源当前已分配给每一进程的资源数。
如果Allocation[i,j]=K,则表示进程i当前已分得Rj类资源的数目为K。
4)需求矩阵Need。
这也是一个n×m的矩阵,用以表示每一个进程尚需的各类资源数。
如果Need[i,j]=K,则表示进程i还需要Rj类资源K个,方能完成其任务。
Need[i,j]=Max[i,j]-Allocation[i,j]
具体课本上有例子,懒得打~
6.定期地对死锁进行检测,并用四种方法进行处理
7.对死锁的处理方法:
鸵鸟策略,不闻不问
传说中鸵鸟看到危险就把头埋在地底下。
当你对某一件事情没有一个很好的解决方法时,那就忽略它,就像鸵鸟面对危险时会把它深埋在沙砾中,装作看不到。
这样的算法称为“鸵鸟算法“。
这实在不算是一个算法,但却是目前实际系统采用最多的一种策略。
例如在计算机操作系统中,当死锁真正发生且影响系统正常运行时,手动干预—重新启动。
第七章:
1.覆盖、重定位、存紧缩、TOD等的概念
重定位:
就是把程序的逻辑地址空间变换成存中的实际物理地址空间的过程,也就是说在装入时对目标程序中指令和数据的修改过程。
他是实现多道程序在存中同时运行的基础。
重定位有两种,分别是动态重定位与静态重定位
静态重定位
定义:
在程序装入时根据程序所装入的存位置由装入程序依据重定位信息一次性将程
序中所有的逻辑地址都转变为物理地址,然后程序开始执行,地址转换和程序指
令执行明确地分为两个阶段,这种方式称为静态重定位(可重定位装入方式)。
优缺点:
静态重定位不允许程序在存中移动位置。
静态重定位无须硬件支持,易于实现。
动态重定位
定义:
在程序执行过程中,地址转换工作穿插在指令执行的过程中,每执行一条指令,
CPU对指令中涉及的逻辑地址进行转换,这种方式称为动态重定位(动态运行时
装入方式)。
优缺点:
动态重定位允许程序在存中移动位置。
覆盖:
意为对同一个硬盘区域的数据重写。
抖动:
在计算机操作系统的抖动,又叫颠簸。
操作系统的抖动,又叫颠簸。
如果分配给进程的存储块数量小于进程所需要的最小值,进程的运行将很频繁地产生缺页中断,这种频率非常高的页面置换现象称为抖动。
在请求分页存储管理中,可能出现这种情况,即对刚被替换出去的页,立即又要被访问。
需要将它调入,因无空闲存又要替换另一页,而后者又是即将被访问的页,于是造成了系统需花费大量的时间忙于进行这种频繁的页面交换,致使系统的实际效率很低,严重导致系统瘫痪,这种现象称为抖动现象。
TOD:
2.存的分配管理方法(分页、分段、分区等)
统统参见另一份文档的第四章
3.每一种管理方案是如何确定分区大小的,其对应的数据结构是什么
4.动态分区和静态分区的对应置换算法
5.分页逻辑地址到物理地址的转换方法
6.分级页表的换算
7.理解分段管理的思想
第八章:
1.页面置换算法(FIFO,OPT等)
2.存抖动现象的产生及解决方法
3.解决方法:
1.局部置换策略2.工作集3.缺页频度方法
统统参见另一份文档的第四章
第九章:
1.如何计算表,给出任意一个情况,计算出表
处理器调度,分为作业调度,中级调度,低级调度等。
掌握书本P291表9.5!
!
!
第十章:
1.实时操作系统对时间的要求
自己看课本,太多了~
毛波老师部分:
1.存储设备的访问时间
2.设备的调度算法(先到先服务等算法)
3.磁盘的存储效率
4.文件底层的组织结构(哈希表)
参见另一份文档的第六章之后的容
5.课本P358时序比较
6.课本P360表11.2表11.3
7.课本P363表11.4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 厦门大学 实用 操作系统 重点