• linux 进程简介


    进程相关知识简介

    进程定义:

      一个运行中的程序即一个process

    task struct:

      内核存储进程信息的固定格式称为task struct,task struct记录了例如该进程内存下一跳位置等信息。

    task list:

      多个task struct组成的链表

    进程的创建

      内核创建第一个进程init,用来管理用户控件所有进程

      所有用户空间都有init或其父进程创建

      父进程所指向的内存即其子进程所指向的进程。待“成熟”后子进程会复制一份父进程的内存空间中的数据,创建属于自己的内存空间。这种机制被称为fork,clone.

      父进程创建子进程的目的:让子进程来完成指定任务,完成后终止子进程。

    进程的优先级:

      0~99:实时优先级,越大优先级越高

      100~139:静态优先级,越小优先级越高

      nice值:-20~+19

    进程的优先级有什么作用?

      内核通过优先级来判断先后运行的程序。相同优先级的进程被分到同一队列(最多140个队列),从而无论进程有多少,内核每次只需遍历进程队列的首部,就可判定需运行哪个队列中的进程。

      每个优先级队列分为两层分别是:已运行过的队列和未运行过的进程。

    进程内存:

      page frame:内核将内存分为若干份,每份4k即page frame。

      进程所占用的内存都是经过内核将若干连续或间断的page frame ,虚拟成的虚拟内存。

    linux进程分类:根据进程占用CPU高还是IO高可分为

      CPU-Bound:cpu密集型

      IO-Bound:IO密集型

    linux进程类型:

      守护进程:与终端无关,在系统启动过程中启动的进程

      前台进程:与终端相关,通过终端启动。

      前台进程可以送往后台,以守护模式运行。

    linux进程状态:

      R:running:运行态

      S:interruptable:可中断睡眠状态,大多数进程处于此状态。处于这个状态的进程因为等待某事件的发生(比如等待socket连接、等待信号量),而被挂起。

      D:uninterruptable:不可终端睡眠状态,不可中断,指的并不是CPU不响应外部硬件的中断,而是指进程不响应异步信号。该状态存在的意义就在于,内核的某些处理流程是不能被打断的。

      T:stopped:停止态

      Z:zombie:僵死态,子进程终止后等待父进程“收尸”,或其父进程挂掉子进程成为孤儿进程。

      linux进程状态详情可参考:http://blog.csdn.net/shenwansangz/article/details/51981459

      

      

  • 相关阅读:
    ACCP7.0-S2-复习自测-15测试分析
    线程
    多线程下的单例模式
    combobox 属性、事件、方法
    java的多线程总结
    爬虫--登录网页
    shell--字符串是否为空
    python--正则表达式 字符串匹配
    mysql---表所在数据库
    python--日期操作
  • 原文地址:https://www.cnblogs.com/wxxjianchi/p/9557706.html
Copyright © 2020-2023  润新知