基础概念关系 在计算机架构中,硬件主板上主体分为南北桥,北桥主要是CPU内存显卡等之间的数据传输,而南桥主要负责的是IO相关的、外部存储设备、BIOS相关的数据。 而我们所知的内存管理,实际是程序的逻辑地址,通过分段机制转为线性地址,通过分页机制转为物理地址(这一部由CPU的MMU模块支持),物理地 ...
分类:
系统相关 时间:
2018-08-19 11:06:47
阅读次数:
301
一、Linux 内存管理的基本框架 线性地址的映射分为4步: 1.线性地址最高的位段作为下标 在PGD(页面目录)中找到表项,该表项指向PMD(中间目录)。 2.线性地址第二位段作为下标在PMD中找到表项,该表项指向页面表。 3.线性地址第三位段作为下标在页面表中找到PTE,该表项存放指向物理页面的 ...
分类:
其他好文 时间:
2018-07-03 22:35:28
阅读次数:
176
Linux内存中线性地址为4G,0~3G为用户空间,3~4G为内核空间一、????? 内核空间内核空间是3~4G的内存地址,主要用来存储高优先级的代码在X86结构中的内核地址存在三种类型的区域:?????? ? ZONE_DMA???? 内
分类:
系统相关 时间:
2018-06-07 00:35:26
阅读次数:
240
其实我们的操作系统也可以理解为一个虚拟机,因为他是把硬件资源虚拟成文件系统可以识别使用的程序Linux的swap分区也相当于windows虚拟内存:电脑三大主键:1、CPU:timeslice2、Memory:3、I/O设备:CPU:timesliceI/O设备内存工作模型假如内存是4G的,那么每个进程意识到自己是4G可用(针对32bitcpu),x86引入了一个虚拟地址,也叫作线性地址的概念内存
分类:
系统相关 时间:
2018-03-30 16:18:15
阅读次数:
207
Linux内核的映射机制设计成三层,在页面目录和页面表中间增设了一层“中间目录”。在代码中,页面目录称为PGD,中间目录称为PMD,而页面表称为PT。PT中的表项称为PTE,PTE是“Page Table Entry”的缩写。PGD、PMD和PT均为数组。在逻辑上也把线性地址从高位到低位划分成4个位 ...
分类:
系统相关 时间:
2018-03-10 12:09:06
阅读次数:
222
分析linux内存管理机制,离不了上述几个概念,在介绍上述几个概念之前,先从《深入理解linux内核》这本书中摘抄几段关于上述名词的解释: 一、《深入理解linux内核》的解释 逻辑地址(Logical Address) 包含在机器语言指令中用来指定一个操作数或一条指令的地址(有点深奥)。这种寻址方 ...
分类:
系统相关 时间:
2018-02-22 19:23:11
阅读次数:
273
Are you afraid of me? (你们怕我吗?) Don't be.(不用怕) I am a programmer who just won't die.(我是不会死的程序员) 自从跟踪到32位CPU的逻辑地址等同于线性地址,不仅在Windows中,还有在Linux(Android)中, ...
分类:
其他好文 时间:
2018-02-06 01:25:30
阅读次数:
219
本文以 32 位系统为例介绍内核空间(kernel space)和用户空间(user space)。 内核空间和用户空间 对 32 位操作系统而言,它的寻址空间(虚拟地址空间,或叫线性地址空间)为 4G(2的32次方)。也就是说一个进程的最大地址空间为 4G。操作系统的核心是内核(kernel),它 ...
分类:
系统相关 时间:
2018-02-03 20:01:54
阅读次数:
247
缺页异常 会出现缺页异常的情况: fork等系统调用时并没有映射物理页,写数据->缺页异常->写时拷贝 task_struct: linux描述进程的结构体 1.5个互斥状态,两个终止状态,同时定义了新的睡眠状态可以响应致命信号 使用thread_union来存放 thread_info 和 sta ...
分类:
其他好文 时间:
2018-02-02 14:24:00
阅读次数:
244
目录 "1.分页机制介绍" "2.页表结构" "3.页表项格式" "4.虚拟存储" "5.直达底部" 分页机制介绍 分页机制是 80x86 内存管理机制的第二部分。它在分段机制的基础上完成虚拟地址到物理地址的转换过程。分段机制把逻辑地址转换成线性地址,而分页机制则把线性地址转换成物理地址。分页机制可 ...
分类:
其他好文 时间:
2018-01-31 00:54:45
阅读次数:
168