Linux进程相关概念 - Go语言中文社区

Linux进程相关概念


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

 

程序&进程

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

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

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

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

 

 

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

进程控制块PCB

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

 

 

进程类型

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

 

进程的四种状态

 

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

 

状态转换图

 

 

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/feit2417/article/details/81275234
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2019-10-27 20:34:44
  • 阅读 ( 807 )
  • 分类:Linux

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢