专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
电路设计
Linux--进程的基本概念(PCB,查看进程,获得进程的标识符)
2019-07-14 06:20
发布
生成海报
站内文章
/
电路设计
11799
0
1563
一.PCB的引入
1.当我们遇到一个结构时,我们要先描述它(描述它的基本信息),然后在组织它,对于进程我们也要这样做。
2.描述进程:PCB(将进程的信息用一个结构体存储起来,这个结构体相当于一个结点)
组织进程:用双向链表将PCB连接起来。(用双向链表将这些结点连接起来)
二.描述进程--PCB
1.PCB是一个struct。
为什么要用struct?
因为在数据结构里面,一般的数据结构都会用到结构体,而PCB也是一个数据结构,所以这里用到struct。
2.在Linux下PCB是task_struct的结构体。(在别的平台下,存放PCB信息的可能是别的struct)
三.
task_struct结构体里面的内容
(重要的信息如下,因为在Linux内里task_struct里面含有很多的东西)
1.由于可能会有多个进程,这些进程必须要有唯一标识符,所以里面含有
pid
;
2.操作系统会调度进程执行相关操作,如何调度这些进程,所以里面应该含有表示
进程优先级
的变量。
3.多个进程之间可能会相互进行切换,但是又必须记住该进程切换之前的相关信息,所以需要有
上下文
记录它。
4.进程执行时需要知道它接下来应该执行什么命令,所以需要有
程序计数器
存放程序执行的下一条指令的地址
。
5.还需要存放进程的
状态信息
。
6.
内存指针
;
7.
I/O状态信息
;
8.一些记账信息(例如可以存放当前进程已经执行了多长时间,如果当前进程执行了很长信息,而别的进程还没有执行过,为了让那些进程执行,可以将当前进程切换出去)。
四.组织进程--链表
五.查看进程(查看进程有两种方式)
1.在proc目录下查看
①首先可以进入proc目录;
②然后可以通过进程的pid查看;
也可以通过一条命令来查看:
2.通过ps命令查看进程;
①ps aux查看操作操作系统里面所有的进程信息:
②ps aux | grep test4(在所有进程中筛选出进程名为test4的进程信息)
例如先创建一个进程test4:
查看该进程(下面时通过进程名来查看进程信息):(可以通过进程名来查看进程,也可以通过进程的pid来查看进程信息)。
六.获得进程标识符
获得当前进程的pid(通过getpid()函数);
获得当前进程父进程的pid(getppid()函数)。
代码如下
:
Ta的文章
更多
>>
Linux--进程的基本概念(PCB,查看进程,获得进程的标识符)
0 个评论
DVFS及多核处理器功耗优化技术详解
0 个评论
(转)Cortex-M3 (NXP LPC1788)之SDRAM操作
0 个评论
向量 - 向量叉乘 向量点乘
0 个评论
除法取模逆元,扩展欧几里得,费马小定理[数学]
0 个评论
热门文章
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮