进程管理

首先我们弄清楚,进程在linux中的含义:
程序本身并不是进程,进程是处于执行期的程序以及相关资源的总称。注意,有两点:

  • 执行期的程序
  • 相关资源

补充一点:在Linux中,进程的另一个名字就是叫做task,任务。

那么进程在如何存放的?

  • Linux将进程放置在任务队列中,并且用进程描述符进行表示,描述符中包含了进程相关的所有信息。

进程如何区分?

  • 通过PID给每个进程编号,以此来区分进程。

进程有哪些状态?

进程描述符中state中存储着进程的状态信息,系统中的进程必然处于下列五种状态中:

  • task_running(运行)
  • task_interruptible(可中断)--睡眠(阻塞)
  • task_uninterruptible(不可中断)--除了收到信号不会被中断或者准备投入运行,其它与上面一样
  • task_traced(被跟踪进程)
  • task_stop(停止)

有时候我们在执行ps(1)命令时,会有被标记为D状态而又不能被杀死的进程的原因就是这个进程的状态为: 不可中断状态。

Linux进程家族树?

  • 延续UNIX风格,所有进程都是PID为1的进程的后代。

进程最终会结束,那么结束之后就要进行一系列的操作,主要操作有以下几步:
1.设置task_struct为PF_EXITING
2.释放进程内资源
3.重新为子进程寻找父类(防止孤儿进程出现)
4.删除进程描述符

这一章我们了解到进程的一些基本信息及生存周期里面的一些动作。下一章为进程调度,讲解内核以某种机制来控制进程的运行顺序。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Linux 进程管理与程序开发 进程是Linux事务管理的基本单元,所有的进程均拥有自己独立的处理环境和系统资源,...
    JamesPeng阅读 7,196评论 1 14
  • 又来到了一个老生常谈的问题,应用层软件开发的程序员要不要了解和深入学习操作系统呢? 今天就这个问题开始,来谈谈操...
    tangsl阅读 9,629评论 0 23
  • 进程管理 进程是操作系统的基本概念,本节主要总结Linux内核如何管理进程:进程在内核中如何创建,消亡。 1.进程...
    大雄good阅读 3,421评论 0 2
  • Linux进程管理原理 Linux的进程管理,就是对硬件各资源进行分配、调度、销毁等工作,其主要部件的管理为:CP...
    魏镇坪阅读 5,189评论 0 6
  • 姿势跑法认证教练第一天的课程结束了,感受和感慨多多,收获满满,总结几个关键词,梳理如下: 1.自然。科学的跑步可以...
    太原小明阅读 3,462评论 2 3