Linux进程相关概念

举报
王建峰 发表于 2021/11/19 02:37:36 2021/11/19
【摘要】 拥有梦想是一种智力,实现梦想是一种能力。   程序&进程 程序:存放在磁盘上的指令和数据的有序集合(文件)   进程:执行一个程序所分配的资源的总称 程序 = 数据+代码 进程 = 数据+代码+堆栈+PCB+CPU寄存器值 程序是静态的,而...

拥有梦想是一种智力,实现梦想是一种能力。

 

程序&进程

程序:存放在磁盘上的指令和数据的有序集合(文件)  
进程:执行一个程序所分配的资源的总称

程序 = 数据+代码
进程 = 数据+代码+堆栈+PCB+CPU寄存器值

程序是静态的,而进程是动态的,包括创建、调度、执行和消亡。进程是程序的一次执行过程,这是程序与进程之间的联系。

例如,我用C语言写了一个"hello world" 程序,我将程序执行一次就产生一个进程,再执行一个又产生了第二个进程。

 

 

之前说了,执行一个程序所分配的资源的总称。那么系统又是如何调度各个进程的呢?

进程控制块PCB

  • 进程标识PID 
  • 进程用户
  • 进程状态、优先级
  • 文件描述符表

 

 

进程类型

  • 交互进程:在shell下启动。以在前台运行,也可以在后台运行
  • 批处理进程:和在终端无关,被提交到一个作业队列中以便顺序执行
  • 守护进程:和终端无关,一直在后台运行

 

进程的四种状态

 

  • 运行态:进程正在运行,或者准备运行
  • 等待态:进程在等待一个事件的发生或某种系统资源
  • 停止态:进程被中止,收到信号后可继续运行
  • 死亡态:已终止的进程,但pcb没有被释放

 

状态转换图

 

 

文章来源: blog.csdn.net,作者:hinzer,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/feit2417/article/details/81275234

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。