linux进程的属性包括,Linux进程的基础属性

Linux 系统上所有运行的任务都可以是一个进程,每个用户任务、每个系统管理,都可以称之为进程,Linux 用分时管理的方法使所有的任务共同分享系统资源。

进程的定义:在自身的虚拟地址空间运行的一个单独程序。进程是动态的,程序是静态的,进程由程序产生,但不是程序。进程是一个随时都可能发生变化的、动态的、使用系统运行资源的程序,一个程序可以启动多个进程。

1. 进程的四要素

要有一段程序代码以供该程序运行。

拥有专用的系统堆栈空间。

拥有一个 task_struck 结构来实现进程控制块。

拥有独立的存储空间。

2. 进程的关系和分类

Linux 系统中的所有进程都是相互联系的,程序创建的进程之间具有父子关系,自进程之间具有兄弟关系。

Linux 内核创建了进程标号为 0 以及进程标号为 1 的进程,其中进程标号为 1 的进程是一个初始化进程 init,Linux 中的所有进程都是由其衍生而来的,在 Shell 下执行程序启动的进程则是 Shell 进程的子进程,在用户的启动进程中可以再启动自己的子进程,这样就形成了一棵进程树,每个进程都是树中的一个节点,其中树的根是初始化进程 init。

通常来说进程之间的关系可以用图中的亲属关系来描述,通常包括以下几个部分。

p_opptr(祖先,original parent): 其指向创建进程 P 的进程描述符,如果父进程不存在,则指向进程 init 的描述符,所以当一个 Shell 用户启动一个后台进程并从 Shell 退出时,后台进程将变成 init 的子进程。

p_ pptr(父进程,parent): 其指向进程的父进程,其值通常来说和 p_ opptr 一致,也可能不同。

p_ cptr (子进程,child): 指向进程年龄最小的子进程的描述符,即进程上一次创建的进程描述符。

p_ ysptr(弟进程,younger sibling): 指向在本进程创建之后由父进程创建的进程。

p_ osptr(兄进程,older sibling):指向在本进程创建之前由父进程创建的进程。

3. 进程的类型

Linux 操作系统通常包括三种不同类型的进程,每种进程都有自己的特点和属性。

交互进程:由一个 Shell 启动的进程,其既可以在前台运行,也可以在后台运行。

批处理进程:这种进程和终端没有联系,是一个进程序列。

守护进程:Linux 系统启动时启动的进程,并在后台运行。

4. 进程的状态

进程在其生存周期内可能处于以下状态中,这些状态是互斥的,在同一时刻进程只能位于其中一个状态,在 task_struct 结构的状态域中使用不同关键字来定义这些状态。

可运行状态(TASK_RUNNING):占用处理器执行或者准备执行。

可中断的等待状态(TASK_INTERRUPTIBLE):进程被挂起或者睡眠,当某些条件变成真的时候才退出这种等待状态,这些条件包括:硬件中断、进程正在等待的系统资源被释放、传递一个信号等,退出等待状态之后的进程会回到 TASK_RUNNING 状态。

不可中断的等待状态(TASK_ UNINTERRUPTIBLE):和可中断的等待状态类似,其差别是当接收到信号的时候并不能退出这个等待状态。

暂停状态(TASK_STOPPING): 进程的执行被暂停,通常来说当进程接收到 SIGSTOP、SIGTTIN 或者 SIGTTOU 信号后,进入暂停状态。如果一个进程被另外一个进程监控的时候,任何信号都可以把这个进程置于 TASK_STOPPEN 状态。

僵尸状态(TASK_ZOMBIE):进程的执行已经被终止,但是父进程还没有使用 wait 列系统调用已返回的相应信息,此时内核不能丢弃包含在该进程中的相应数据,因为父进程还可能需要这些数据。

进程在这几种状态之间相互转化,但对于用户而言是透明的,这个切换的过程也常常被称为进程的调度。

进程是一个随执行过程不断变化的实体,和程序要包含指令和数据一样,进程也包含程序计数器和所有处理器寄存器的值,同时它的堆栈中存储着(如子程序)参数、返回地址以及变量之类的临时数据。当前的执行程序,或者说进程,包含着当前处理器中的活动状态。在多处理操作系统中,进程具有独立的权限与职责。如果系统中某个进程崩溃,不会影响到其余的进程。每个进程运行在各自的虚拟地址空间中,通过一定的通信机制,它们之间才能发生联系。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值