美文网首页
进程管理

进程管理

作者: 圣村的希望 | 来源:发表于2020-10-25 17:43 被阅读0次
主要内容:
  • 进程概念
  • 进程生命周期
  • 进程的创建
  • 命名空间机制
1、进程概念

    进程也即是在机器中运行的程序,在系统中资源分配是以进程为单位进行分配。在Linux内核中进程是用task_struct结构体来表示的,他可以分为实时进程和非实时进程。

  • 实时进程:它必须在可保证的时间范围内得到处理。这类进程他的实时性要求比较高,低延迟。
  • 非实时进程:大多数进程的运行没有时间约束的普通进程,但是还是会根据重要性来分配优先级。
2、进程生命周期

    在Linux中进程的状态主要有运行、等待和睡眠三种状态,进程在这3种状态中切换过程就构成了进程的生命周期。

  • 运行:进程获得了cpu时间片,此刻在cpu中执行。
  • 等待:进程所需资源都已获得分配,获得了运行前的所有资源,等待分配cpu时间片执行,此刻进程是在就绪队列中排队,等待调度器的调度执行。
  • 睡眠:进程在等待外部事件,调度器无法在下一次任务切换时选择调度该进程。
        在Linux中的task_struct结构中的state字段用来表示当前进程的状态:
  • TASK_RUNNING:表示进程处于可运行状态。
  • TASK_INTERRUPTIBLE:表示进程等待外部事件或其他资源的睡眠状态
  • TASK_UNINTERRUPTIBLE:表示因内核而停用的睡眠进程,他不能由外部信号唤醒,必须由内核唤醒。
  • EXIT_ZOMBIE:表示僵尸状态
  • EXIT_DEAD:wait系统调用已发出,当前进程完全从系统移除之前的状态。


    linux进程生命周期.png

        僵尸进程:资源都已经释放,但进程表中仍然有表项,ps命令依然能查到对应的进程信息。进程销毁必须满足两个条件,其一,程序必须由另一个进程或用户杀死,其二,进程的父进程在子进程终止时必须调用wait4系统调用,这相当于向内核证实父进程已经确认子进程的终结。该系统调用使得内核可以释放为子进程保留的资源。僵尸进程就是在第一个条件发生而第二个条件不成立的条件的情况下的状态。

3、进程创建

    在UNIX中新进程是使用fork和exec系统调用产生的:

  • fork:生成当前进程的一个完整相同的副本,该副本称为子进程。除了pid不同,其它的都是相同的。
  • exec:从一个可执行的二进制文件加载另一个应用程序,来代替当前运行的进程。exec并不创建新进程,所以必须先通过fork复制一个旧程序,然后调用exec在系统中创建另一个应用程序。
        Linux还提供了clone系统调用来创建进程或线程,只是对应的调用clone函数对应的参数不同。
4、命名空间

    本质上,命名空间建立了系统的不同视图。Linux中通过采用层次结构来表示命名空间,子命名空间的内容对父命名空间是可见的。Docker容器技术就是在namespace机制的基础上实现的

相关文章

  • Android性能探索

    进程管理&内存管理 进程生命周期进程优先级:前台进程可见进程服务进程后台进程 (LRU Cache & 占用内存...

  • linux 下的系统调用

    一、主要有以下模块 -进程管理-内存管理-文件管理-信号处理-进程通信-网络通信 一、进程管理 1.父进程通过fo...

  • Linux 系统管理

    视频教程:Linux系统管理 一、进程管理 进程管理 简介:进程就是正在运行的程序或者命令,进程管理就是对正在运行...

  • Linux进程管理详解(转)

    Linux进程管理详解 1.1 Linux进程管理 进程管理是操作系统的最重要的功能之一。有效率的进程管理能保证一...

  • Linux 内存笔记基础

    系统 1. 内存管理 2. 文件目录 3. IO 4. 进程管理进程创建进程控制进程通信进程同步 5. 线程管理线...

  • supervisor

    Supervisor进程管理,只能管理非daemon的进程,不能管理守护进程。 安装 yum 默认主配置文件在/e...

  • 操作系统总览

    操作系统的 操作系统的用户界面 进程管理 处理机调度 存储管理 进程和存储管理示例 windows进程和内存管理 ...

  • Linux进程管理 day22

    1.管理进程状态2.管理后台进程3.进程的优先级4.系统平均负载 一、管理进程状态 昨天主要学习了进程(正在运行的...

  • mac 安装配置supervisor

    supervisor 管理进程用的, 公司线上的进程管理就是supervisor.python 写的 , 子进程中...

  • 打通Framework与Kernel-谈谈我对进程管理的理解

    Kernel:Linux学习-进程管理与调度(一)-进程描述及其生命周期Linux学习-进程管理与调度(二)-进程...

网友评论

      本文标题:进程管理

      本文链接:https://www.haomeiwen.com/subject/wfsnmktx.html