教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 行业资料 >

现代操作系统考试复习

来源:网络收集 时间:2026-08-07
导读: 现代操作系统的复习资料,最近快要考试了,先分享给大家~ 进程部分: 1.os分类: 批系统(batchsystem)成批提交作业,作业完成或无法继续执行时发生切换 交互(分时)系统多个用户(应用程序)分享计算机资源 实时系统满足应用的实时性要求 2.单块结构与微内

现代操作系统的复习资料,最近快要考试了,先分享给大家~

进程部分:

1.os分类:

批系统(batchsystem)成批提交作业,作业完成或无法继续执行时发生切换

交互(分时)系统多个用户(应用程序)分享计算机资源

实时系统满足应用的实时性要求

2.单块结构与微内核结构:

Monolithic(单块结构):内核中所有的子系统运行在相同的特权级(privilegedmode),拥有相同的地址空间,通信采用常规C函数调用的形式。

微内核结构:分为用户模式和kenerlmode,有不同的特权级

优缺点:微内核是建立在分模块之上的,模块之间以信息传递联系。单块结构:模块间的通讯是通过直接调用其他模块中的函数实现的。宏内核与微内核的区别也就在这吧,微内核是一个信息中转站,自身完成很少功能,主要是传递一个模块对另一个模块的功能请求,而单块结构则是一个大主管,把内存管理,文件管理等等一股脑全部接管。

从理论上来看,微内核的思想更好些,微内核把系统分为各个小的功能块,降低了设计难度,系统的维护与修改也容易,但通信带来的效率损失是个问题。宏内核的功能块之间的耦合度太高造成修改与维护的代价太高,宏内核因为是直接调用,所以效率是比较高的。

3.进程概念Process-aprograminexecution

进程是OS中资源拥有的基本单位(unitofresourceownership)

虚地址空间,内存及其他资源(I/O设备、文件等)

进程管理:进程控制块(PCB)

进程的状态:running,ready,wait,stopped,zombie

进程间通讯代价大

4.线程:程序的执行体anexecutionpathinaprocess,进程中的线程共享进程资源

核心级线程:操作系统直接调度的线程

应用程序通过API调用核心线程管理例程(kernelthreadfacility)来管理;

需要进行模式切换

是OS调度的基本单位

线程阻塞不会导致整个进程的阻塞

在多处理器环境下,内核可使线程在不同的处理器上运行

用户级线程:由进程直接管理的线程

由应用程序自己通过线程库(threadlibrary)来管理:线程创建、终止、线程间通信,线程

调度与切换

OS感知不到ULT的存在

线程阻塞会导致整个进程的阻塞

在任何OS下都可以实现

无法利用多处理器

纯线程管理的成本高

现在的操作系统:多进程多线程方式,相对独立的执行体各自创建进程,同一个执行体中可以并发执行的功能设为线程

Linux中pthread创建的线程为核心级线程。

5.临界资源一次只能由一个进程访问的资源

临界区(criticalsection)访问临界资源的代码段称为临界区(CS)

互斥(mutualexclusion)在一个时刻最多只有一个进程在临界区

现代操作系统的复习资料,最近快要考试了,先分享给大家~

同步(synchronization)协调需要访问临界资源的进程

如:两进程p0,p1,都通过下面的代码访问一个共享的存储单元:

Sharedvariable:inttotal:=0;

p0,p1:

{

intcount;

for(count=1;count<=50;count++)

total=total+1;

}

total可能的结果?2---100

6.二元信号量:

数据结构(s)

Value(0,1);表示是否还有资源可用,不表示挂起的进程数,初始化0或1

Queue:listofprocess;正在等待该类资源的进程

操作

WaitB(s):等待资源

ifs.value=1thens.value:=0;

elsebegin

placethisprocessins.queue;

blockthisprocess;

end;

SignalB(s):释放资源

ifs.queueisemptythens.value:=1

elsebegin

removeaprocessPfroms.queue;

placeprocessPonreadylist;

end;

7.生产者消费者问题:

生产者—消费者问题(Producer_consumer)是一个著名的进程同步问题。有一群生产者进程在生产产品,并将此产品提供给消费者进程去消费。为使生产者进程和消费者进程能并发执行,在它们之间设置有个缓冲区的缓冲池,生产者进程可将它所生产的产品放入一个缓冲区中,消费者进程可从一个缓冲区取得一个产品消费。尽管所有的生产者进程和消费者进程都是以异步的方式运行的,但它们之间必须保持同步,即不允许消费者进程到一个空缓冲区去取产品,也不允许生产者进程向一个已装有消息尚未被取走产品的缓冲区投放产品。

信号量

n,初始化为0,表示缓冲区中可消费的资源数

s,初始化为1,用于对缓冲区的互斥操作

e,增加一个信号量,初始化为缓冲区的长度N,表示缓冲区中空闲单元数

Producer:

repeat

produce;wait(e);wait(s);append;signal(s);signal(n)

forever

Consumer:

repeat

wait(n);wait(s);take;signal(s);signal(e);consume

现代操作系统的复习资料,最近快要考试了,先分享给大家~

forever

10.死锁问题

死锁:系统中存在一个进程集合,该集合中的每个进程都占用了一定数量的资源,并且在等待被集合中的其他进程占用的资源

死锁发生的四个必要条件:

Mutualexclusion:互斥

Holdandwait:保持等待,申请资源时拥有其他资源

Nopreemption:非剥夺,进程占有的资源只能由进程自己释放,不会被别的进程剥夺

Circularwait:循环等待(各类资源的资源数为1时一定死锁)

死锁预防:

间接预防:阻止Mutualexclusion,Holdandwait及Nopreemption都满足

直接预防:阻止circularwait的发生。

有序申请法(对所有资源类别编号,进程申请资源按序进行);资源预申请

例:哲学家就餐问题,筷子编号,先拿编号小的、再拿大的。(有序申请)

死锁避免方法:进程申请资源时,决定是否应该满足;

必须预先知道每个进程需要的各类资源数

Banker’salgorithm,银行家算法,基本思想,若新的状态是安全的(safe),则满足它

Safestate:从此状态出发,存在某种执行顺序(安全序列,safesequence),可以使所有进程执行完毕。安全状态只是暂时安全,如果以后资源分配不当,也会导致死锁;不安全状态不一定就死锁。图1安全,图2不安全

.

11.进程调度

–进程的执行是CPUburst与I/Oburst交替的过程CPU约束进程:大量时间作计算,少量I/OI/O约束进程:大量的I/O,少量时间作计算衡量指标ResponseTime(响应时间)、TurnaroundTime(周转时间)、processorutilization、fairness(公平性)、throughput(吞吐量)调度模式:Non-preemptive(非剥夺方式)进程一旦被调度,则执行至结束或不能继续执行(如因为发起I/O操作而等待)Preemptive(剥夺方式)当一个新的进程到达时;当有进程从阻塞变为就绪时;进程从

核心态返回到用户态时(如中断、系统调用返回时)

现代操作系统的复习资料,最近快要考试了,先分享给大家~

调度算法

FCFS(firstcomefirstserved)先来先服务,直至结束(nonpreemptive)

RR:Roundrobin

时间片轮转(timeslice,preemptive)

时间片到时,将进程放入就绪队列的末尾,然后从队列头部取出一个进程运行

公平的调度策略,不会导致进程饥饿

Priorityscheduling:基于优先级的调度

存在问题 …… 此处隐藏:20061字,全部文档内容请下载后查看。喜欢就下载吧 ……

现代操作系统考试复习.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/2274575.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)