- 1、本文档共98页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
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 用户 栈 用户 空间 描述 核心 栈 a.传统进程模型 用户 栈 核心 栈 用户 栈 核心 栈 用户 空间 描述 PCB TCB TCB ... b.多线程进程模型 线 程 线程的三种实现方式 在用户态下实现用户级线程(ULT) 多线程库完成线程的创建、调度和切换 不需要修改操作系统内核 在内核中实现核心级线程(KLT) 内核管理线程的创建、调度和切换 提供相关的系统调用 ULT与KLT的混合实现 线 程 实现用户级线程ULT 进程主程序作为主线程运行 调用多线程库的函数创建用户级线程。 通过调用多线程库的函数完成线程的调度和切换。 内核不能感知线程 多线程库和用户程序是一个整体,都是进程在用户空间中执行的程序。 进程1的运行时间 线 程 多个ULT线程分享一个进程的处理机时间 ULT ULT ULT 多线程库 进程1 ULT ULT 多线程库 进程2 进程调度 CPU 线 程 用户级线程ULT的特点 线程管理开销少 线程调度灵活 不需要修改操作系统 核心阻塞进程时将阻塞所有线程 不能实现完全的线程并行 线 程 线程控制块(TCB) 线程标识信息 状态和调度信息 ULT状态与进程状态完全不相干。调度信息可以包括优先级,ULT调度多采用非剥夺调度方式。 执行现场信息 线程私有存储区:堆栈和数据区,但它们不受操作系统保护。 线 程 核心级线程KLT的实现 由操作系统内核实现线程的管理和调度,
您可能关注的文档
- 仓储管理实务 工业和信息化高职高专“十二五”规划教材立项项目 教学课件 作者 张开涛 张文法 仓储管理实务课件.ppt
- 操作系统 教学课件 作者 宗大华 宗涛 第八章.ppt
- 操作系统 教学课件 作者 宗大华 宗涛 第二章.ppt
- 常用工具软件 教学课件 作者 邹祖银 康志亮 宋勤 第1章 安全工具.ppt
- 仓储管理实务 工业和信息化高职高专“十二五”规划教材立项项目 配套习题 作者 张开涛 张文法 仓储管理实务实践训练习题集.doc
- 操作系统 教学课件 作者 宗大华 宗涛 第六章.ppt
- 仓储管理实务( 第二版) 仓储管理实务教学大纲.doc
- 常用工具软件 教学课件 作者 邹祖银 康志亮 宋勤 第2章 系统工具.ppt
- 城市轨道交通客运组织 教学课件 作者 裴瑞江 项目八.ppt
- 仓储管理实务( 第二版) 仓储管理之导入模块.ppt
文档评论(0)