linux进程与线程汇总
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
n 僵死状态
进程执行了exit()函数后进入该状态,即进程被终止 u 此状态将由父进程执行wait()系统调用而“唤醒”, 真正终止该进程,并回收其资源 u 处于该状态的进程是死进程,属于系统中的垃圾,必 须进行相应处理以释放其占用的资源
u
n 死亡状态:僵死进程被父进程回收后的状态
linux操作系统 华软软件学院电子系
linux操作系统 华软软件学院电子系
P8
进程的特性
►进程的特性:
n 动态性:进程的实质是程序的一次执行过程,进 程是动态产生,动态消亡的; n 并发性:任何进程都可以同其他进程一起并发执 行; n 独立性:进程是一个能独立运行的基本单位,同 时也是系统分配资源和调度的独立单位; n 异步性:由于进程间的相互制约,使进程具有执 行的间断性,即进程按各自独立的、不可预知的 速度向前推进。
ቤተ መጻሕፍቲ ባይዱ
►进程控制块与进程关系:
n 每个进程有唯一的PCB。 n 操作系统(OS)根据PCB管理进程。 n 利用PCB实现进程的动态、并发。 n PCB是进程存在的唯一标志。
linux操作系统 华软软件学院电子系
P14
进程控制块PCB
►PCB的内容
n 标识信息:进程标识、用户名 n 说明信息:进程状态、等待原因、进程程序和数 据的存储信息 n 现场信息:记录重要寄存器、时钟等内容,用于 恢复断点 n 管理调度信息:进程优先级、进程队列指针、消 息队列指针、进程使用的资源清单、进程家族关 系、进程当前打开的文件
进程的产生与终止
► 进程的产生 n 交互式环境中,合法用户终端登陆。 n 批处理环境中,为响应一个任务的要求而产生进程。 n 当运行中获取用户程序提出的某种请求后,OS可以 代用户程序产生进程以实现某种功能。 n 基于应用进程的需要,由已存在的进程产生另一个 进程,以便使新程序以并发运行方式完成特定任务。 当一个进程生成另一个进程时,生成进程称为父进 程,而被生成进程称为子进程。 ► 进程的终止 n 正常结束、超时限制、内存不足、I/O失败、非法指 令等
唤醒
低优睡眠
高优睡眠
linux操作系统
华软软件学院电子系
P12
进程的组成
►操作系统控制结构
n n n n 内存表用来跟踪主存和辅存。 I/0表用来管理I/0设备和通道。 文件表提供当前存在文件中的信息。 进程表用来管理进程。
►进程的组成
n 程序段:进程所对应的可执行程序; n 数据段:程序运行过程中要用到的数据或工作区; n 进程控制块(PCB):为管理进程设置的一个专门的数 据结构,用于记录进程的外部特征,描述进程的运动变 化过程。
P26
进程的创建
► Linux中的进程创建
n init_task:
u
u
Linux在启动时运行在核心态,这时只有初始化程序 在执行是系统的第一个进程,因此称为初始进程。 init_task在系统初始化结束后,初始进程启动一个 核心进程,称为init。然后执行空闲循环,什么也不 做。当系统没有其他工作时,调度程序会运行这个空 闲进程。
►进程映像:
n 程序和数据是进程的静态部分,可见 n PCB是进程的动态部分,不可见 linux操作系统 华软软件学院电子系
P13
进程控制块PCB
►进程控制块(PCB)
n PCB---Process Control Block n 记录了OS控制和管理进程的所需的所有信息, 是进程属性的动态描述(PCB在Linux中对应 task_struct,也称为PD;PCB在Unix中对应 于proc和user结构)
P19
Linux的进程状态转换模型
linux操作系统
华软软件学院电子系
P20
Linux中与进程相关的命令
PS
ps —— Processes Snapshot 句法:ps [OPTIONS]
功能:对系统中的进程进行监控
[OPTION]参数如下:
l:长格式输出 u:按用户名和启动时间顺序来显示进程 j:用任务格式来显示进程 f:用全格式来显示进程 a:显示所有用户的所有进程 x:显示无控制终端的进程
linux操作系统
华软软件学院电子系
P2
单道与多道程序设计
►多道程序设计的提出
n 单道程序设计
u
u
执行特点:静态的、孤立的 具体特性:顺序性、封闭性、可再现性、资源独占性
为了充分有效地利用计算机 的有限资源,提出了多道程序设计
linux操作系统 华软软件学院电子系
P3
n 并发执行及“与时间有关的错误” u 并发执行,是指多个程序段之间在执行时间上重叠。 u 多程序段同时在系统中运行 u 宏观上并行,微观上串行 u 资源共享 u 问题: l 资源冲突,甚至死锁 l “与时间有关的错误”
教学内容
►进程的概念
►进程的特性
►进程的状态及其转换
►进程的控制
►Linux中的进程控制 ►线程
linux操作系统 华软软件学院电子系
P1
教学要求
►掌握程序、进程、线程的区别 ►掌握进程的基本状态及状态转换 ►了解进程控制块(PCB)的内容 ►重点掌握linux系统中进程相关的命令、系统 调用、库函数
P23
Linux中与进程相关的命令
TOP
句法:top [OPTIONS] 功能:实时显示系统中各个进程的资源占用状况 TOP命令是一个动态显示过程,可以通过用户按键来不断 刷新当前状态。
TOP命令是Linux下常用的性能分析工具
linux操作系统
华软软件学院电子系
P24
操作系统内核
► CPU的两种执行状态:系统态和用户态 n 系统态/核心态(特态或管态):该状态下,CPU能执行 指令集中任何指令; n 用户态(常态或目态):该状态下,CPU只能执行一般的 指令,不能执行特权指令。 ► 操作系统内核功能 n 中断处理 n 时钟管理 n 原语操作 n 进程管理 n 存储器管理 n 设备管理
linux操作系统
华软软件学院电子系
P15
Linux系统中的PCB
►Linux系统中的PCB
n 在Linux中,任务和进程是同一概念 n Linux中的PCB即任务数据结构: task_strcut,也称为进程描述符PD ( Processor Descriptor) n 定义在include/linux/sched.h中
华软软件学院电子系
P18
linux操作系统
Linux PCB中的进程状态(state)
n 暂停状态
u u
u
进程暂时停止运行以接受某种特殊处理 通常当进程接收到SIGSTOP、SIGTSTP、SIGTTIN 或 SIGTTOU信号后就处于这种状态(关于信号,将 在以后讲述) 例如,正接受调试的进程就处于这种状态
►阻塞态(Blocked)
n 指进程因等待某种事件的发生而暂时不能运行的 状态,即使CPU空闲,该进程也不可运行。处于 阻塞状态的进程可以有多个。
linux操作系统 华软软件学院电子系
P10
进程状态之间的转换
进程占有CPU
进程被调度 获得CPU
运行
时间片用完 或被抢占 已获得事件 或等待的资源
因等待某种事件 或者资源而无法运 行,即使CPU空闲, 该进程也不可运行 等待某 事件或 资源。
具备运行 条件,但 暂无CPU
就绪
阻塞
进程的状态及其转换
linux操作系统 华软软件学院电子系
P11
Unix进程状 态及其变迁
内存就绪
运行
exit
等待
低优睡眠 高优睡眠
换出
换出
换出
就绪
换入
唤醒
等待
外存就绪
init进程的进程标识号为1,是系统中第一个真正的 进程有自己的PCB。是系统中其他进程的祖先。
n init:
u
n 除init外,Linux所有进程都由其他进程创建; 用户态中,可调用fork或clone来创建子进程。
linux操作系统 华软软件学院电子系
P9
进程的基本状态
►运行态(Running)
n 进程占有CPU,并在CPU上运行。在单CPU系统中, 最多只有一个进程处于运行态。
►就绪态(Ready)
n 一个进程已经具备运行条件,但由于无CPU暂时 不能运行的状态(当调度给其CPU时,立即可以 运行)。处于就绪状态的进程可以有多个。队列 的排列次序一般按优先级大小来排列。
linux操作系统 华软软件学院电子系
P22
Linux中与进程相关的命令
kill
关闭进程:kill 进程号 kill -9 进程号(强行关闭) kill -1 进程号(重启进程) 结束所有进程:killall 查找服务进程号:pgrep 服务名称 关闭进程:pkill 进程名称
linux操作系统
华软软件学院电子系
linux操作系统 华软软件学院电子系
P21
Linux中与进程相关的命令
PS
-A:列出所有的行程
-w:显示加宽可以显示较多的资讯
-au:显示较详细的资讯 -aux:显示所有包含其他使用者的行程
-e:显示所有进程,环境变量
-f:全格式 -h:不显示标题
-l:长格式
注意区分“ps aux”和“ps -aux”命令
►进程与程序的关联
n 进程是程序的一次执行过程,即一个执行实例 n 程序与进程存在:1:1、1:n的关系 n 进程与程序存在:1:1、1:n的关系
►进程与程序的区别
n 程序:静态、指令集合、无生命周期、可保存、不是进 程调度和分配资源的单位 n 进程:动态、执行过程、有生命周期、不可保存、是进 程调度和分配资源的单位 n 进程是由程序、数据和进程控制块三部分组成;进程具 有创建其他进程的功能,而程序没有。
►进程和程序的分类
n 系统进程(系统程序的执行过程) n 用户进程(用户程序的执行过程)
linux操作系统 华软软件学院电子系
P6
生活中的程序与进程举例
菜 谱
按照菜谱做菜的过程
程 序
linux操作系统
进 程
简单理解:所有正 运行的程序都叫做 进程,程序只有在 被系统载入了内存 并运行后才能够叫 做进程。 华软软件学院电子系 P7
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、其它信息 华软软件学院电子系
单道与多道程序设计
单道程序设计
多道程序设计
linux操作系统
华软软件学院电子系
P4
进程的定义
►进程的定义:进程是可并发执行的程序在一个数据 集合的运行过程。它是操作系统动态执行的基本单 元,是系统进行资源分配的独立单位。
启动浏览器IE后, 得到的进程
linux操作系统
华软软件学院电子系
P5
进程与程序及其分类
P17
linux操作系统
Linux PCB中的进程状态(state)
n 可运行状态
u u u
进程正在运行(运行态)、或者正准备运行(就绪态) 正在运行的进程就是当前进程 准备运行的进程只要得到CPU就可以立即投入运行, CPU是这些进程唯一等待的系统资源
n 可中断等待态、不可中断等待态
u
进程正等待某个事件(event)或某个资源 u 一定处于系统中的某个等待队列(wait_queue)中 u 两种等待态的差异: l 可中断等待态:可被信号唤醒,被唤醒后进入可运 行态,等待被调度; l 不可中断等待态:因等待硬件资源,如某个通道、 端口等,在任何情况下都不能被打断,直到资源满 足。资源满足后只能用特定的方式来唤醒它,例如 唤醒函数wake_up()等
linux操作系统 华软软件学院电子系
P25
进程的创建
► 进程创建的时机
n n n n 用户登录 作业调度 提供服务 应用请求
► 进程创建的过程
n 取得一个空白PCB,生成一个唯一的进程标识 号(一般是数字形式) n 为新进程分配必要的资源 n 初始化PCB将新进程的PCB插入就绪队列
linux操作系统 华软软件学院电子系