第八课 UNIX的进程管理.ppt_第1页
第八课 UNIX的进程管理.ppt_第2页
第八课 UNIX的进程管理.ppt_第3页
第八课 UNIX的进程管理.ppt_第4页
第八课 UNIX的进程管理.ppt_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第八课UNIX的进程管理一 进程及其映像1 进程概念进程是一个具有一定独立功能的程序或程序段在一组数据集合上的一次动态执行过程 进程是单处理器系统中多道程序并发执行的基础机制 即以进程为单位让多道程序在单个处理器上交替执行 操作系统实施对进程的管理与控制 对进程的管理实际上就是程序执行中所对应的虚拟处理机 虚拟存储器和虚拟外设等资源的分配和回收的操作过程 2 进程的特性动态性 动态地址空间 系统对进程的控制信息是动态的 独立性 运行中的每个进程都具有独立的运行环境 进程间具有并发行和异步性结构化3 进程与程序的区别进程是动态的 而程序是静态的 进程是暂时的 随着系统需要生成 也随着任务完成而结束 组成结构不同 进程包含程序段 数据结构集与进程控制块 PCB 与程序相关联 一个程序可对应多个进程 通过不同的调用执行 一个进程中可包含多个程序段 4 进程的状态两态进程 运行 非运行五态进程 运行 就绪 阻塞 创建 结束进程的三种基本状态 运行状态 进程已分配到CPU 正在执行 多个程序可以是并发执行的 但是处于运行态的进程数量不得多于CPU的数量 就绪状态 已具备运行条件 等待CPU空闲 就绪态进程可有多个 封锁状态 进程处在等待I O操作完成或其它进程发来信号等事件中 封锁状态进程也可以有多个 在UNIX系统中 进程状态又可分为10种 用户态运行 核心态运行 在内存就绪 在内存睡眠 在外存就绪 在外存睡眠 在内存暂停 在外存暂停 创建态 终止态进程挂起 现代进程管理增加了进程挂起 将低优先级 等待时间较长的进程从内存交换到外存 进程的工作方式归为两种 用户态 核心态 处于核心态运行的进程称为核心进程 优先级高于用户进程 5 进程映像进程独立运行的环境被称作进程映像 也称进程上下文 进程映像组成 进程控制块 PCB 进程执行的程序 程序所需数据 工作栈 核心栈 用户栈 PCB 记录进程外部特征 描述进程运动变化过程的专门的数据结构 系统利用PCB来控制和管理进程 进程与PCB是一一对应的 PCB包括proc结构 user结构proc 常驻内存 记录进程状态 优先数等user 在内 外存之间对换 进程处于运行态时才被对换至内存 主要包含相关的用户信息 I O参数 指向proc的指针等 进程上下文结构图 二 进程创建与管理1 进程创建进程的创建与消亡贯穿于整个系统运行过程中核心对进程的操作 进程树结构 新教材P156图8 4UNIX进程创建结构图 2 进程管理创建进程 系统启动生成0 进程 其余进程由系统调用程序fork创建 进程被创建后通常处于就绪态 等待被调度选中才可运行 撤消进程挂起进程 被暂时调离出内存恢复进程改变进程优先级封锁进程唤醒进程 唤醒等待当前进程终止的睡眠进程调度进程 通常在进程被挂起或终止后执行三 进程调度1 内核的进程调度程序进程调度由swatch程序实现 负责挑选进程 分配CPU 转换进程状态等工作 2 进程调度方法通常核心对进程调度采用多极反馈队列轮转法 核心为运行进程分配一个时间片 时间片用完则该进程被送回同优先级队列尾 CPU被另外进程占用 再次轮到该进程运行时 即从上次断点处继续 一个进程从创建到结束运行 需要经历多次反馈循环 3 进程调度的功能记录系统中所有进程的执行情况选择占有CPU的进程进行进程上下文切换 4 进程优先级每个进程的优先级决定其何时运行和占用多少CPU时间 进程优先级通常归为两大类 用户优先级类 核心优先级类各种核心进程的优先级高于用户进程的优先级 后台进程优先级最低 实时进程优先级最高 优先级高的进程可中断优先级低的进程 进程的优先级由优先数表示 优先数越小 优先级越高 优先数由核心动态调整 对核心态进程设置优先数 对用户态进程计算核心数 由时钟处理程序实现 教材p117图5 7进程优先级的级别 四 进程通信UNIX进程通信包含两层含义 单一进程内部各个模块间的通讯作为独立运行单位的各个不同进程间的通讯UNIX采用的进程通信方式 文件和记录锁定 是UNIX为共享资源提供的互斥性保障 管道 一般用于两个不同进程之间的通信 FIFO 通常使用命名管道 消息队列 UNIX允许不同进程将格式化的数据流以消息形式发送给任意进程 信号机制 用于多进程之间的同步 UNIX进程通信工具 sleep wakeup 信号机制 管道文件 消息通信 共享数据段 网络通信机制等sleep 将进程状态从 核心态运行 转为 在内存睡眠 wakeup 将进程状态从 睡眠 转为 就绪 唤醒同样睡眠原因 参数chan 的所有进程 sleep与wakeup均为UNIX核心程序 是核心内部实施进程同步与互斥的基本工具信号机制 可在异步进程之间发送信号 实现通信或相互制约 发送信号方法 信号发送进程写信号信号接收进程 之proc的p sig信号项中 检测信号执行相应信号处理程序 信号处理机制包括 信号的分类 产生 传送对各种信号预先规定的处理方式信号检测和处理五 shell进程shell是负责解释命令的系统程序 是UNIX的第二层 以用户态方式运行 shell实现用户与UNIX核心的接口 提供内核与用户之间的界面 是用户与作业系统之间的交互层 系统启动后 核心即为每个终端用户分配一个shell进程 进入shell界面 shell的执行过程如下 读取用户命令 分析命令 配置参数 系统调用exec更换进程映像 创

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论