02学习课件第二章进程线程与作业1.pptVIP

  1. 1、本文档共57页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2.3.3 线程结构 静态数据 程序代码 寄存器 寄存器 线程1: 线程2: 进程 动 态 堆 内存 多线程结构(用户视图) 栈 栈 2.3.3 线程结构(另一种表示) text segment data segment Program counter Task: 2.3.4 线程控制块 TCB(Thread control block) 标志线程存在的数据结构,其中包含对线程管理需要的全部信息. 内容 线程标识 线程状态 调度参数 现场(通用寄存器,PC,SP) 链接指针 存放位置 用户级线程:目态空间(运行时系统) 核心级线程:系统空间 2.3.5 线程的实现 2.3.1 用户级别线程 User-level thread 2.3.2 核心级别线程 Kernel-level thread 2.3.3 混合线程 Hybrid approach 用户级别线程 实现方法: 基于library函数,系统不可见 线程创建、撤销、状态转换在目态完成 TCB在用户空间,每个进程一个系统栈 优点: 不依赖于操作系统,调度灵活 同一进程中多线程切换速度快(不需进入操作系统) 缺点: 同一进程中多个线程不能真正并行 一个线程进入系统受阻,进程中其它线程不能执行 用户级别线程 运行系统 TCB 进程 线程 核心栈 进程表 用户空间 系统空间 核心级别线程 实现方法: 基于系统调用 创建、撤销、状态转换由操作系统完成 优点: 同一进程内多线程可以并行执行 一线程进入核心等待,其它线程仍可执行 缺点: 系统开销大,同一进程内多线程切换速度慢 调度算法不能灵活控制 核心级别线程 进程 线程 核心栈 进程表 用户空间 系统空间 TCB 混合线程 Solaris例子 User level thread: 由Lib程序支持(创建,调度) Light weighted process(LWP): 由Lib程序支持 每个task至少一个LWP 用戶级别线程与LWP可以多对多 LWP对操作系统可见 只有与LWP相联系的用户线程向前推进 Kernel level thread: 由kernel 支持 每个LWP与唯一一个核心线程对应 核心线程可与CPU多对多,可对一 混合线程(Solaris) CPU task1 task2 task3 kernel User level thread Lightweight process Kernel thread 2.3.6 线程的应用 内在的多控制流,需要共享数据 生产-消费问题 多线程优于多进程 快100倍! 提高处理机与设备的并行性 多处理机环境 提高处理机利用率,加快进程推进速度 2.3.6 线程的应用 例子: Word字处理(不同代码) 交互编辑(T1) 词法检查(T2) 定时保存(T3) HTTP server(相同代码) 对每个http请求,pop up一个线程 2.4 作业(Job) 作业概念 用户要求计算机系统为其完成的计算任务集合。 作业步(job step) 作业处理过程中一个相对独立的步骤 一般一个作业步可由一个进程完成 某些作业步之间可以并行 作业分类 批处理作业 交互式作业 2.4.1 批处理作业 作业控制语言(JCL) 描述批处理作业控制意图的语言 作业说明书(JCL语句的序列) 一般一特殊符号起始 $JOB J1 $FORTN … $LINK … $EXEC … $ENDJOB 作业控制程序 解释并处理作业说明书的程序 作业控制进程 执行作业控制程序的进程 作业控制进程 读入作业内容 释放输入井空间 顺取作业控制语句 是结束语句 执行该作业步 (可能创建子进程) 申请输出井空间 输出作业结果 进程自我终止 F T 2.4.2 交互式作业 帐户管理 /etc/passwd文件 (用户名,口令,用户根目录,同组用户,余额…) 创建与撤销 创建: 用户提供(用户名,口令,资金) 系统操作员建立(根目录/usr/zhang, 填写passwd文件) 撤销: 删除该用户目录及所有文件 在passwd文件中清除对应entry 2.4.2 交互式作业 注册与注销 注册: logon: 用户名 password: ******** (使用) 注销: 显式注销: logoff 隐式注销: (如5分钟无输入命令) 命令解释程序 提示符$ 读入终端命令 分析 Logout 内部命令 处理 建立子进程 后台命令 等子进程结束 输出子进程号 记帐 T F T F F T 小结:作业、进程、线程 作业与进程 作业进入内存后变为进程 一个作业通常与多个进程相对应 进程与线程 一个进程一般包含多个线程,至少包含一个线程 不支持多线程的系统,可视为单线程进程 2.5.1 J

文档评论(0)

新起点 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档