第二章_进程和线程.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文档。上传文档
查看更多
第二章_进程和线程

第2章 进程管理;本章内容提要;2.1 进程概念;2.1.2程序并发执行及其特征;▲多道技术下作业执行过程 ;■程序并发执行的特征 ① 失去封闭性 ② 程序与计算不再一一对应 ③ 并发程序在执行期间相互制约;2.1.3 进程概念的引入和定义;★生活中事例——按菜谱做菜 ●进程和程序的区别 动态性 并发性 非对应性 异步性 ;■进程特征 (1)动态性 (2)并发性 (3)调度性 (4)异步性 (5)结构性 ;2.2 进程状态描述及组织方式; 进程的5种状态及其转换;■进程状态的转换 (1)就绪→运行 (2)运行→阻塞 (3)阻塞→就绪 (4)运行→就绪;2.2.2 进程的组成 ; 进程描述;3.进程控制块的作用 每个进程有惟一的进程控制块 操作系统根据PCB对进程实施控制和管理 进程的动态、并发等特征是利用PCB表现出来的 PCB是进程存在的唯一标识 ;2.2.3 进程组织方式; 进程队列; PCB索引结构示意图;2.3 进程管理和有关命令;■进程创建 引发创建进程的事件: ▲调度新作业 ▲用户登录 ▲操作系统提供特定服务 ▲派生新进程 ●创建新进程时要执行创建进程的系统调用(如UNIX/Linux系统中的fork) ●其主要操作过程有如下四步: (1)申请一个空闲的PCB (2)为新进程分配资源 (3)将新进程的PCB初始化 (4)将新进程加到就绪队列中 ;#include unistd.h #include sys/types.h #include stdio.h int main(int argc,char *argv[]) { int pid; pid = fork(); /* fork another process */ if (pid 0) { /* error occurred */ fprintf(stderr, Fork Failed); exit(-1); } else if (pid == 0) { /* child process */ execlp( /bin/ls, ls,NULL); } else { /* parent process */ wait(NULL); /* parent will wait for the child to complete */ printf( Child Complete ); exit(0); } };■进程终止 ●导致进程终止的三种情况: 正常终止 异常终止 外部干扰 ●终止进程的主要操作过程如下: 找到指定进程的PCB,终止该进程的运行 回收该进程所占用的全部资源 终止其所有子孙进程,回收它们所占用的全部资源。 将被终止进程的PCB从原来队列中摘走;■进程阻塞 进程阻塞的过程如下: 立即停止当前进程的执行 现行进程的CPU现场保存 现行状态由“运行”改为“阻塞” 转到进程调度程序;■进程唤醒 唤醒原语执行过程如下: 把阻塞进程从相应的阻塞队列中摘下 将现行状态改为就绪状态,然后把该进程插入就绪队列中 如果被唤醒的进程比当前运行进程的优先级更高,则设置重新调度标志 ;■进程映像的更换 改变进程映像的工作很复杂,其主要过程是: 释放子进程原来的程序和数据所占用的内存空间; 从磁盘上找出子进程所要执行的程序和数据(通常以可执行文件的形式存放); 分配内存空间,装入新的程序和数据; 为子进程建立初始的运行环境——主要是对各个寄存器初始化,返回到用户态,运行该进程的程序。 ;2.3.2 Linux进程管理;■进程的模式和类型 ;■ Linux进程结构 ●task_struct结构 Linux系统中的每个进程都有一个名为task_struct的数据结构,它相当于“进程控制块”。 task_str

文档评论(0)

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

分享好文档!

1亿VIP精品文档

相关文档