zoukankan      html  css  js  c++  java
  • Linux内核管理子系统和进程管理子系统

    内核管理子系统职能:1、管理虚拟地址与物理地址的映射

              2、物理内存的分配

    程序:存放在磁盘上的一系列代码和数据的可执行映像,是一个静止的实体。

    进程:是一个执行中的程序,它是动态的实体

    进程四要素:

    1、有一段程序供其执行。这段程序不一定是某个进程所有,可以与其他进程公用。

    2、有进程专用的内核空间堆栈

    3、在内核中有一个task_struct数据结构,即通常所说的“进程控制块”。有了这个数据结构,进程才能成为内核调度的一个基本单位接受内核的调度

    4、有独立的空间。

    Linux进程状态:最经典的三态,但是Linux的进程状态比这个要复杂

    1.TASK_RUNNING(就绪或者执行)

    进程正在被CPU执行,或者已经准备就绪,随时可以执行。当一个进程刚被创建时,就处于TASK_RUNNING状态。 

    2.TASK_INTERRUPTIBLE

    处于等待中的进程,待等待条件为真时被唤醒,也可以被信号或者中断唤醒。 

    3.TASK_UNINTERRUPTIBLE

    处于等待中的进程,待资源有效时唤醒,但不可以由其它进程通过信号(signal)或中断唤醒。

    4.TASK_KILLABLE

    Linux2.6.25新引入的进程睡眠状态,原理类似于TASK_UNINTERRUPTIBLE但是可以被致命信号(SIGKILL)唤醒。 

    5.TASK_TRACED

    正处于被调试状态的进程。

    6. TASK_DEAD

    进程退出时(调用do_exit),所处的状态。

    Linux进程描述:

    Linux内核代码中,线程、进程都使用结构task_struct(sched.h)来表示,它包含了大量描述进程/线程的信息,其中比较重要的有:
    pid_t pid; //进程号
    vlong state; //进程状态
    vint prio; //进程优先级





     

  • 相关阅读:
    div中嵌套div中使用margin-top失效问题
    thinkphp点击导航变色
    thinkphp I() 方法
    判断是手机端还是电脑端 isMobile()
    手机端H5 header定义样式
    AR.Drone 2.0四轴飞机体验:最好的玩具航拍器
    这是一个专注于电脑技术、软件应用、互联网、嵌入式,电子技术行业等的原创IT博客
    ul li列子
    [HTML]去除li前面的小黑点,和ul、LI部分属性
    Bad update sites
  • 原文地址:https://www.cnblogs.com/sanshijvshi/p/8474330.html
Copyright © 2011-2022 走看看