操作系统—进程管理
目录考点概览一.基本概念1.大家熟悉的操作系统2.一台电脑的诞生3.操作系统的概念4.操作系统的功能和目标5.操作系统的特征6.操作系统的发展与分类了解即可二.进程管理1.进程的五种状态2.状态转换图3.前驱图4.进程同步机制5.进程互斥机制6.信号量机制7.PV操作8.PV操作实现前驱操作真题9.什么是死锁10.死锁产生的必要条件11.死锁的处理策略真题12.银行家算法真题考点概览一.基本概念1.大家熟悉的操作系统2.一台电脑的诞生操作系统介于软件应用程序和硬件裸机之间3.操作系统的概念4.操作系统的功能和目标作为系统资源的管理者向上层提供方便易用的服务作为最接近硬件的层次5.操作系统的特征并发操作系统通过时间片轮转等技术让多个程序在宏观上同时运行微观上交替执行提高了系统资源利用率。共享操作系统允许多个进程或用户共同使用有限的系统资源如CPU、内存、I/O设备并通过管理机制确保资源的合理分配和安全访问。虚拟操作系统通过虚拟化技术为每个进程提供独立的虚拟地址空间和资源视图使每个进程都感觉自己独占整个系统资源。异步操作系统中进程的执行具有不确定性进程的执行顺序、速度和完成时间不可预知需要通过同步机制来协调并发进程间的执行。6.操作系统的发展与分类了解即可手工操作阶段无操作系统程序员直接通过开关、插卡等物理设备操作计算机程序独占全机效率极低人机矛盾突出。批处理系统阶段将多个作业成批处理通过监督程序自动调度执行消除了人工干预显著提高了系统资源利用率。多道程序系统阶段允许多个程序同时驻留在内存中交替执行通过作业调度和内存管理实现并发进一步提升了CPU和设备的利用率。分时操作系统阶段采用时间片轮转技术使多个用户通过终端同时交互使用计算机每个用户都感觉自己独占系统资源。实时操作系统阶段能够对外部事件做出及时响应在严格的时间限制内完成任务主要用于工业控制、航空航天等对时效性要求高的领域。个人计算机操作系统阶段面向个人用户提供友好的图形界面和丰富的应用软件使计算机从专业工具转变为大众消费品。网络/分布式操作系统阶段支持多台计算机通过网络互联协同工作实现资源共享和分布式计算为现代云计算和物联网奠定基础。二.进程管理1.进程的五种状态创建态进程正在被操作系统创建已分配必要资源但尚未进入就绪队列。就绪态进程已获得除CPU外的所有必要资源等待被调度程序选中分配处理器时间。运行态进程已获得CPU使用权其指令正在处理器上执行。阻塞态进程因等待某事件如I/O完成、信号量而暂时无法继续执行主动放弃CPU。终止态进程已完成执行或被强制结束操作系统正在回收其占用的资源。2.状态转换图进程由运行态 - 阻塞态是进程自身做出的主动行为。比如进程因主动请求某项尚未就绪的资源如I/O操作而自愿放弃CPU并暂停执行。阻塞态 - 就绪态不是进程自身控制的而是一种被动行为。比如进程因所等待的外部事件如I/O完成被操作系统处理完毕从而被被动唤醒并重新具备运行资格。关键名词解读PCB进程控制块PCB是操作系统为每个进程维护的核心数据结构相当于进程的身份证。它记录了进程的标识符、状态、程序计数器、CPU寄存器、内存信息、打开文件等关键信息是进程切换和调度的基础也是进程存在的唯一标志。3.前驱图下图就是生活常识即只有之前的事做完了后续的事才能推进。比如我要包饺子就需要准备原材料并把它们搅拌成饺子馅这太好理解了4.进程同步机制先好好理解下面这两句话【同步】的反义词是【异步】【互斥】的反义词是【共享】5.进程互斥机制6.信号量机制7.PV操作P申请一个资源SV释放一个资源S8.PV操作实现前驱操作还是那两句话P表示申请占用一个资源V表示释放一个资源只有前面的进程执行完把所占信号量释放了后面进程执行所需的才能让后面进程执行。真题解析第一步先画出信号量这一步非常重要按照从上到下、从左到右这个顺序画第二步要认识到“进程在执行前需要进行P操作申请资源执行后需要V操作释放资源”。且要认识到“进程释放的信号量就是后驱进程所占用的信号量”思考为什么进程P3在执行前需要申请占用的信号量是S1和S2而在执行后释放的信号量却是S3和S4答案其实很简单因为P3的前驱进程P1和P2释放的信号量是S1和S2而P3的后继进程P4和P5所需的信号量是S3和S4。然后就可以选出这道题了三个空分别选C、A、A。9.什么是死锁如下图所示在这场四角恋中没有任何一对是彼此相爱因此就陷入了死锁谁也无法成对这就叫死锁。10.死锁产生的必要条件总结互斥条件资源是独享的一次只能一个人用别人想用就得排队等。不剥夺条件东西一旦拿到手除非自己用完主动扔否则谁也别想硬抢走。请求和保持条件吃着碗里的看着锅里的手里占着资源不放还想要更多新资源。循环等待条件大家互相卡脖子形成了一个死循环A等BB等CC又在等A。11.死锁的处理策略总结预防死锁直接拆掉死锁的根基从设计上就让死锁没法发生。避免死锁像个精明的会计每次分配资源前都先算算确保大家都能活下来。死锁检测和解除先放任不管等真“堵死”了再派警察来疏通。真题解析第一步先算出发生死锁的最大资源数。因为每个进程都要5个R那我就给4个这样三个进程就需要12个R此时谁都没凑齐发生死锁注意这只是一个极端的情况我们找的就正是这种极端的边界第二步由于每个进程都有4个R了还差一个就凑够了因此我们再拿出1个R给任意一个进程这样就盘活了整个局面因为只要任何一个进程执行完就会释放5个R局面瞬间宽敞了综上故能确保不发生死锁的最小资源数是13即发生死锁的最大资源数12 再加上1即13故本题选B。12.银行家算法真题解析第一步先求出当前所剩的资源数即可用资源总数 - 已分配资源数可见此时R1还剩下2个R2还剩下1个R3还剩下0个。第二步看满足哪个进程的“还需资源数”经过对比只能满足进程P2的还需资源数。因此给它凑够了让它去运行运行完就把所占的全部资源都释放了。因此进程P2执行完当前的所剩资源数是R14 R22R31。第三步看当前所剩资源数还满足哪个进程的还需资源数重复步骤2。注意如果当前所剩资源数哪个进程的“还需资源数”都无法满足则说明处于不安全员状态了即陷入了死锁。经过上述推理B选项是对的。以上就是本篇文章的全部内容喜欢的话可以留个免费的关注呦~~~