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进程的虚拟存储器知识点的更多相关文章
- Linux进程管理知识整理
Linux进程管理知识整理 1.进程有哪些状态?什么是进程的可中断等待状态?进程退出后为什么要等待调度器删除其task_struct结构?进程的退出状态有哪些? TASK_RUNNING(可运行状态) ...
- Linux内核分析期中知识点总结
Linux内核分析期中知识点总结 1. 计算机是如何工作的 存储程序计算机工作模型:冯诺依曼体系结构 X86汇编基础 会变一个简单的C程序分析其汇编指令执行过程 2. 操作系统是如何工作的 函数调用堆 ...
- Linux进程管理及while循环
目录 进程的相关概念 进程查看及管理工具的使用 Linux系统作业控制 调整进程优先级 网络客户端工具 bash之while循环 20.1.进程类型 守护进程 daemon,在系统引导过程中启动的进程 ...
- 如何灵活运用Linux 进程资源监控和进程限制
导读 每个 Linux 系统管理员都应该知道如何验证硬件.资源和主要进程的完整性和可用性.另外,基于每个用户设置资源限制也是其中一项必备技能. 在这篇文章中,我们会介绍一些能够确保系统硬件和软件正常工 ...
- TODO:Golang Linux进程退出说明
TODO:Golang Linux进程退出说明 Golang使用os.Exit(code)进程退出导致当前程序退出并返回给定的状态代码.传统上,code代码为零表示成功退出,非零错误退出. sysca ...
- Linux进程管理子系统分析【转】
本文转载自:http://blog.csdn.net/coding__madman/article/details/51298732 Linux进程管理: 进程与程序: 程序:存放在磁盘上的一系列代码 ...
- 12个Linux进程管理命令介绍(转)
12个Linux进程管理命令介绍 [日期:2015-06-02] 来源:Linux中国 作者:Linux [字体:大 中 小] 执行中的程序在称作进程.当程序以可执行文件存放在存储中,并且运行的 ...
- linux 进程管理相关内容
简介 当我们运行程序时,Linux会为程序创建一个特殊的环境,该环境包含程序运行需要的所有资源,以保证程序能够独立运行,不受其他程序的干扰.这个特殊的环境就称为进程. 每个 Linux 命令都与系统中 ...
- Linux - 进程查看与管理
标签(空格分隔): Linux 进程的静态查看 查看系统所有进程 ps -ef -- 输出来好乱,看不懂..: ps aux -- a表示所有与终端相关的进程,u表示所有以用户组织的进程状态的信息,x ...
随机推荐
- PHP现阶段发现的不足点
1.php测试单元的实现(参考文档:https://blog.csdn.net/weixin_41282397/article/details/85052015)
- laravel 导出插件
转发:https://blog.csdn.net/gu_wen_jie/article/details/79296470 版本:laravel5 php 5.6 安装步骤: 一.安装插件 ①.首先在L ...
- validate验证注册表单
点击预览; <%@ page language="java" contentType="text/html; charset=UTF-8" pageEnc ...
- 洛谷P5170 【模板】类欧几里得算法(数论)
传送门 此题剧毒,公式恐惧症患者请直接转去代码→_→ 前置芝士 基本数论芝士 题解 本题就是要我们求三个函数的值 \[f(a,b,c,n)=\sum_{i=0}^n \left\lfloor\frac ...
- Redis内核原理及读写一致企业级架构深入剖析1-综合组件环境实战
1 Redis 工作模型 redis实际上是个单线程工作模型,其拥有较多的数据结构,并支持丰富的数据操作,redis目前是原生支持cluster模式.如果需要缓存能够支持更复杂的结构和操作,基于以上原 ...
- 在Maven父项目下创建子项目
第一步:在父项目上右击,选择NEW 第二步:选择Maven下的Maven Module ------Next 第三步,Next 第四步点击Advanced-----Name template选择如下 ...
- java 使用 spirng 监控 cpu 使用 状态。。。。
首先..使用 sigar ,sigar 使用 要 注意区分 是 web 还是 本地..最好 在 WEB-INF 下 复制 dll 文件..因为WEB-INF 不会被压缩... try { //如果是 ...
- 华东交通大学2017年ACM“双基”程序设计竞赛 1003
Problem Description 有两个球在长度为L的直线跑道上运动,两端为墙.0时刻小球a以1m/s的速度从起点向终点运动,t时刻小球b以相同的速度从终点向起点运动.问T时刻两球的距离.这里小 ...
- Tensorflow安装教程-Win10环境下
背景:最新版的Tensoflow已经支持Python3.6 首先,下载并安装Anaconda3 内置Python3.6的版本 https://www.continuum.io/downloads 安装 ...
- JS——两个原生选择器
1. document.querySlector() 2.document.querySlectorAll() <!DOCTYPE html> <html lang="en ...