- 1、本文档共80页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
主要内容 第2章 进程与线程 2.1 进程(补充1) 程序 指令或语句序列,体现了某种算法所有程序是顺序的 ① 顺序程序 计算机系统中只有一个程序在运行,该程序独占系统中的所有资源,其执行不受外界影响 特征:顺序性、封闭性、可再现性 2.1 进程(补充2) 2.1 进程2.1.1 进程模型 含有4道程序的多道程序 4个独立的顺序进程的概念模型 在任意时刻仅有一个程序是活跃的 2.1.2 创建进程 4种主要事件导致进程的创建 系统初始化 执行了正在运行的进程所调用的进程创建系统调用 用户请求创建一个新进程 一个批处理作业的初始化 2.1.3 进程的终止 引起进程终止的条件: 正常退出 (自愿的) 错误退出 (自愿地) 严重错误 (非自愿地) 被其他进程杀死 (非自愿地) 2.1.4 进程的层次结构 父进程创建一个子进程,子进程可以创建属于自己的更多进程 Unix中所有子女和后裔共同组成一个进程组 UNIX 叫 “进程组 Windows 没有进程层次的概念 所有的进程都是地位相同的 2.1.5 进程的状态 (1) 进程的状态 running(运行态) blocked(阻塞态) ready(就绪态) 上图显示出各状态之间的转换 2.1.5 进程的状态 (2) 以进程构造的操作系统最底层 处理中断, 调度 在该层之上是顺序进程 2.1.6 进程的实现(补充) 2.1.6 进程的实现 (1) 典型的进程表表项中的一些字段 2.1.6 进程的实现(2) 当中断发生后操作系统最底层的工作步骤 进程与程序的区别(补充) 进程更能真实的描述并发(程序不能) 进程是由程序和数据两部分组成的 程序是静态的。进程是动态的 进程有生命周期,有诞生有消亡,短暂的;而程序是相对长久的 一个程序可以对应多个进程 进程具有创建其他进程的功能 2.2 线程2.2.1 线程的概念 线程 线程是轻量级的进程,它是一个进程内的基本调度单位,有自己的程序计数器、寄存器及堆栈。 多线程与多进程 -多线程系统允许多个线程共享一个进程的地址空间、打开文件、全局变量等资源。 -多进程系统允许多个进程共享物理内存、磁盘、打印机等资源。 线程与进程 - 进程是资源管理的基本单位 -线程是调度的基本单位 2.2.2 线程模型 (a) 三个进程,每个进程有1个线程 (b) 一个进程有3个线程 线程的实现(TCB) 一个进程中所有线程共享内容 每个线程自己的内容 每个线程有自己的堆栈 (kerneluser stack,TCB) 2.2.3 引入线程的原因 伪并行,进一步提高并发度 更小的系统开销 更高的性能 有利于在多CPU系统中实现真正的并行 2.2.4 在用户空间实现线程 用户级线程包 2.2.5 在内核中实现线程 内核管理的线程包 2.2.6 混合实现 用户级线程与内核线程复用 TSL指令 用TSL指令进入和离开临界区 管程 2.3.4 进程通信 引入: 1) 信号量需要编程语言支持. 2)信号量在网络环境下不可用 实现: 1)send(destination, message) 2)receive(source, message) 用N条消息实现的生产者-消费者问题 所有系统 公平、策略的强制执行、均衡 批处理系统 大的吞吐量、短的周转时间、高的CPU利用率 交互式系统 短的响应时间、均衡性 实时系统 满足实时性要求、具有可预测性 2.4.7 线程调度 用户级线程的可能调度 内核级线程的可能调度 2.5.2 哲学家就餐问题 哲学家的活动:吃饭/思考 吃饭需要2把叉子 一次只拿一把 ? 给出描述哲学家行为的、不会死锁的程序结构 2.5.3 读者-写者问题 读者-写者问题的一种解决方案 2.4.6 实时系统调度方法: 实时系统处理的外部事件: .硬实时任务:系统必须完全满足任务的时限要求 .软实时任务:允许系统对任务的时限要求有一定的延迟 实时操作系统的功能: .快速的进程或线程切换 .快速的外部中断响应 .基于优先级的随时强占式调度策略 实时操作系统的调度算法: .时限调度算法: 选择时限要求最近的任务优先占有处理机,它是抢先式 的,即将新任务的时限与当前任务的时限进行比较,选择时 限最近的执行 (时限可以是处理开始时限或处理结束时限) .频率单调调度算法: 周期长的任务优先级越低 (适用于多周期性实时任务) 1/n 2.5 经典的进程间通信问题 .2.5.1 生产者-消费者问题 P1 P2 Pm … 1 2 n ………… C1 C2 C3 … 有界缓冲区 .生产者-消费者之间满足的条件: -
您可能关注的文档
最近下载
- 《质量评估流程》课件.ppt VIP
- 17J008 挡土墙(重力式、衡重式、悬臂式)(最新).pdf VIP
- 2024年数智工程师职业鉴定考试复习题库(含答案).docx VIP
- (完整版)建筑施工技术交底范本(大全) .pdf VIP
- 水运工程大体积混凝土温度裂缝控制技术规范_JTS-T 202-1-2022.pdf
- 设备供货、安装、调试、验收方案.docx VIP
- 《水利水电工程施工图审查技术导则》.pdf VIP
- 《木材学》——李坚 木材学笔记(完整).doc VIP
- 《公路水泥混凝土路面施工技术规范》_(JTGF30-2015).pdf VIP
- 小学生数学学习自查习惯现状调查报告.pdf VIP
文档评论(0)