Linux内核学习笔记 -10 进程概述

Linux内核学习笔记 -10 进程概述_第1张图片

一个程序经过编译器将其编译为汇编程序,经过汇编器将其会变为目标代码,经过连接器形成可执行文件,a.out或elf格式,最后交给操作系统执行。操作系统如何面对前边万化的程序?

 

Linux内核学习笔记 -10 进程概述_第2张图片

一个程序一旦被执行,程序也摇身一变为进程。在os看来,每个进程没有多大的差异,都被封装在可执行文件中,在内存管理那一章,继续关注进程的执行和发送。在用户态下,可以用top命令感知系统中各个进程一级动态变化 

Linux内核学习笔记 -10 进程概述_第3张图片

Linux内核学习笔记 -10 进程概述_第4张图片

进程是一个动态的实体,它有生命周期,系统中进程的生生死死随时发生,因此操作系统中对于进程的活动就模仿人类的活动。一个进程不会平白无故的诞生,都有自己的父母,linux系统中通过调用fork系统调用来创建一个新的进程。已经创建的进程同样也可以执行fork,所以容易形成一颗完整的进程树。上图为linux系统启动以后形成的一颗树,可以通过ps命令查看本机的进程树

Linux内核学习笔记 -10 进程概述_第5张图片

如何描述进程的属性?task _struct,位于内核文件的scheduler.h文件中。

你可能感兴趣的:(Linux内核)