【从入门到放弃系列学习笔记1】linux进程管理 你真的懂linux吗?(更新中)
“linux的进程管理是怎么样的?说说你的理解”
先汇总一下近期遇到的一些问题,带着问题去学习,养成好习惯。
问题一:说说程序和进程的区别
问题二:什么是僵尸进程?怎么产生的?怎么标识的?
问题三:父进程如何调用子进程?
问题四:说说用哪些命令可以看进程相关信息?
问题五:TOP命令会有哪些内容显示?CPU信息包含哪些?load的三个值代表什么意思?
问题六:知道NICE命令吗?如何调整进程优先级?
UPDATING。。。
看了这些问题你心里都有明确的答案吗?
一、什么是进程,进程和程序的关系与区别
程序定义:“一段有序代码”
单一程序的基本属性:顺序性,封闭性,可再现性
由于处理机的单核,单一程序并发时会有哪些问题?
- 间断性
- 失去封闭性
- 不可再现性
为了解决并发场景所以引入了进程管理,对程序进行描述和控制。
进程定义:“可并发执行的程序在一个数据集合上的运行过程”。
关系:进程=程序+堆栈计数器+PBC(Process Control Block进程控制块),进程是运行中的程序
PBC由哪些内容组成
| 进程描述信息 |
|
| 进程控制信息 |
|
| 所拥有的资源和使用情况 | |
| CPU现场信息 |
|
本质区别:程序是静态的,进程是动态的。
二、进程状态和进程控制
就绪
- 进程分配到除了CPU以外的所有必要资源后,只要获得CPU,就可以立即执行
执行
- 获取到CPU后,其程序正在执行
阻塞
- 由于发生某个时间而暂时无法继续执行,便放弃处理机而处于暂停状态,又叫等待、睡眠或者锁死
那么还有没有其他状态呢?
有的,进程的创建、进程的终止
相互之间的切换关系见下图

那么对于就绪状态来说,cpu一直没有分配到,却占着了大量的资源,是不是一种浪费呢?
对于这种情况,引入一个新的状态,挂起:挂起阻塞,挂起就绪,也就是阻塞和就绪可以通过挂起和唤醒命令进入这两个状态
有哪些进程控制原语?
- 创建原语
- 撤销原语/终止
- 阻塞
- 唤醒
- 挂起
- 激活
三、线程概念
线程属性:
- 轻型实体,基本不拥有资源
- 独立调度和分派的基本单位
- 可并发执行
- 共享进程资源
线程的关键好处是从性能应用中得到的,在一个存在的进程中产生(或终止)一个线程比产生(或终止)一个进程化费少得多的时间。
线程的分类:
- 核心级线程
- 用户级线程
四、内核态和用户态
内核态和用户态:
- 内核,内核是一个软件程序,用来访问硬件的程序
- 内核态:当一个进程进入内核代码中执行时,我们就称为处于内核态
进入内核态的方式主要有3种:系统调用、异常和外围设备的中断。
五、用户接口
用户接口分为三大类:
1.命令接口(允许用户直接使用)
- 联机命令接口(用户说一句,系统做一句),交互式命令接口
- 脱机命令接口(用户说一堆,系统做一堆),批处理命令接口
2.程序接口(允许用户通过程序间接使用)
- 有一组系统调用组成(程序接口=系统调用=广义指令)
3.GUI(图形界面)
六、操作系统的特征
- 并发:指两个或多个事件在同一时间内发生,宏观上是同时发生的,微观上是交替发生的
- 共享:资源共享,互斥共享、同时共享方式
- 虚拟:空分服用技术,时分服用技术
- 异步:进程的处理的结果不可预知
七、操作系统发展阶段
- 手工操作阶段
- 批处理阶段,
- 单道批处理阶段
- 多道批处理阶段(开始出现操作系统,处理效率大幅度提升)
- 分时操作系统
- 以时间片为单位轮流为各个用户服务
- 实时操作系统
- 必须在时间时限内处理完事情,硬实时和软实时
- 网络操作系统
- 分布式操作系统
- 个人计算机操作系统
八、指令
指令:让CPU干具体的事情,CPU能识别、执行的基本命令
分类:特权指令、非特权指令
- 特权指令
- 运行在内核态,代码运行在内核的程序叫内核程序
- 非特权指令
- 运行在用户态,代码运行在用户态的程序叫应用程序
九、内核
内核是操作系统最基本最核心的部分。
实现操作系统内核功能的程序就是内核程序。

- 时钟管理
- 中断处理
- 原语
- 最底层,最接近硬件
- 具有原子性
- 包含驱动
- 运行时间较短、调用频繁
- 对系统资源进行管理
- 进程管理
- 存储器管理
- 设备管理
十、中断和异常
- 当中断发生的时候,CPU立即进入核心态
- 当中断发生后,当前运行的进程暂停运行,并由操作系统内核对中断进行处理
- 对于不同的中断信号,会进行不同的处理
发生了中断意为着需要操作系统接入,开展管理工作。由于操作系统的管理工作需要使用特权指令,因此CPU要从用户态转为核心态。
中断可以使CPU从用户态切换成核心态,使操作系统获得计算的控制权。
问:核心态怎么切换成用户态?
通过执行特权指令,将程序状态字PSW标志位设置为用户态。


浙公网安备 33010602011771号