linux操作系统课件7进程
时间:2025-06-27
时间:2025-06-27
linux操作系统 学习与复习资料 进程
进程进程介绍
进程控制块进程的组织方式
进程调度 进程的创建与进程相关的系统调用及其应用 与调度相关的系统调用及应用
linux操作系统 学习与复习资料 进程
并行与并发现代计算机系统提供多道程序运行环境,这种环境可以由 多处理器结构构成,也可以由单处理器结构构成。 并行(Parallelism):多个程序在不同的处理器上同时运行。 并发(Concurrency):多个程序在单个处理器上按照一定 规则进行切换, 轮流运行。由于切换迅速,给用户的感觉 是每个用户独占自己的cpu,宏观上面看起来并行。在操作系统中引入进程的目的,就是为了使多个程序能够 并发执行。
linux操作系统 学习与复习资料 进程
进程的概念 进程(process)的概念:进程就是执行中的程序,或者说是 程序的一次执行。 程序是一个静态的概念,进程是一个动态的概念 进程是操作系统资源分配和调度的基本单位。
linux操作系统 学习与复习资料 进程
进程介绍-程序和进程
linux操作系统 学习与复习资料 进程
进程介绍-进程层次结构Linux下进程被组织成一颗树,树根是init,用pstree可 以查看这棵进程树
linux操作系统 学习与复习资料 进程
进程介绍-进程状态一般操作系统中进程有三个最基本的状态 运行态
阻塞态
就绪态
linux操作系统 学习与复习资料 进程
进程控制块为了描述和控制进程的运行,系统为每个进程定 义了一个数据结构 —进程控制块 (process control block,PCB),它是进程实体的一部分,是操作系统 中最重要的记录型数据结构。 进程控制块中记录了操作系统所需的、用于描述 进程当前情况以及控制进程运行的全部信息。操作系 统是根据进程控制块来对并发执行的进程进行控制和 管理的。
linux操作系统 学习与复习资料 进程
进程控制块-信息分类 状态信息-描述进程动态的变化。 链接信息-描述进程的父/子关系。 各种标识符-用简单数字对进程进行标识。 进程间通信信息-描述多个进程在同一任务上协作工作。 时间和定时器信息-描述进程在生存周期内使用CPU时间的 统计、计费等信息。 调度信息-描述进程优先级、调度策略等信息。 文件系统信息-对进程使用文件情况进行记录。 虚拟内存信息-描述每个进程拥有的地址空间。 处理器环境信息-描述进程的执行环境(处理器的寄存器及 堆栈等)
linux操作系统 学习与复习资料 进程
Linux的进程控制块Linux 把 进 程 也 称 为 任 务 (task) , 其 进 程 控 制 块 称 为 task_struct, 描述如下: task_struct{ long state; /*进程状态*/ int pid,uid,gid; /*一些标识符*/ struct task_struct *parent, *child, *o_sibling, *y_sibling /*一些亲属关系*/ … } (该结构定义在/usr/src/linux/include/linux/sched.h中)
linux操作系统 学习与复习资料 进程
Linux进程状态Linux下的进程状态: TASK_RUNNING (运行,R):进程是可执行的;它或者正 在执行,或者在运行队列中等待执行。 TASK_INTERRUPTIBLE (浅度睡眠,S):进程正在睡眠, 等待某些条
件的达成。一旦这些条件达成,内核就会把进 程状态设置为运行。处于此状态的进程也会因为接收到信 号而提前被唤醒并投入运行。 TASK_UNINTERRUPTIBLE (深度睡眠,D):除了不会因 为接收到信号而被唤醒,这个状态与可打断状态相同。
linux操作系统 学习与复习资料 进程
Linux进程状态Linux下的进程状态: TASK_ZOMBIE (僵死,Z):该进程已经结束,但其父进 程还没有调用wait4()系统调用回收该子进程的残骸。 TASK_STOPPED (停止,T):进程停止执行;进程没有投 入运行也不能投入运行。
linux操作系统 学习与复习资料 进程
进程控制块-Linux进程状态及转换fork() SIGCONT 收到信号 wake_up() TASK_RUNNING 就绪 资源到位 wake_up() schedule() TASK_UNINTERRUPTIBLE 深度睡眠 等待资源到位 sleep_on() schedule() 占有CPU 执行 等待资源到位 interruptible_sleep_on() schedule() 时间片耗尽 TASK_INTERRUPTIBLE 浅度睡眠
资源到位 wake_up_interruptible() 或收到信号 wake_up()
TASK_STOPPED 暂停
schedule() ptrace()
do_exit()
TASK_ZOMBIE 僵死
linux操作系统 学习与复习资料 进程
进程管理 ps (process snapshot) :查看进程状态,常用选项-ef, -aux top: 实时显示进程信息 pstree: 显示进程树
linux操作系统 学习与复习资料 进程
进程管理 前台进程:前台进程控制着终端,当进程没有结束时,你 不能执行其他命令。 Ctrl+Z:挂起(suspend)前台进程,使进程处于停止状态 (stopped) Ctrl+C:终止前台进程 后台进程:后台进程以较低的优先级运行,那些执行无需 用户干预而且很费时的任务很适合在后台运行,如编译、 压缩解压等任务。 $ a.out& [1] 1315 jobid pid 被挂起或在后台运行的进程,也称为作业(job)
linux操作系统 学习与复习资料 进程
进程管理 jobs: 查看作业状态,当前进程用+号表示,而前一个进程 用-号表示。
当有多个被挂起的进程,不带参数时,fg命令会把当前进 程带到前台,而bg命令把当前进程恢复到后台运行。
语法:fg [%jobid]作用:恢复作业号为jobid的前台进程的执行或把它从后台 转移到前台执行。