计算机四级嵌入式之操作系统原理(三)进程线程模型
本文摘要:计算机四级嵌入式考试大纲第三章主要讲解进程线程模型相关知识。重点内容包括:1)系统分类及核心指标(批处理、交互式、实时系统);2)各类调度算法(先来先服务、最短作业优先等);3)进程特性与七状态模型;4)进程控制块PCB的组织方式;5)线程资源特性与实现机制。文章详细解析了不同系统的调度策略、进程状态转换规则以及线程管理机制,为考生提供了系统化的复习指导。
前言
计算机四级嵌入式主要考试的内容分为两个大部分:计算机组成与接口和操作系统原理
考点大纲每年不敢保证都一模一样,可以参考官网的考试大纲按需复习,但每年考来考去大差不差的都是那些东西。
官网网址:https://ncre.neea.edu.cn/html1/category/1507/899-1.htm
2025年的考试大纲如下所示:
我会按照该大纲的顺序将整理出来的知识点一章一章整理出来,都放在这个专栏中,希望能够帮助各位准备考试的同学能够顺利通过!
第三章 进程线程模型学习笔记
一、系统分类及核心指标
(一)批处理系统
-
核心指标:吞吐量、周转时间、CPU利用率。
-
吞吐量:系统每小时完成的作业数量,高吞吐量是核心追求之一。
-
CPU利用率:常用于批处理系统的度量。
-
-
优点:作业流程自动化程度高,资源利用率高,作业吞吐量大,减少周转时间,提升整个系统效率。
(二)交互式系统(含分时系统、服务器)
-
核心指标:最小响应时间、均衡性。
-
最小响应时间:从发出命令到得到响应之间的时间,是最重要的指标。
-
(三)实时系统
-
核心特点:调度需或多或少满足截止时间要求。
二、调度算法
(一)各类系统适用的调度算法
-
批处理系统常用:先来先服务、最短作业优先、最短剩余时间优先、响应比最高者优先。
-
分时系统常用:时间片轮转、多级反馈队列。
-
交互式操作系统常用:多级反馈队列、时间片轮转、高优先级优先。
-
实时系统常用:静态或动态调度算法,主要包括速率单调调度算法、最早最终时限优先调度算法。
(二)主要调度算法详情
-
先来先服务
-
调度方式:非抢占式。
-
调度逻辑:进程按照请求CPU的顺序使用CPU。
-
适用场景:作业调度。
-
特点:算法简单,对先到的进程公平,不考虑进程下一个CPU周期长短及其他因素。
-
示例:作业A(到达时间0,运行时间8)、B(到达时间0,运行时间4)、C(到达时间0,运行时间4)、D(到达时间4,运行时间4),运行顺序为A→B→C→D,周转时间分别为8、12、16、20,平均周转时间14。
-
-
最短作业优先
-
调度方式:非抢占式。
-
调度逻辑:调度程序按照作业运行时间长度安排CPU使用,优先调度运行时间最短的作业。
-
适用场景:作业调度。
-
示例:作业A(运行时间8)、B(运行时间4)、C(运行时间4)、D(运行时间4),运行顺序为B→C→D→A,周转时间分别为4、8、12、20,平均周转时间11。
-
-
最高优先级算法
-
调度逻辑:根据进程的优先级数决定调度顺序。
-
适用场景:作业调度。
-
-
多级反馈队列
-
调度逻辑:综合先进先出调度算法、时间片轮转算法和可抢占式最高优先级算法。
-
适用场景:队列调度,是实际系统中常用的结合型调度算法。
-
-
时间片轮转
-
调度逻辑:将CPU处理时间划分成一个个时间片,就绪队列中的进程轮流运行一个时间片;时间片结束时,强迫当前进程让出CPU,进入就绪队列等待下一次调度。
-
适用场景:分时系统。
-
影响时间片设置的因素:系统响应时间、就绪进程的数目、计算机的处理能力。
-
三、多道程序设计环境特点
-
独立性:各程序相对独立运行。
-
随机性:程序的启动、执行时机等具有随机性。
-
资源共享性:多个程序共享系统资源。
四、可再入程序
-
定义:由可重入代码组成,可安全并行执行,运行过程中可再次载入内存并执行。
-
特点:
-
纯代码形式,执行过程中不可修改。
-
调用它的进程需提供属于自身的数据区。
-
五、进程相关
(一)进程的组成
由指令、数据和进程控制块(PCB)三部分组成。
(二)进程的特性
-
并发性:多个进程同时处于运行或就绪状态。
-
动态性:进程是程序的执行过程,有生命周期(创建、运行、结束等)。
-
独立性:是相对完整的资源分配单位。
-
交往性:进程之间可能存在相互协作或竞争关系。
-
异步性:每个进程按各自独立、不可预知的速度向前推进。
(三)七状态进程模型
-
状态划分:在传统就绪、阻塞状态基础上,新增就绪挂起、阻塞挂起状态,共七个状态(创建、就绪、运行、阻塞、就绪挂起、阻塞挂起、退出)。
-
新增状态的好处:
-
提高处理机效率:就绪进程表为空时,空闲内存可提交新进程。
-
为运行进程提供足够内存:资源紧张时,可将部分进程对换至外存。
-
有利于调试:挂起被调试进程,方便读写其地址空间。
-
-
状态转换核心规则:
-
挂起:将进程从内存转至外存。
-
就绪→就绪挂起:系统内存不足时,暂时将就绪进程保存到外存。
-
阻塞→阻塞挂起:进程长期阻塞时,暂时保存到外存。
-
就绪挂起状态:进程在外存,进入内存即可运行。
-
阻塞状态:进程在内存,等待某事件出现(如I/O操作完成、同步条件满足)。
-
运行→阻塞:进程需等待某个事件(申请系统服务、启动操作、新数据未到、无新工作可做等)。
-
运行→就绪:时间片超时等情况。
-
就绪→运行:调度程序分配CPU。
-
(四)进程控制原语
-
主要原语:创建进程、撤销进程、挂起进程、激活进程、阻塞进程、唤醒进程、改变进程优先级等。
-
进程创建过程:
-
申请空白PCB。
-
为新进程分配资源。
-
初始化进程控制块。
-
将新进程插入就绪队列(若队列可接纳)。
-
-
挂起方式:
-
调用者自身挂起(自挂起)。
-
挂起指定标识符的进程。
-
挂起指定标识符及其全部或部分子孙进程(需保存进程PCB副本至内存区)。
-
-
状态转换原语:使进程从阻塞态转换为挂起态的原语是suspend()。
(五)进程控制块(PCB)
-
组织方式:线性方法、索引方法、链接方法。
-
核心内容:
-
调度信息:供进程调度使用,包括进程名、进程号、存储信息、优先级、当前状态、资源清单、“家族”关系、消息队列指针、进程队列指针、当前打开文件等。
-
现场信息:刻画进程运行情况,记录可能被其他进程改变的寄存器(如程序状态字、时钟、界地址寄存器等)。
-
(六)程序并发执行特性
-
相互制约关系:并发程序执行期间存在依赖或竞争。
-
程序与计算不一一对应:一个程序可对应多个计算过程(进程)。
-
执行结果不可再现:相同输入可能因执行顺序不同导致不同输出。
(七)单核处理机进程状态数量限制
-
运行态进程:至多1个,最少0个。
-
就绪态进程:至多19个。
-
阻塞态进程:最多20个(系统发生死锁时,所有进程可能全部阻塞)。
(八)地址重定位
-
触发场景:用户程序请求执行时,存储管理为其分配合适内存空间。
-
核心目的:将程序中的逻辑地址转换为内存绝对地址,保证程序正确执行。
六、线程相关
(一)线程的资源特性
线程自身基本不拥有系统资源,仅拥有运行必需的少量资源(如程序计数器、一组寄存器、栈)。
(二)线程描述表
记录的私有信息:线程ID、指令地址寄存器、处理器寄存器、硬件设备寄存器、栈现场状态等。
(三)线程实现机制
-
用户级线程。
-
内核级线程。
-
混合实现方式。
七、响应比计算
响应比公式:

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐


所有评论(0)