操作系统基础 邓胜兰 第4章 进程与线程新.ppt

操作系统基础 邓胜兰 第4章 进程与线程新.ppt

  1. 1、本文档共97页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux的进程管理 例子2 sum=0; pid=fork(); if (pid==0){ /* 子进程执行的程序段 */ fp=fopen(“data”, “w”); for(i=1; i=100; i++) sum+=i; fprintf(fp, “%d”, sum); printf(“Child process: sum=%d\n”, sum); exit(0); /* 子进程结束 */ } for(i=101; i=200; i++) sum+=i; pid=wait(stat); /* 等待子进程结束 */ fp=fopen(“data”, “r”); fscanf(fp, “%d”, x); sum=sum+x; printf(“Parent process: sum=%d\n”, sum); } Linux的进程管理 常用命令 ps [options] 显示进程的运行信息 top [options] 动态显示进程信息,每隔一段时间刷新显示内容。 kill [–s signal] pid 完成挂起(暂停)、解挂(恢复)和杀死进程的操作。 Linux的进程管理 pthread线程库 创建线程 pthread_create(thread, attr, fun_name, agrs) 结束线程 pthread_exit(stat) 等待线程结束 pthread_join (thread, stat) 采用线程方法实现例2的编程 Linux的进程管理 例子3 main() { pthread_t mythd; int stat, i, sum, x; sum=0; /* 创建·线程 */ pthread_create(mythd, NULL, mytask, x); for(i=101; i=200; i++) sum+=i; /* 等待线程结束 */ pthread_join(mythd, stat); sum=sum+x; printf(“Process: sum=%d\n”, sum); } /* 线程的执行函数 */ void mytask(int *sp) { int i, sum sum=0; for(i=1; i=100; i++) sum+=i; /* 保存计算结果 */ *sp=sum printf(“Thread: sum=%d\n”, sum); /* 线程结束 */ pthread_exit(0); } 作 业 习题4 1、5、8、14、15、19、23 上机实验 1、2 * * 例如:hash(PID)=PID的后4位数字 * 例如:hash(PID)=PID的后4位数字 * 例如:hash(PID)=PID的后4位数字 * 例如:hash(PID)=PID的后4位数字 * 例如:hash(PID)=PID的后4位数字 * 唤醒指定进程,唤醒等待某个事件的一个进程或所有进程 * 唤醒指定进程,唤醒等待某个事件的一个进程或所有进程 * 唤醒指定进程,唤醒等待某个事件的一个进程或所有进程 * 唤醒指定进程,唤醒等待某个事件的一个进程或所有进程 * 分两部分运行 * 生活中常见的排队方法 常与其他算法结合,以便公平对待同类进程。 * 生活中常见的排队方法 常与其他算法结合,以便公平对待同类进程。 * 对超时的进程,或停止运行,或加价收费。 * * * ULT的管理类似于进程管理,在用户态下执行 * 操作系统的线程调度 * CPU利用率的影响?调度频率? * 例如:hash(PID)=PID的后4位数字 * 例如:hash(PID)=PID的后4位数字 * 例如:hash(PID)=PID的后4位数字 * 例如:hash(PID)=PID的后4位数字 * 例如:hash(PID)=PID的后4位数字 * 例如:hash(PID)=PID的后4位数字 * 例如:hash(PID)=PID的后4位数字 线 程 使用线程实现并发程序 并行开销少 适应共享存储多处理机系统 进程与线程的关系 进程包容线程 进程包含PCB、程序、地址空间和资源,线程包含TCB、CPU现场和堆栈。 为线程分配CPU,为进程分配其他资源。 线 程 多线程的进程模型 PCB 用户 栈 用户 空间 描述 核心 栈 a.传统进程模型 用户 栈 核心 栈 用户 栈 核心 栈 用户 空间 描述 PCB TCB TCB ... b.

您可能关注的文档

文档评论(0)

118压缩包课件库 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档