东至网站定制,网站多大够用,googleplay,买域名有什么用0、前言 本专栏为个人备考软考嵌入式系统设计师的复习笔记#xff0c;未经本人许可#xff0c;请勿转载#xff0c;如发现本笔记内容的错误还望各位不吝赐教#xff08;笔记内容可能有误怕产生错误引导#xff09;。
本章的主要内容见下图#xff1a; 1、操作系统的作用…0、前言 本专栏为个人备考软考嵌入式系统设计师的复习笔记未经本人许可请勿转载如发现本笔记内容的错误还望各位不吝赐教笔记内容可能有误怕产生错误引导。
本章的主要内容见下图 1、操作系统的作用 作 用通过资源管理包括软硬件资源管理提高计算机系统的效率。同时操作系统改善了人机界面向用户提供良好的工作环境。 操作系统体系结构图 2、进程任务管理软考难点
2.1进程的概念 进程是程序在一个数据集合上运行的过程它是系统进行资源分配和调度的一个独立单位。它由程序块、进程控制块和数据块三部分组成。 进程的概念 2.2进程与程序的区别
进程是程序的一次执行过程程序是完成某个特定功能的一系列程序语句的集合只要不被破坏程序永远存在程序是一个静态概念进程是一个动态的概念它有创建而生完成任务后因撤销而消亡进程是系统进行资源分配和调度的独立单位而程序不是。
2.3进程状态
2.3.1三态模型
运行态占有处理器正在运行就绪态具备运行条件等待系统分配处理器以便运行等待态又称为阻塞态或睡眠态指不具备运行条件正在等待某个事件的完成。 三态模型 状态切换切换条件运行态到等待态等待使用资源如等待外设传输等待人工干预等待态到就绪态资源得到满足如外设传输结束人工干预成功运行态到就绪态运行时间片到出现有更高优先权进程就绪态到运行态CPU空闲时选择一个就绪进程
2.3.2五态模型 在三态模型基础上增加了静止就绪和静止阻塞两个状态这两个状态相当于听歌曲时的暂停选择。
对五态模型中挂起和激活的解释
挂起将进程调出内存保存到外存队列并释放资源激活恢复挂起进程重新调入内存
从三态模型扩展到五态模型的目的与原因
目的释放进程占用的资源以缓解资源不足
原因 终端用户的请求父进程的请求OS的需要如负荷调节、对换等 五态模型 2.4前趋图
概念前趋图是为了描述一个程序的各部分间的依赖关系或者是一个大的计算的各个子任务间的因果关系的图示。
出度与入度指向与被指向的箭头个数入度为零的无前置执行条件。
特点前趋图中必须不存在循环 前趋图示意 2.5PV操作
2.5.1进程的同步与互斥 互斥间接制约类似于独木桥同一时间只允许一人通过你过桥时间接制约了其他人过桥的动作。
同步直接制约去医院开化验单时化验员处于等待状态只有看到化验单时才会开始化验工作。开化验单就是直接制约了化验员的化验工作。
2.5.2进程的同步与互斥生产者与消费者问题 生产者消费者问题也称有限缓冲问题英语Bounded-buffer problem是一个多线程同步问题的经典案例。该问题描述了两个共享固定大小缓冲区的线程——即所谓的“生产者”和“消费者”——在实际运行时会发生的问题。其中生产者的主要作用是生成一定量的数据放到缓冲区中然后重复此过程。与此同时消费者也在缓冲区消耗这些数据。该问题的关键就是要保证生产者不会在缓冲区满时加入数据消费者也不会在缓冲区中空时消耗数据。 生产者消费者问题模型 2.5.3PV操作
PV操作就是为了解决生产者消费者问题出现的
临界资源诸进程间需要互斥方式对其进行共享的资源如打印机、磁带机等临界区每个进程中访问临界资源的那段代码称为临界区信号量是一种特殊的变量 PV操作是一种实现进程互斥与同步的有效方法它涉及两种原语操作P操作请求资源阻塞进程和V操作唤醒进程释放资源。在进程同步中P操作负责测试消息是否到达而V操作负责发送消息。在进程互斥中P操作用于判断是否能进入临界区并申请资源V操作用于退出临界区并释放资源。信号量semaphore是实现PV操作的关键概念其值可以大于、等于或小于零。当信号量值大于或等于零时表示有可用资源当信号量值小于零时表示有进程正在等待资源此时需要唤醒等待队列中的一个进程当信号量值等于零时表示资源被完全占用。见PV操作示意图。 PV操作必须成对出现即一个进程的P操作必须与另一个进程的V操作相对应。在单进程内部P操作后通常紧接着一个V操作而在多进程之间一个进程的V操作后可能紧接着另一个进程的P操作。这种操作模式确保了资源的安全使用和进程间的正确通信。 PV操作示意图 2.5.4PV原语
单缓冲区生产者消费者问题PV原语描述
#生产者进程
S1初值为1S2初值为0
生产者
生产一个产品;
P(s1);
送产品到缓冲区;
V(s2);
#消费者进程
S1初值为1S2初值为0
消费者
P(s2);
从缓冲区取产品
V(s1);
消费产品;
2.6进程管理死锁
死锁概念进程管理是操作系统的核心内容但存在设计不当出现死锁的可能如果一个进程在等待一个不可能发生的事情那么进程就死锁了感觉就是陷入了死循环死循环和死锁不是一个概念 。而如果一个或多个进程产生死锁就会造成系统死锁。 例题某系统存在三个进程AB,C。这三个进程都需要5个系统资源。如果系统有多少个资源则不可能发生死锁。 进程A进程B进程C4144
死锁解决 死锁解决示意图 有序资源分配法这种算法资源按某种规则系统中的所有资源统一编号例如打印机为1、磁带机为2、磁盘为3、等等申请时必须以上升的次序。系统要求申请进程 ①对它所必须使用的而且属于同一类的所有资源必须一次申请完 ②在申请不同类资源时必须按各类设备的编号依次申请。例如进程PA使用资源的顺序是R1R2 进程PB使用资源的顺序是R2R1若采用动态分配有可能形成环路条件造成死锁。 采用有序资源分配法R1的编号为1R2的编号为2 PA申请次序应是R1R2 PB申请次序应是R1R2 这样就破坏了环路条件避免了死锁的发生。同时我们可以还可以采用操作系统经典问题银行家算法来避免死锁。 银行家算法分配资源的原则如下 当一个进程对资源的最大需求量不超过系统中的资源数时可以接纳该进程进程可以分期请求资源但请求的总数不超过最大需求量当系统现有的资源不能满足进程尚需资源数时对进程的请求可以推迟分配但总能使得进程在有限的时间内得到资源。 2.7进程管理中任务的调度 任务调度大纲 第一个要解决的问题任务调度的时机一般有五种情形可能会发生任务的调度。 五种会发生任务调度的时机 第二个要解决的问题
任务调度的方式 任务调度方式 第三个要解决的问题如何来评价一个调度算法的好坏。
调度算法的性能指标 性能指标之间是存在一定的冲突性的 可以通过让更多的任务处于就绪状态来提高CPU的使用率但这显然会降低系统的响应时间调度程序的设计需要优先考虑最重要的需求然后在各种因素之间进行折中处理。 任务调度算法 2.8任务间通信 尾言 本专栏我总结了大量的思维导图但是因为思维导图太大与CSDN的排版不匹配故我会把每篇博文绘制的思维导图上传到我的资源里有需要的自取我会设置为0积分下载的创作不易还望各位大佬点赞支持一下谢谢