第4章 进程.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统概念 第四章:进程 本章主要内容 进程概念 进程调度 进程操作 进程协作 进程间通信 客户机-服务器系统通信 4.1 进程概念 一个操作系统执行一系列的程序 批处理系统 - 作业 分时系统 - 用户程序或任务 在本书中,作业与进程几乎是可以互换的 进程 - 执行中的程序;进程执行必须以一种有序的方式来进行 进程包括: 程序计数器 堆栈 数据段 进程状态 进程在执行时会改变状态,每个进程可能处于下列状态之一 新建 运行 等待 就绪 终止 进程状态转换图 进程控制块(PCB) 每个进程在OS内用进程控制块来表示,它包含与特定进程相关的许多信息 进程状态 程序计数器 CPU寄存器 CPU调度信息 内存管理信息 计帐信息 I/O状态信息 进程控制块示意图 CPU在进程间的切换图 进程调度队列 作业队列 - 包括系统中的所有进程 就绪队列 - 所有驻留在内存中就绪的等待运行的进程列表。 设备队列 - 所有等待I/O设备的进程列表 进程在不同的队列之间移动 就绪队列和各种I/O设备队列 表示进程调度的队列图 调度程序 长期调度程序(或作业调度) - 从作业池中选择进程,并将它们装入内存以执行。 短期调度程序(或CPU调度)- 从就绪可执行的进程中选择进程,并为其中之一分配CPU。 增加了中期调度的队列图 调度程序(续) 短期调度程序执行频率非常高(毫秒级),?执行效率要非常快 长期调度程序执行得并不频繁(秒,或分为计量单位)?执行过程也许比较慢 长期调度程序控制多道程序设计的程序,即内存中的进程数量 绝大多数进程可以分为 I/O为主的进程 - 在执行I/O方面比执行计算要花费更多的时间 CPU为主的进程 - 很少产生I/O请求,与I/O为主的进程相比将更多的时间用在执行计算上。 上下文切换 将CPU切换到另一进程需要保存原来进程的状态并装入新进程的保存状态。 上下文切换时间是额外开销,因为切换时系统并不能做什么有用的工作。 上下文切换时间与硬件支持密切相关。 4.3 进程操作 - 进程创建 父进程创建子进程,子进程又创建其他进程,从而形成了进程树 三种资源共享方式 父进程与子进程共享所有资源 子进程共享父进程中的部分资源 父进程与子进程不共享任何资源 当进程创建新进程时,有两种执行可能 父进程与子进程并发执行 父进程等待,直到某个或全部子进程执行完毕 进程创建(续) 地址空间 子进程是父进程的复制品 子进程装入另一个程序进来 UNIX例子 fork系统调用创建新的进程 exec系统调用在fork调用后用新程序来取代进程的内存空间 fork另外一个进程的C程序 #include stdio.h void main(int argc, char *argv[]) { int pid; /*fork another process */ pid = fork(); if (pid 0) { fprintf(stderr, “Fork Failed”); exit(-1); } else if (pid == 0) { execlp(“/bin/ls”, “ls”, NULL); } else { wait(NULL); printf(“Child Complete”); exit(0); } } 一个典型的UNIX系统中的进程树 进程终止 当进程完成执行最后的语句并使用系统调用exit请求操作系统删除它时,进程终止。此时 进程可以返回数据到其父进程(通过系统调用wait) 进程资源会被OS所释放 在以下情况下,父进程可以通过abort系统调用终止另一个进程 子进程使用了超过它所分配到的一些资源 分配给子进程的任务已不再需要 父进程退出 级联终止 4.4 进程协作 如果一个进程不能影响或被在系统内执行的其他进程所影响,那么该进程是独立的。 如果一个进程能影响或被在系统内执行的其他进程所影响,那么该进程是协作的。 进程协作的优点 信息共享(Information sharing) 加快计算(Computation speed-up) 模块化(Modularity) 方便(Convenience) 生产-消费者问题 生产者进程产生信息,以供消费者进程消费。 无限缓冲(unbounded buffer) - 对缓冲区大小没有实际限制 有限缓冲(bounded buffer) - 假设缓冲区大小固定 4.5 进程间通信 进程间通信(Interprocess Communication, IPC)是用于进程间通信和行为同步的机制 消息系统 - 允许进程间相互通信而不需要利用共享变量 IPC工具至少提供两个操作 发送(消息) 接收(消息) 如果进程P和Q需要通信,那么他们需要 相互建立通信线路 通过发送/接收来交换消息 通信线路的实现 物理方式

文档评论(0)

fc86033 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档