《进程的概念(一)》

【一】基本概念

课本概念:程序的一个执行实例,正在执行的程序等

内核观点:担当分配系统资源(CPU时间,内存)的实体

【二】描述进程——PCB

进程信息被放置在一个叫做进程控制块的数据结构中,可以理解为进程属性的集合

课本上称之为PCB(process control block),Linux操作系统下的PCB是task struck

a.task_struct-pcb的一种

在Linux中描述进程的的结构体叫做task_struct。

task_struct是Linux内核的一种数据结构,它会被装载到RAM(内存)里并包含着进程的信息

b.task_struct内容分类

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

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

优先级:相较于其他程序的优先级

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

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

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

I/O状态信息:包括现实的I/O请求,分配给进程的和被进程使用的文件列表

记账信息:可能包括处理器时间的总和,使用的时钟数总和,时间限制,记帐号等

其他信息

【三】组织进程

可以在内核源代码中找到它,所有运行在系统里的进程都以task_struct链表的形式存在内核里。

【四】查看进程

1.进程的信息可以通过/proc系统文件查看

ls /proc

 大多数进程信息同样可以使用top和ps这些用户级工具来获取

我运行起了Proc这个可执行程序:

此时查看进程信息:

 

 【五】通过系统调用创建进程-fork初始

什么是fork呢?看看Linux的使用手册就知道了

 这个手册告诉我们folk是用来创建一个进程的,且目前这个进程是他的父进程

fork返回值:

负数:如果出错,则fork()返回-1,此时没有创建新的进程,最初的进程任然运行

零:在子进程中,fork()返回0

正数:在负进程中,fork()返回fork创建子进程。

以上就是关于进程的浅析,如果写的有问题还请位于评论区斧正,如果没问题的话,还请一件三连,点点关注。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值