首页 > 代码库 > Linux进程的虚拟存储器知识点
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:指向链表中的下一个区域结构
Linux进程的虚拟存储器知识点
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。