- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八课UNIX的进程管理
第八课 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-4 UNIX进程创建结构图) 2、进程管理 创建进程:系统启动生成0#进程,其余进程由系统调用程序fork创建。 进程被创建后通常处于就绪态,等待被调度选中才可运行。 撤消进程 挂起进程:被暂时调离出内存 恢复进程 改变进程优先级 封锁进程 唤醒进程:唤醒等待当前进程终止的睡眠进程 调度进程:通常在进程被挂起或终止后执行 三、进程调度 1、内核的进程调度程序 进程调度由swatch程序实现,负责挑选进程、分配CPU、转换进程状态等工作。 2、进程调度方法 通常核心对进程调度采用多极反馈队列轮转法: 核心为运行进程分配一个时间片; 时间片用完则该进程被送回同优先级队列尾,CPU被另外进程占用; 再次轮到该进程运行时,即从上次断点处继续。 一个进程从创建到结束运行,需要经历多次反馈循环。 3、进程调度的功能 记录系统中所有进程的执行情况 选择占有CPU的进程 进行进程上下文切换 4、进程优先级 每个进程的优先级决定其何时运行和占用多少 CPU 时间。 进程优先级通常归为两大类:用户优先级类、核心优先级类 各种核心进程的优先级高于用户进程的优先级,后台进程优先级最低,实时进程优先级最高。 优先级高的进程可中断优先级低的进程。 进程的优先级由优先数表示,优先数越小,优先级越高。 优先数由核心动态调整: 对核心态进程设置优先数; 对用户态进程计算核心数(由时钟处理程序实现)。 (教材p117图5-7进程优先级的级别) 四、进程通信 UNIX进程通信包含两层含义: 单一进程内部各个模块间的通讯 作为独立运行单位的各个不同进程间的通讯 UNIX采用的进程通信方式 : 文件和记录锁定。是UNIX为共享资源提供的互斥性保障。 管道。一般用于两个不同进程之间的通信 。 FIFO 。通常使用命名管道。 消息队列。 UNIX允许不同进程将格式化的数据流以消息形式发送给任意进程。 信号机制。用于多进程之间的同步 。 UNIX进程通信工具:sleep、wakeup、信号机制、管道文件、消息通信、共享数据段、网络通信机制等 sleep:将进
文档评论(0)