zoukankan      html  css  js  c++  java
  • Linux进程的虚拟存储器知识点

    http://blog.csdn.net/yxccc_914/article/details/52665713

    这里写图片描述

    用libreoffice画表真时有点蛋疼,效率很低..

    深入理解计算机系统->虚拟存储器

    内核虚拟存储器

    操作系统处理进程时分为用户态和内核态.虚拟存储器中,进程虚拟存储器占大部分空间,内核虚拟存储器占小部分空间.

    与进程相关的数据结构

    每个进程都不相同.所以并不是每个进程的内核虚拟存储器都相同,里边有各个进程不同的部分.

    这块区域相关联: 
    1.task_struct 
    (1) state:进程状态 
    (2)thread_info:进程信息和内核堆栈 
    (3)run_list,array:用于进程调度 
    (4)mm:进程地址空间 
    (5)pid:进程id 
    (6)group_info:群组管理 
    (7)user:用户管理 
    (8)fs:工作目录,根目录 
    (9)signal:信号信息 
    (10)sighand:信号处理 
    (11)程序计数器 
    等等…. 
    其中最重要的时mm,就是mm_struct

    2.mm_struct 
    (1)pgd:指向第一级页表基址 
    (2)mmap:指向一个vm_area_struct(区域结构)的链表,每个vm_area_struct都描述了当前虚拟地址空间的一个区域(area). 
    等等… 
    重点mmap.

    3.vm_area_struct 
    (1)vm_end 
    (2)vm_start 
    (3)vm_prot:读写许可权限 
    (4)vm_flags:是私有还是共享的 
    (5)vm_next:指向链表中的下一个区域结构

  • 相关阅读:
    JavaScript伪协议
    http-equiv
    js 获取鼠标坐标
    js daily
    Swift中属性Properties
    Swift中类和结构体
    Swift和Java在枚举方面的比较
    Swift特有语法:闭包
    Swift和Java在函数(method/方法)方面的比较
    Swift和Java控制流比较
  • 原文地址:https://www.cnblogs.com/feng9exe/p/7281281.html
Copyright © 2011-2022 走看看