第一学期操作系统复习提纲PPT资料.pptx

上传人:b****2 文档编号:15589934 上传时间:2022-11-06 格式:PPTX 页数:44 大小:830.97KB
下载 相关 举报
第一学期操作系统复习提纲PPT资料.pptx_第1页
第1页 / 共44页
第一学期操作系统复习提纲PPT资料.pptx_第2页
第2页 / 共44页
第一学期操作系统复习提纲PPT资料.pptx_第3页
第3页 / 共44页
第一学期操作系统复习提纲PPT资料.pptx_第4页
第4页 / 共44页
第一学期操作系统复习提纲PPT资料.pptx_第5页
第5页 / 共44页
点击查看更多>>
下载资源
资源描述

第一学期操作系统复习提纲PPT资料.pptx

《第一学期操作系统复习提纲PPT资料.pptx》由会员分享,可在线阅读,更多相关《第一学期操作系统复习提纲PPT资料.pptx(44页珍藏版)》请在冰豆网上搜索。

第一学期操作系统复习提纲PPT资料.pptx

怎么做怎么做?

第二章:

操作系统概述系统调用系统调用类型微内核VS强内核第三章:

进程n计算机解决问题计算机解决问题执行程序执行程序n执行中的程序和静止程序存在很大区别执行中的程序和静止程序存在很大区别引出进程引出进程nCPU太快太快引出并发引出并发进一步深化了进程进一步深化了进程n进程走走停停进程走走停停状态转化状态转化现场切换现场切换进程调度进程调度n进程相互干扰进程相互干扰进程保护进程保护地址空间地址空间线程线程n进程相互协作进程相互协作进程同步进程同步进程通信消息进程通信消息n用户希望操纵进程用户希望操纵进程进程创建等进程创建等第三章:

进程进程定义运行中的程序资源分配的最小单位CPU调度的一个单位进程状态图进程与线程进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的独立单位。

线程有时称轻量级进程,进程中的一个运行实体,是一个CPU调度单位。

进程和线程的不同之处可从以下四个方面比较:

(1)调度:

线程作为调度的基本单位,同进程中线程切换不引起进程,当不同进程的线程切换才引起进程切换;

进程作为拥有资源的基本单位。

(2)并发性:

一个进程间的多个线程可并发。

(3)拥有资源:

线程仅拥有隶属进程的资源;

进程是拥有资源的独立单位。

(4)系统开销:

进程大;

线程小。

进程控制块PCB进程切换长期调度、中期调度、短期调度进程调度在许多进程或线程都准备使用CPU进行任务处理时,就会存在资源竞争和分配的问题。

一般都会将进程或线程先放在一个缓冲池中,等待合适的时机调度程序从中选择一个进程或线程进行交给CPU进行处理。

长期调度、中期调度、短期调度

(1)长期调度,又称为作业调度或高级调度,这种调度将已进入系统并处于后备状态的作业按算法选择一个或一批,为其建立进程,并进入主机,当该作业执行完毕时,还负责回收系统资源,在批处理系统中,需要有作业调度的过程,以便将它们分批地装入内存,在分时系统和实时系统中,通常不需要长期调度。

它的频率比较低,主要用来控制内存进程的数量。

(2)中期调度,又称为交换调度。

它的核心思想是能将进程从内存或从CPU竞争中移出,从而降低多道程序设计的程度,之后进程能被重新调入内存,并从中断处继续执行,这种交换的操作可以调整进程在内存中的存在数量和时机。

其主要任务是按照给定的原则和策略,将处于外存交换区中的就绪状态或等待状态的进程调入内存,或把处于内存就绪状态或内存等待状态的进程交换到外存交换区。

(3)短期调度,又称为进程调度、低级调度或微观调度。

这也是通常所说的调度,一般情况下使用最多的就是短期调度。

它的主要任务是按照某种策略和算法将处理机分配给一个处于就绪状态的进程,分为抢占式和非抢占式。

三级调度的区别在于频率不同,长期调度频率较低,短期调度频率较高。

进程创建fork函数父子函数返回的值不一样exec函数进程通信两种模型并发与并行第四章:

线程n进程进程=地址空间地址空间+指令执行序列指令执行序列n一个地址空间一个地址空间+多个指令执行序列多个指令执行序列引出线程引出线程n线程具有并发的优点,却比进程的代价低得多线程具有并发的优点,却比进程的代价低得多nWebExplorer表明线程简单实用表明线程简单实用线程怎么实现线程怎么实现n线程在同一地址空间中线程在同一地址空间中线程库可以用户级实现线程库可以用户级实现n用户级线程,核心级线程,两者都有用户级线程,核心级线程,两者都有n各类线程的实现细节,其中上下文切换是核心各类线程的实现细节,其中上下文切换是核心第四章:

线程线程定义多线程优势多线程模型第五章:

CPU调度n并发能提高效率并发的核心是进程能让出CPUn进程让出CPU下一个进程使用CPU这个选择就是调度n进程、线程(内核级、用户级)都能调度任务调度n调度任务分类:

交互式,批处理nCPU调度算法:

FCFS,SJF,Priority(批处理);

RR(交互式)nCPU调度算法:

多级队列,多级反馈队列(混合)n调度时机分类:

抢占式、非抢占式第五章:

CPU调度FCFSSJFSRTFPriorityRR掌握每种算法各自特点周转时间、等待时间、响应时间第六章:

进程同步n并发并发多个进程同时存在多个进程同时存在相互影响相互影响n非原子操作共享变量非原子操作共享变量出现语义错误出现语义错误竞争条件竞争条件n竞争条件竞争条件临界区临界区互斥互斥临界区进入方法临界区进入方法n复杂复杂的的peterson算法算法强硬的关中断强硬的关中断硬件支持的硬件支持的TestAndSetn都不适合用户实现都不适合用户实现封装成锁封装成锁n一般的锁会盲等一般的锁会盲等引入睡眠引入睡眠将锁一般化为信号量将锁一般化为信号量n所有一切都是为了使用户更容易、使系统更好用所有一切都是为了使用户更容易、使系统更好用(不出错不出错)第六章:

进程同步进程的关系:

同步、互斥并发进程竞争条件:

和时间有关的共享数据语义错误多个进程并发访问和操作同一数据且执行结果与访问发生的特定顺序有关临界资源与临界区criticalsection临界资源:

一次仅允许一个进程使用的共享资源临界区:

不论是硬件临界资源,还是软件临界资源,多个进程必须互斥地对它进行访问。

临界区是每个进程中访问临界资源的那段程序。

临界区访问原则:

每次只允许一个进程进入临界区,进入后不允许其他进程进入。

解决临界区问题的三个条件1.MutualExclusion(互斥互斥)-IfprocessPiisexecutinginitscriticalsection,thennootherprocessescanbeexecutingintheircriticalsections2.Progress(前进前进)-Ifnoprocessisexecutinginitscriticalsectionandsomeprocessesthatwishtoentertheircriticalsections,thenonlythoseprocessesthatarenotexecutingintheirremindersectionscanparticulateinthedecisiononwhichwillenteritscriticalsectionnext,andthisselectioncannotbepostponedindefinitely3.BoundedWaiting(有限等待有限等待)-Aboundmustexistonthenumberoftimesthatotherprocessesareallowedtoentertheircriticalsectionsafteraprocesshasmadearequesttoenteritscriticalsectionandbeforethatrequestisgranted解决临界区问题的方法Software:

PetersonsSolutionHardware:

SynchronizationHardwareSemaphores:

PV信号量它们的本质就是:

上锁进入临界区解锁还记得我们银行家算法的那个实验吗?

里面有一个mutex的互斥这个就是典型的多线程对同一变量操作的访问问题。

doacquirelockcriticalsectionreleaselockremaindersectionwhile(TRUE);

如何用如何用PV原语解决问题?

原语解决问题?

观察一件案例,首先判断属于:

进程同步?

互斥?

两者都有的混合问题?

互斥:

是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。

但互斥无法限制访问者对资源的访问顺序,即访问是无序的。

同步:

是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问。

在大多数情况下,同步已经实现了互斥,特别是所有写入资源的情况必定是互斥的。

少数情况是指可以允许多个访问者同时访问资源。

确定信号量,信号量可能有多个:

有几个等待互斥:

判断进程间是否互斥,关键是看进程间是否共享某一公有资源,一个公有资源与一个信号量相对应同步:

进程同步时的信号量只与制约进程及被制约进程有关而不是与整组并发进程有关,所以称该信号量为私有信号量确定信号量的值可用资源实体数用PV原语实现同步或互斥PVSemaphore挑水的小和尚某寺庙,有小、老和尚若干,有一水缸,由小和尚提水入缸(向缸中倒水)供老和尚饮用。

水缸可容30桶水,水取自同一井中。

水井径窄,每次只能容一个桶取水。

水桶总数为5个。

每次入、取缸水仅为1桶,且不可同时进行。

试给出有关从缸中取水和向缸中倒水的算法描述几个进程:

从井中取水后向缸中倒水为连续动作,可算同一进程从缸中取水为另一进程同步还是互斥问题:

水井、水缸、水桶同步:

水缸的水信号量:

水井mutex1互斥:

水缸mutex2同步:

水缸能放的水-有没有觉得很像生产者消费者问题?

你想想小和尚怎么开始打水的?

是一开始就去拿一个桶到井里去吗?

(宿舍有一瓶刚送来的桶装水,你会不会马上把它装到饮水机上?

)当然不是!

要先看看饮水机上那个桶里还有没有水。

同理,小和尚也要先看看缸里还能不能容得下一桶水。

算法描述:

小和尚先到缸里看看能不能还装一桶水。

相当于申请一个空位。

小和尚到去申请一个桶拿到桶之后,小和尚到井里去打水(这个动作是互斥的)打好水,小和尚把水倒到缸里(这个动作是互斥的),缸里又多了一桶水,相当于释放一个满位小和尚把桶还回去。

第七章:

死锁n进程竞争资源进程竞争资源有可能形成循环竞争有可能形成循环竞争死锁死锁n死锁需要处理死锁需要处理死锁分析死锁分析死锁的必要条件死锁的必要条件n死锁处理死锁处理预防、避免、检测预防、避免、检测+恢复、忽略恢复、忽略n死锁预防死锁预防:

破除必要条件破除必要条件引入了不合理因素引入了不合理因素n死锁避免死锁避免:

用银行家算法找安全序列用银行家算法找安全序列效率太低效率太低n死锁检测恢复死锁检测恢复:

银行家算法找死锁进程组并恢复银行家算法找死锁进程组并恢复实现较难实现较难n死锁忽略死锁忽略:

就好像没有死锁就好像没有死锁现在用的最多现在用的最多第七章:

死锁什么是死锁?

多个进程因循环等待资源而造成无法执行的现象发生死锁的必要条件Mutualexclusion:

onlyoneprocessatatimecanusearesourceHoldandwait(占有并等待):

aprocessholdingatleastoneresourceiswa

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1