进程概念(易懂)

进程是正在运行的程序实体.程序段,数据段,PCB(process control block)三部分组成了进程实体.

我们都知道计算机可以支持多个程序并发运行,我们可以打开一个qq,打开一个音乐软件,我们想给别人发消息时,点开qq双击别人的头像就可以准备发送信息.想切歌时,点开程序点击切歌.那在内存中是怎么知道哪段内存中是qq的代码(程序段),哪段内存是程序中的数据(数据段).这里就需要PCB(进程控制块)描述进程的基本信息和运行状态,所谓的创建进程和撤销进程都是对PCB的操作.

那么PCB里面存储了什么信息呢?可以让所谓的创建进程和撤销进程都是对PCB的操作.这里只介绍部分重要的.

  1. pid 每个进程需要有一个唯一的身份标识符
  2. 内存指针 进程运行的时候使用了哪些内存上的资源  
    1. 程序段指针
    2. 数据段指针
    3. 其他资源
  3. 文件描述符表 进程运行的时候使用了哪些硬盘上的资源,以文件描述符为基础单位,把这些文件描述符放到一个顺序表的结构里.
  4. 进程调度信息
    1. 进程状态
      1. 就绪态:该进程已经准备好,随时可以上cpu执行
      2. 阻塞态:该进程暂时无法上cpu执行
    2. 进程的优先级
    3. 进程的上下文  上下文是从英文context翻译过来,指的是一种环境。相对于进程而言,就是进程执行时的环境;具体来说就是各个变量和数据,包括所有的寄存器变量、进程打开的文件、内存信息等。进程在离开cpu时就需要把当前运行的中间结果保存.等到下次进程回到cpu上时,恢复到之前保存的结果,再继续执行.
    4. 进程的记账信息 类似一种统计信息,统计了该进程执行过那些状态,实行时间,执行次数等等.可以作为调度的参考依据.

各个进程的pcb通常都存储在一个双向链表里.

进程的内存分配是以"虚拟地址空间"进行分配的.如果都是直接读取物理内存的话,一个程序代码如果越界访问修改数据.风险是很大的.

文章参考引用了以下文章: 

操作系统之进程 (五) --- 进程、进程实体、PCB..._进程是什么进程实体-CSDN博客

【面向校招】操作系统——进程与线程_进程是资源分配和拥有的单位-CSDN博客 

一文搞懂计算机操作系统 - 进程管理 - 知乎 (zhihu.com) 

进程和线程学习笔记_线程共享进程的记账信息是什么-CSDN博客 

 

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值