
进程(Process)
发布日期:2021-05-14 18:09:36
浏览次数:24
分类:精选文章
本文共 1054 字,大约阅读时间需要 3 分钟。
目录
0、相关文章:
(文章1:刘望舒大神的原创文章,有关于系统启动流程和应用进程启动流程的文章,可细看)
(文章2:自己的文章)
(文章3:自己的文章)
1、为什么需要进程?
- 进程是系统进行资源分配和调度的基本单位。
- 进程作为程序独立运行的载体保障程序正常执行。
- 进程的存在使得操作系统资源的利用率大幅提升。
2、进程的实体
2.1、主存中的进程形态
在主存中,进程也是一段连续存储的空间,这段空间称为进程控制块(Processing Control Block,PCB)。
2.1.1、进程控制块包含哪些内容
- 标识符:唯一标记一个进程,用于区别其他进程,比如我们常说的进程ID。
- 状态:标记进程的状态,如:运行状态、阻塞状态
- 程序计数器:进程即将被执行的下一条指令的地址
- 内存指针:程序代码、进程数据相关指针
- 上下文数据:进程执行时处理器存储的数据
- IO状态信息:被进程IO操作所占用的文件列表
- 记账信息:使用处理器时间、时钟数总和等
2.1.2、进程控制块(PCB)
- 用于描述和控制进程运行的通用数据结构
- 记录进程当前状态和控制进程运行的全部信息
- PCB使得进程成为能够独立运行的基本单位
- PCB是操作系统进行调度经常会被读取的信息
- PCB是常驻内存的,存放在系统专门开辟的PCB区域内
2.2、进程和线程
一个进程可以有一个或多个线程,即一对多。
进程是系统进行资源分配和调度的基本单位
线程是操作系统进行运行调度的最小单位
线程包含在进程之中,是进程中实际进行工作的单位(在进程中,实际干活的就是线程,而不是进程)
一个进程可以并发多个线程,每个线程执行不同的任务
进程的线程共享进程资源
总结:
2.3、进程的五状态模型
进程共有创建、就绪、执行、阻塞、终止五种状态,其中比较重要的是就绪、执行和阻塞状态。
2.3.1、就绪状态
- 当进程被分配到除CPU以外所有必要的资源后
- 只要获得CPU的使用权,就可以立即执行
- 其他资源(PCB、内存、栈空间、堆空间)都准备好、只差CPU资源的状态就称为就绪状态
- 在一个系统中多个处于就绪状态的进程通常排成一个队列
2.3.2、执行状态
- 进程获取CPU,其程序正在执行称为执行状态
- 在单处理机(单核CPU)中,在某个时刻只能有一个进程是处于执行状态
2.3.3、阻塞状态
进程因某种原因如:其他设备未就绪而无法继续执行,从而放弃CPU的状态称为阻塞状态
2.3.4、就绪、执行、阻塞状态切换
2.3.5、创建状态
2.3.6、终止状态
2.3.7、五种状态切换
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年04月29日 06时39分53秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
pip命令 failed to create process.
2021-05-15
做SMTP客户端遇报错:535 Error
2021-05-15
Python3的修改
2021-05-15
SQL基础学习(六)- MySQL的insert语句
2021-05-15
Linux kernel pwn --- CSAW2015 StringIPC
2021-05-15
2020 05 02 记录思考
2021-05-15
2020-05-31 py执行时超时控制
2021-05-15
一段强大的shellcode
2021-05-15
双链表相加问题
2021-05-15
GB2312-80 汉字机内码
2021-05-15
n的a进制数
2021-05-15
配置jdk的环境变量
2021-05-15
echo命令的颜色及同行显示控制
2021-05-15
CentOS7利用Systemd添加用户自定义系统服务
2021-05-15
懒人HTML5笔记-1
2021-05-15
两台服务器http方式共享yum软件仓库
2021-05-15
团队背包(team)
2021-05-15
spring tx:advice 和 aop:config 配置事务
2021-05-15
修改layui的后台模板的左侧导航栏可以伸缩
2021-05-15