失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > linux 进程概念—进程控制块包含哪些东西(pcb)

linux 进程概念—进程控制块包含哪些东西(pcb)

时间:2019-09-09 02:45:13

相关推荐

linux 进程概念—进程控制块包含哪些东西(pcb)

1.进程描述——PCB

在Linux中描述进程的结构体叫做task_struct。task_struct是Linux内核的一种数据结构,它会被装载到RAM(内存)里并且包含着进程的信息。

task_ struct内容分类

标示符: 描述本进程的唯一标示符,用来区别其他进程。

状态: 任务状态,退出代码,退出信号等。

优先级: 相对于其他进程的优先级。

程序计数器: 程序中即将被执行的下一条指令的地址。

内存指针: 包括程序代码和进程相关数据的指针,还有和其他进程共享的内存块的指针

上下文数据: 进程执行时处理器的寄存器中的数据.

I/O状态信息: 包括显示的I/O请求,分配给进程的I/O设备和被进程使用的文件列表。

记账信息: 可能包括处理器时间总和,使用的时钟数总和,I/O的使用情况,时间限制,记账号等。

其他信息

程序与进程的理解:

程序:经过源代码编译链接出来的一个文件,是静态的。

进程:通过执行可执行程序可获得一个进程,进程是动态的;进程是操作系统分给给自己的实体。

并行与并发的理解:

并行:多个程序同时拥有不同的CPU进行运算;

并发:多个进程在同一时刻只能有一个进程拥有CPU;

进程状态:

R运行状态(running): 并不意味着进程一定在运行中,它表明进程要么是在运行中要么在运行队列里。

S睡眠状态(sleeping): 意味着进程在等待事件完成(这里的睡眠有时候也叫做可中断睡眠(interruptible sleep))。

D磁盘休眠状态(Disk sleep)有时候也叫不可中断睡眠状态(uninterruptible sleep),在这个状态的进程通常会等待IO的结束。

T停止状态(stopped): 可以通过发送 SIGSTOP 信号给进程来停止(T)进程。这个被暂停的进程可以通过发送 SIGCONT 信号让进程继续运行。

t跟踪状态:gdb调试可执行程序时可执行状态就是t

X死亡状态(dead):这个状态只是一个返回状态,你不会在任务列表里看到这个状态。

Z(zombie)-僵尸进程: 可以参看另一篇博客信息,里面介绍了僵尸进程和孤儿进程的一些概念

如何查看进程信息

可通过 ps aux 查看进程信息

还可通过 | 符号过滤,查看想要的进程,ps aux | grep [进程名称] 我在这里运行了一个test程序;然后 ps aux |grep test 查看进程信息。

ps -ef |grep [进程名称] 可以产看到父进程PID

程序的i/o信息被保存在根目录下proc文件夹下的一个文件(pid为其文件名)。可通过 cd 到该目录下 可查看程序I/O信息

ls /proc |grep [PID] 可查看保存进程信息的文件

其中会有一个fd文件夹,里面保存了C语言文件操作中会默认打开的三个文件指针

内存指针

内存指针指向程序地址空间的指针

如果觉得《linux 进程概念—进程控制块包含哪些东西(pcb)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。