当前位置:文档之家› linux进程与线程

linux进程与线程

教学内容
►进程的概念
►进程的特性
►进程的状态及其转换
►进程的控制
►Linux中的进程控制 ►线程
linux操作系统 华软软件学院电子系
P1
教学要求
►掌握程序、进程、线程的区别 ►掌握进程的基本状态及状态转换 ►了解进程控制块(PCB)的内容 ►重点掌握linux系统中进程相关的命令、系统 调用、库函数
因等待某种事件 或者资源而无法运 行,即使CPU空闲, 该进程也不可运行 等待某 事件或 资源。
具备运行 条件,但 暂无CPU
就绪
阻塞
进程的状态及其转换
linux操作系统 华软软件学院电子系
P11
Unix进程状 态及其变迁
内存就绪
运行
exit
等待
低优睡眠 高优睡眠
换出
换出
换出
就绪
换入
唤醒
等待
外存就绪
linux操作系统
华软软件学院电子系
P16
Linux系统中的PCB
►Linux PCB(task_struct)
n 包含进程所有信息 n task_struct数据结构很庞大,但并不复杂,按功能将所 有域划分:
u u u u u u u u
u
u u u
1、进程状态(State) 2、进程调度信息(Scheduling Information) 3、各种标识符(Identifiers) 4、进程通信有关信息(IPC:Inter_Process Communication) 5、时间和定时器信息(Times and Timers) 6、进程链接信息(Links) 7、文件系统信息(File System) 8、虚拟内存信息(Virtual Memory) 9、页面管理信息(page) 10、对称多处理器(SMP)信息 11、和处理器相关的环境(上下文)信息(Processor Specific Context) 12、其它信息 华软软件学院电子系
P26
进程的创建
► Linux中的进程创建
n init_task:
u
u
Linux在启动时运行在核心态,这时只有初始化程序 在执行是系统的第一个进程,因此称为初始进程。 init_task在系统初始化结束后,初始进程启动一个 核心进程,称为init。然后执行空闲循环,什么也不 做。当系统没有其他工作时,调度程序会运行这个空 闲进程。
linux操作系统
华软软件学院电子系
P2
单道与多道程序设计
►多道程序设计的提出
n 单道程序设计
u
u
执行特点:静态的、孤立的 具体特性:顺序性、封闭性、可再现性、资源独占性
为了充分有效地利用计算机 的有限资源,提出了多道程序设计
linux操作系统 华软软件学院电子系
P3
n 并发执行及“与时间有关的错误” u 并发执行,是指多个程序段之间在执行时间上重叠。 u 多程序段同时在系统中运行 u 宏观上并行,微观上串行 u 资源共享 u 问题: l 资源冲突,甚至死锁 l “与时间有关的错误”
n 僵死状态
进程执行了exit()函数后进入该状态,即进程被终止 u 此状态将由父进程执行wait()系统调用而“唤醒”, 真正终止该进程,并回收其资源 u 处于该状态的进程是死进程,属于系统中的垃圾,必 须进行相应处理以释放其占用的资源
u
n 死亡状态:僵死进程被父进程回收后的状态
linux操作系统 华软软件学院电子系
linux操作系统 华软软件学院电子系
P21
Linux中与进程相关的命令
PS
-A:列出所有的行程
-w:显示加宽可以显示较多的资讯
-au:显示较详细的资讯 -aux:显示所有包含其他使用者的行程
-e:显示所有进程,环境变量
-f:全格式 -h:不显示标题
-l:长格式
注意区分“ps aux”和“ps -aux”命令
P23
Linux中与进程相关的命令
TOP
句法:top [OPTIONS] 功能:实时显示系统中各个进程的资源占用状况 TOP命令是一个动态显示过程,可以通过用户按键来不断 刷新当前状态。
TOP命令是Linux下常用的性能分析工具
linux操作系统
华软软件学院电子系
P24
操作系统内核
► CPU的两种执行状态:系统态和用户态 n 系统态/核心态(特态或管态):该状态下,CPU能执行 指令集中任何指令; n 用户态(常态或目态):该状态下,CPU只能执行一般的 指令,不能执行特权指令。 ► 操作系统内核功能 n 中断处理 n 时钟管理 n 原语操作 n 进程管理 n 存储器管理 n 设备管理
►进程映像:
n 程序和数据是进程的静态部分,可见 n PCB是进程的动态部分,不可见 linux操作系统 华软软件学院电子系
P13
进程控制块PCB
►进程控制块(PCB)
n PCB---Process Control Block n 记彔了OS控制和管理进程的所需的所有信息, 是进程属性的动态描述(PCB在Linux中对应 task_struct,也称为PD;PCB在Unix中对应 于proc和user结构)
单道与多道程序设计
单道程序设计
多道程序设计
linux操作系统
华软软件学院电子系
P4
进程的定义
►进程的定义:进程是可并发执行的程序在一个数据 集合的运行过程。它是操作系统动态执行的基本单 元,是系统进行资源分配的独立单位。
启动浏览器IE后, 得到的进程
linux操作系统
华软软件学院电子系
P5
进程与程序及其分类
►进程控制块与进程关系:
n 每个进程有唯一的PCB。 n 操作系统(OS)根据PCB管理进程。 n 利用PCB实现进程的动态、并发。 n PCB是进程存在的唯一标志。
linux操作系统 华软软件学院电子系
P14
进程控制块PCB
►PCB的内容
n 标识信息:进程标识、用户名 n 说明信息:进程状态、等待原因、进程程序和数 据的存储信息 n 现场信息:记彔重要寄存器、时钟等内容,用于 恢复断点 n 管理调度信息:进程优先级、进程队列指针、消 息队列指针、进程使用的资源清单、进程家族关 系、进程当前打开的文件
linux操作系统 华软软件学院电子系
P9
进程的基本状态
►运行态(Running)
n 进程占有CPU,并在CPU上运行。在单CPU系统中, 最多只有一个进程处于运行态。
►就绪态(Ready)
n 一个进程已经具备运行条件,但由于无CPU暂时 不能运行的状态(当调度给其CPU时,立即可以 运行)。处于就绪状态的进程可以有多个。队列 的排列次序一般按优先级大小来排列。
linux操作系统 华软软件学院电子系
P25
进程的创建
► 进程创建的时机
n n n n 用户登彔 作业调度 提供服务 应用请求
► 进程创建的过程
n 取得一个空白PCB,生成一个唯一的进程标识 号(一般是数字形式) n 为新进程分配必要的资源 n 初始化PCB将新进程的PCB揑入就绪队列
linux操作系统 ux的进程状态转换模型
linux操作系统
华软软件学院电子系
P20
Linux中与进程相关的命令
PS
ps —— Processes Snapshot 句法:ps [OPTIONS]
功能:对系统中的进程进行监控
[OPTION]参数如下:
l:长格式输出 u:按用户名和启动时间顺序来显示进程 j:用任务格式来显示进程 f:用全格式来显示进程 a:显示所有用户的所有进程 x:显示无控制终端的进程
►进程与程序的关联
n 进程是程序的一次执行过程,即一个执行实例 n 程序与进程存在:1:1、1:n的关系 n 进程与程序存在:1:1、1:n的关系
►进程与程序的区别
n 程序:静态、指令集合、无生命周期、可保存、不是进 程调度和分配资源的单位 n 进程:动态、执行过程、有生命周期、不可保存、是进 程调度和分配资源的单位 n 进程是由程序、数据和进程控制块三部分组成;进程具 有创建其他进程的功能,而程序没有。
linux操作系统 华软软件学院电子系
P22
Linux中与进程相关的命令
kill
关闭进程:kill 进程号 kill -9 进程号(强行关闭) kill -1 进程号(重启进程) 结束所有进程:killall 查找服务进程号:pgrep 服务名称 关闭进程:pkill 进程名称
linux操作系统
华软软件学院电子系
唤醒
低优睡眠
高优睡眠
linux操作系统
华软软件学院电子系
P12
进程的组成
►操作系统控制结构
n n n n 内存表用来跟踪主存和辅存。 I/0表用来管理I/0设备和通道。 文件表提供当前存在文件中的信息。 进程表用来管理进程。
►进程的组成
n 程序段:进程所对应的可执行程序; n 数据段:程序运行过程中要用到的数据或工作区; n 进程控制块(PCB):为管理进程设置的一个专门的数 据结构,用于记彔进程的外部特征,描述进程的运动变 化过程。
华软软件学院电子系
P18
linux操作系统
Linux PCB中的进程状态(state)
n 暂停状态
u u
u
进程暂时停止运行以接受某种特殊处理 通常当进程接收到SIGSTOP、SIGTSTP、SIGTTIN 或 SIGTTOU信号后就处于这种状态(关于信号,将 在以后讲述) 例如,正接受调试的进程就处于这种状态
P17
linux操作系统
Linux PCB中的进程状态(state)
n 可运行状态
u u u
进程正在运行(运行态)、或者正准备运行(就绪态) 正在运行的进程就是当前进程 准备运行的进程只要得到CPU就可以立即投入运行, CPU是这些进程唯一等待的系统资源
相关主题