版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
操作系统原理进程与线程进程·线程·调度·同步·切换DATE2026年课程导览01进程的本质从程序到进程,理解资源分配单位02进程的状态与调度五态模型与调度算法决策03线程的引入轻量级执行单元与实现方式04同步与互斥信号量、管程与经典同步问题05上下文切换现场保存与恢复的工程视角PROCESS·OSFUNDAMENTALS进程的本质进程是资源分配的基本单位从静态代码到动态执行,理解进程的组成与存在标志01从程序到进程进程是程序的一次执行过程,是动态的执行实体特性程序进程本质静态的代码和数据动态的执行实体生命周期永久存在磁盘暂时存在内存组成指令和数据程序、数据与PCB关系一对多一个程序可创建多个进程一个程序被多次执行,便产生多个独立进程,各自拥有
独立地址空间,互不影响。进程的组成程序段进程要执行的机器指令代码集数据段进程运行所需的数据与工作变量进程控制块PCB操作系统管理进程的数据结构PCB是进程存在的唯一标志建立PCB即建立进程,撤销PCB即销毁进程程序段和数据段可被多个进程共享,而PCB为每个进程独占,记录其运行状态与控制信息PCB是进程存在的标志PCB承载进程运行与调度的全部必要信息。PID/PPID进程标识·关键字段PID、PPID、UID
标识进程身份进程身份识别PC/PSW处理器状态·现场保存PC、PSW、通用寄存器
与用户栈指针中断现场恢复就绪·阻塞处理器调度·状态与优先级进程状态、调度优先级
与事件等待信息调度决策依据同步·资源进程控制·同步与资源同步机制、地址
与资源清单、链接指针进程协调管理进程的组织与生命周期操作系统通过链接指针将各进程PCB组织成队列,调度器据此选取进程。进程从创建到终止的完整过程,由操作系统通过
PCB
全程跟踪与管理。第1步创建创建—申请资源与登记申请空白
PCB,填写管理与控制信息,分配运行所需资源。第2步就绪就绪—等待调度资源分配完成,进入
就绪队列
等待CPU。第3步运行与阻塞运行与阻塞—执行与等待获得CPU执行,或因等待事件暂离CPU。第4步终止终止—释放与回收置为结束状态,释放资源,回收
PCB。进程组织就绪队列阻塞队列运行队列PROCESS·OSFUNDAMENTALS进程的状态与调度状态转换决定进程生命周期五态模型与调度算法共同决定CPU的分配与回收从静态代码到动态执行,理解进程的组成与存在标志02进程的五态模型进程在生命周期中经历五种状态:建新建态创建进程正在被创建PCBPCB初始化资源资源尚未分配完成就就绪态资源已获得除CPU外的所有资源调度等待调度运运行态CPU正在CPU上执行单机单处理机下同一时刻仅一个进程运行阻阻塞态等待等待某事件(如I/O完成)CPU空闲即使CPU空闲也无法运行状态转换的触发条件转换触发条件新建→就绪进程创建完成,分配PCB与必要资源就绪→运行调度器选中该进程并分配CPU运行→就绪时间片用完,或被更高优先级进程抢占运行→阻塞主动请求I/O或申请资源失败,进程自行请求阻塞阻塞→就绪I/O完成或等待事件发生,被唤醒运行→终止执行完毕、异常或外部信号强制终止运行转阻塞是进程主动行为;阻塞转就绪后不能直接运行,须先入就绪队列排队进程调度的时机与方式界定CPU调度的发生时机,区分抢占式与非抢占式调度抢占遵循三种原则时间片原则优先权原则短作业优先原则时调度发生的时机运行→等待运行态→等待态运行→就绪运行态→就绪态等待→就绪等待态→就绪态运行→终止运行态→终止态式两种调度方式非抢占式进程一直运行,直到完成或被阻塞才让出CPU抢占式进程运行中可被打断,让出CPU时间片原则优先权原则短作业优先原则先来先服务与短作业优先对比两种基础调度算法的机制与优劣,突出护航效应与饥饿问题两者都属于非抢占式调度的典型代表01先来先服务FCFS按进程到达就绪队列的顺序依次分配CPU,实现简单。护航效应:长作业先到时,后续短作业等待时间过长,对短作业不利。02短作业优先SJF优先选择预计执行时间最短的进程运行。非抢占场景下,理论上可达到最优平均周转时间。饥饿现象:需预知执行时间,实际难以准确估计;短进程持续到达时,长进程可能长期得不到CPU。时间片轮转与优先级调度解析时间片轮转与优先级调度机制,说明时间片大小与老化技术的影响时间片过小频繁切换增大开销,过大退化为先来先服务01分时系统时间片轮转RRCPU时间划分为固定长度时间片,按序轮流获得一个时间片,用完即被剥夺并排到队尾。时间片过小:频繁上下文切换,增大系统开销。时间片过大:退化为先来先服务,交互响应变差,适合分时系统。02进程调度优先级调度为每个进程分配优先级,调度器始终选择优先级最高的就绪进程运行,分为抢占式与非抢占式两种。低优先级进程可能长期得不到运行,产生饥饿问题。需配合老化技术逐渐提升等待进程优先级,解决饥饿问题。多级反馈队列与评价指标介绍综合型调度算法与调度评价指标体系,收束调度章节核心思想是根据进程历史行为动态调整优先级,让交互型进程获得更高优先级,是许多现代操作系统的调度基础多多级反馈队列MLFQ队列设置多个优先级不同的就绪队列,高优先级队列时间片较短,低优先级队列时间片较长降级规则新进程先进入最高优先级队列,若时间片用完仍未完成则降入下一级队列核心思想根据进程历史行为动态调整优先级,是许多现代操作系统的调度基础评调度评价指标资源利用CPU利用率、吞吐量时间效率周转时间、等待时间交互体验响应时间调度算法只影响等待时间,不影响CPU执行时间与I/O时间THREAD·OSFUNDAMENTALS线程的引入线程是CPU调度的基本单位共享进程资源,突破进程创建与切换的开销瓶颈03进程开销催生线程以Web服务器性能瓶颈案例引出多进程开销问题,为线程的引入制造张力进程是资源分配单位,线程是CPU调度单位Apache多进程模式进程池50并发1000响应时间500msCPU利用率仅30%瓶颈根源1进程创建开销大:需分配独立地址空间、页表、文件描述符2进程间通信缓慢:需复制数据转改用多线程线程线程共享进程资源,创建与切换开销小更快线程共享进程资源,无需独立地址空间,开销显著降低为什么线程比进程快?共享进程资源无需独立地址空间开销显著降低线程的概念与组成线程是进程中的一个实体,是CPU调度和执行的最小单位,同一进程中的线程共享进程资源线程自身基本不拥有系统资源,只拥有运行中必不可少的少量资源线程独占的资源4项程序计数器PC一组寄存器栈与栈指针线程局部存储与信号屏蔽字线程共享的资源3项进程的地址空间文件描述符全局变量与堆内存线程间通信通过共享变量即可完成,无需进程间通信机制进程与线程的本质区别维度进程线程定位资源分配基本单位CPU调度基本单位地址空间独立共享所属进程通信方式需IPC机制直接访问共享变量开销大小稳定性互不影响一个线程崩溃可能影响整个进程创建销毁慢快考题速记:问调度单位答线程,问资源分配单位答进程线程切换不触发地址空间切换,无需刷新快表TLB创建与切换开销对比多进程模式改造为多线程模式后,响应时间由500ms降至50ms开销对比结论响应时间500ms→50ms提升幅度约
10倍线程创建比进程快约
50倍量级对比多线程改造显著降低开销,线程创建与切换成本远低于进程。用户级线程的机制线程管理由用户空间的线程库完成,内核不知道线程的存在,只看到进程;线程切换在用户态完成,不需要系统调用。线程管理由用户空间的线程库完成,内核不知道线程的存在,只看到进程;线程切换在用户态完成,不需要系统调用。优点切换快,无需陷入内核创建、销毁、调度开销小灵活,可自定义调度算法独立于操作系统,可在不支持线程的系统上运行缺点无法利用多核,内核只调度进程,多线程只能在一个CPU上运行一个线程阻塞,整个进程都阻塞内核不感知线程,无法为每个线程分配时间片内核不可见,既是性能优势的来源,也是并发能力的根本限制内核级线程与混合模型内核级线程KLT内核级线程线程管理由操作系统内核完成,内核为每个线程维护线程控制块TCB,也被称为轻量级进程。Windows与Linux均采用内核级线程KLT优点优势特点支持多核,内核可将不同线程调度到不同CPU一个线程阻塞不影响其他线程内核公平分配时间片主流系统采用KLT缺点局限不足切换需用户态与内核态切换,开销大每个线程消耗内核资源,数量受系统限制CONCURRENCY·OSFUNDAMENTALS同步与互斥互斥解决争夺,同步解决协作信号量与管程保障并发执行的正确性04临界资源与临界区互斥与同步是进程并发控制的两类基本约束。问题引入“两个进程同时向打印机输出,若不加控制,输出内容可能交错混杂,形成无法辨认的乱码。”根源打印机是
临界资源,同一时刻只能被一个进程使用;访问临界资源的代码段即
临界区。空闲让进无人使用时,申请即可进入忙则等待别人正在使用,需排队等待有限等待进程应在有限时间内进入,防止饥饿让权等待进不去时释放CPU,避免忙等信号量方案优于软件方案的关键让权等待是信号量方案优于软件方案的关键同步与互斥的区别两者共享同一套底层机制,但设计意图截然不同同步问题必涉及多个进程之间的协作关系,而非单纯的资源争夺并发带来异步性,正是同步机制保证系统在正确顺序下稳定运行互互斥本质对资源的排他性约束问题解决争夺资源的问题特性同一时刻只允许一个进程使用资源,如打印机同同步本质进程间的协作关系问题解决协作等待的问题特性进程执行顺序必须符合预期,如先写后读信号量与PV操作信号量是一个整型变量,其值只能由P操作(wait)和V操作(signal)原子性地改变,起源于
1965年Dijkstra
在THE操作系统中的设计P操作(wait)信号量减1若结果小于0则进程阻塞,进入等待队列初值互斥场景初值为1,同步场景初值为资源数量V操作(signal)信号量加1若结果小于等于0则唤醒一个等待进程让权等待其真正威力在于block/wakeup机制,将等待进程挂起而非忙等生产者-消费者问题一组生产者与一组消费者共享初始为空、大小为n的缓冲区缓冲区满时生产者等待,空时消费者等待;缓冲区是临界资源,一次只允许一个进生产者P(empty)→P(mutex)→放入数据→V(mutex)→V(full)消费者P(full)→P(mutex)→取出数据→V(mutex)→V(empty)empty空闲缓冲区数量,初值为nfull满缓冲区数量,初值为0mutex缓冲区互斥访问,初值为1PV操作的顺序决定生死:必须先P同步信号量,再P互斥信号量,违背这一条死锁必然发生读者-写者与哲学家进餐读者-写者问题写者饿死机制多个读者可同时读,写者必须独占实现整型变量
count
记录读者数量,mutex
保护count,信号量
RW
控制读写互斥读者不断到来时,写者可能长期得不到
RW,形成写者饿死读者-写者问题写者饿死机制多个读者可同时读,写者必须独占实现整型变量
count
记录读者数量,mutex
保护count,信号量
RW
控制读写互斥读者不断到来时,写者可能长期得不到
RW,形成写者饿死哲学家进餐问题场景五位哲学家围坐,左右各一支筷子,拿不到两支则无法进餐死锁预防限制同时用餐人数,或采用互斥锁加条件判断,避免循环等待管程机制管程是一种高级同步机制,将共享资源的操作集中封装在一个模块中管程=编译器兜底的互斥+条件变量实现的同步:程序员只需关注业务逻辑,无需手动维护锁。管程的组成同步机制内部结构共享变量,进程访问的公共数据。对共享变量进行操作的一组过程,封装访问入口。初始化语句与等待队列,维护进入与等待状态。1步骤01工作机制过程调用进程通过调用管程中的过程来访问共享资源2步骤02互斥保障等待队列同一时刻仅一个进程在管程内执行其他调用者阻塞在等待队列CONTEXTSWITCH·CONCURRENCY上下文切换切换的本质是现场保存与恢复理解上下文切换的层次与开销,把握并发执行效率05进程上下文的三层结构进程上下文是进程执行活动全过程的静态描述,可分为三个层次。用户级上下文存储映像由用户程序段、用户数据、用户栈组成的地址空间信息。硬件上下文(寄存器上下文)寄存器值程序计数器PC、程序状态寄存器PS、栈指针与通用寄存器的值。系统级上下文内核信息包括PCB与内核栈等内核信息,分为静态部分(PCB结构)与动态部分(栈中保存的层次记录)。存储映像构成用户级上下文与系统级上下文共同构成进程的整个存储器映像。上下文切换的完整过程进程切换必须由操作系统接管控制权,并完成地址空间的切换1保存硬件上下文将下降进程的寄存器现场信息保存至内核栈2修改当前进程PCB状态由运行态改为就绪或等待,并加入相应队列3调度选择新进程由调度程序选择另一个进程4切换系统上下文修改
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《四舍五入试商法》课件
- 2026年成人异常纤维蛋白原血症合并产后出血诊断模拟题及答案详解
- 2026年中国家具现状调研及市场前景预测
- 2026年上汽客服考试题库(含答案)
- 2026年胸外科食管疾病题库(含答案)
- 中国二乙烯三胺行业供需态势与投资前景预测研究报告(2026-2030版)
- 2026年焦炉炉前工三级安全教育(车间级)考核模拟试卷(含答案)
- 2026年公务员考试计算机应用能力模拟题解析试题及答案详解
- 2026年插件焊接考试模拟题及答案详解
- 一级注册建筑师建筑结构模拟题题库(含答案)
- 律师事务所业务紧急预案管理制度
- 学堂在线 英文科技论文写作与学术报告 期末考试答案
- 《糖尿病治疗新进展》课件
- 《铁路机车运用管理规则》
- DB45T 1625-2024 地质灾害危险性评估规程
- 家装园林设计合同范例
- 企业碳信息披露与质量评价规范
- 看图猜词游戏规则模板
- DL∕T 1671-2016 火力发电厂空冷岛钢结构安装及验收标准
- 2024年民用航空器维修人员执照英语备考试题库(核心600题)
- 统计与概率《义务教育数学课程标准》解读
评论
0/150
提交评论