zoukankan      html  css  js  c++  java
  • 深入理解Linux内核-进程地址空间

    给内核分配内存和给用户态进程分配内存是有区别的:
    1、内核的优先级最高,如果某个内核函数请求动态内存,不会被延时
    2、内核信任自己,不必保护措施
    3、用户态进程对动态内存的请求被认为不是紧迫的,总是被尽量推迟分配
    4、用户进程总是不可信任的

    进程的地址空间:
    1、由允许进程使用的全部线性地址组成。
    2、每个进程的线性地址集合是不同的。
    3、每个进程允许有65536个不同的线性区
    4、线性区由链表和红黑数保存
    5、

    内存的描述符:

    内核线程的内存描述符:

    线性区数据结构:

    线性区的访问权限:

    线性区的查找、插入、分配、释放

    缺页异常处理:
    1、处理地址空间以外的错误地址
    2、处理地址空间以内的错误地址

    请求调页

    写时复制:

    处理非连续内存区访问:

    创建和删除进程的地址空间:

    堆的管理:

  • 相关阅读:
    lc377完全背包问题
    lc650
    lc583
    java static序列化
    lc90回溯
    lc78回溯
    Java基础之常量池
    语法与语义
    数据结构之复杂度分析
    数据结构与算法前言
  • 原文地址:https://www.cnblogs.com/lipeil/p/4723275.html
Copyright © 2011-2022 走看看