• Linux2.6进程


    1.进程、用户线程、内核线程的区别和联系

      进程 用户线程(轻量级进程) 内核线程
    代码段
    数据段
    描述符task_struct
    用户空间堆栈 一个线程组共享一个用户空间 完全没有
    内核空间堆栈
    PID 独一无二的 一组线程共享一个
    这里的有是指拥有独立的


    2.内核线程:由内核创建、调度,用于执行一些重要的、周期性的过程。

    只运行在内核态、只使用3G以后的系统空间。

    比如用于回收物理页面的kswapd线程


    3.进程的状态

    (1)就绪或运行

    (2)可中断的等待

    (3)不可中断的等待

    (4)暂停

    (5)跟踪

    (6)僵死(见Linux2.6进程的创建与删除

    (7)僵死撤消


    4.进程描述符与进程之间是严格的一一对应


    5.内核态的进程堆栈和线程描述符被紧凑地放在两个连续的页框中

    目的:在内核态运行时,能够方便地得到线程描述符的地址


    6.由于内核堆栈较小,不能有太深的嵌套,或使用太多太大的局部变量(用指针)

    刚从用户态切换到内核态时,内核栈总是空的。


    7.记录进程之间关系的数据结构

    (1)进程链表:不带头的双向链表,包含所有进程描述符。0进程的描述符是链表头

    (2)运行状态链表

    (3)宗族关系树

    (4)使用链表散列法的Hash表:用于通过PID快速找到描述符

    (5)等待队列:双向链表


    8.进程的创建:Linux2.6进程的创建与删除


    9.为了叙述严谨,进程切换是指两个进程切换的过程,进程调度是如何选择下一个运行进程的算法

    Linux0.12由于比较简单,两个过程合并到了一起

    Linux2.6进程切换见Linux2.6进程切换

    Linux2.6进程调度见Linux2.6进程调度



  • 相关阅读:
    Eval版的ASP木马原理解析
    cmd命令
    Eval版的ASP木马原理解析
    Vbs脚本实现radmin终极后门
    迅雷是如何识别并偷偷上传文件的?
    迅雷是如何识别并偷偷上传文件的?
    广外男生病毒代码剖析
    cmd命令
    Vbs脚本实现radmin终极后门
    广外男生病毒代码剖析
  • 原文地址:https://www.cnblogs.com/windmissing/p/2559815.html
Copyright © 2020-2023  润新知