1.地址:分为物理地址、逻辑地址 1.物理地址:内存单元的真实地址 2.逻辑地址:用于编程的地址 分为:段地址、偏移地址 逻辑地址的形式:段地址:偏移地址 2.逻辑地址转换为物理地址: 物理地址 = 段地址*10H + 偏移地址 分析:转换时先将段地址左移4位,相当于乘以16或16进制的10H,再加 ...
分类:
编程语言 时间:
2016-04-09 13:45:14
阅读次数:
190
本文主要内容:
1.基本概念:物理内存、虚拟内存;物理地址、虚拟地址、逻辑地址;页目录,页表
2.Windows内存管理
3.CPU段式内存管理
4.CPU页式内存管理
一、基本概念
1. 两个内存概念
物理内存:人尽皆知,就是插在主板上的内存条。他是固定的,内存条的容量多大,物理内存就有多大(集成显卡系统除外)。但是如果程序运行很多或者程序本身很大的话,就会导致大量的物理内存...
段式存储管理和页式存储管理的本质区别: 页式存储管理中的逻辑地址有页号和业内地址两部分组成,但作业仍然使用连续的逻辑地址,可把它看作是一维的(线性的)地址结构。用户没有分页的概念,操作系统把作业信息装入主存时才按照块长进行分页。 段式存储管理中的逻辑地址有段号和段内地址两部分组成。他支持用户的分段, ...
分类:
其他好文 时间:
2016-04-03 18:58:33
阅读次数:
157
MMU由一个或一组芯片组成,其功能是把逻辑地址映射为物理地址,进行地址转换(MMU是CPU的一部分)
机器指令仍然用逻辑地址指定一个操作数的地址或一条指令的地址
MMU包含两个部件:分段部件和分页部件,分段机制将逻辑地址转换为线性地址,分页机制把线性地址转换为物理地址。
系统的运行速度一般是被CPU从内存中取得指令和数据速率限制的。
TLB(translation lookside buf...
分类:
系统相关 时间:
2016-03-29 12:58:33
阅读次数:
332
终结点地址一般指逻辑地址:采用baseAddress+address格式指定; 而监听地址一般由listenUri和listenUriMode共同决定 如果listenUriMode.Explicit则严格按照listenUri设置,首先检验listenUri是否存在,如果不存在则使用address
分类:
其他好文 时间:
2016-03-16 09:33:21
阅读次数:
89
前两篇已经说过了多任务的切换原理,留有一个问题,就是linux跳过了分段,逻辑地址总是等于线性地址那么是如何对进程进行隔离的?
分类:
系统相关 时间:
2016-03-15 18:44:31
阅读次数:
247
扒开系统调用的三层皮(上) 一、用户态.内核态.中断 (上周课件有学习到) 1、地址空间是一个显著的标志(是逻辑地址,不是物理地址) 2、CPU每条指令的读取都是通过cs:eip这两个寄存器;0xc00000000以上的地址空间只能用内核态访问 3、中断处理是从用户态进入内核态的主要方式(系统调用是
分类:
系统相关 时间:
2016-03-15 16:05:45
阅读次数:
233
接下来,总结一下网络层的协议,IP,ARP,RARP,ICMP,IGMP。当我们在网络传输的过程中,把分组交付到主机或路由器需要两级地址:物理地址和逻辑地址。而且我们需要能够把物理地址映射成为相应的逻辑地址,反过来的映射也是必要的。 这时候就涉及两个概念:静态映射与动态映射。 静态映射就是创建一个表
分类:
其他好文 时间:
2016-03-09 22:32:51
阅读次数:
244
Linux系统中的物理存储空间和虚拟存储空间的地址范围分别都是从0x00000000到0xFFFFFFFF,共4GB,但物理存储空间与虚拟存储空间布局完全不同。Linux运行在虚拟存储空间,并负责把系统中实际存在的远小于4GB的物理内存根据不同需求映射到整个4GB的虚拟存储空间中。Linux主要工作...
分类:
系统相关 时间:
2016-01-02 20:25:50
阅读次数:
278
我会尽力以最简洁清晰的思路来写这篇文章。所谓内存寻址也就是从写在指令里的地址,转化为实际物理地址的过程。因为操作系统要兼顾许多东西,所以也就变得复杂。逻辑地址 →线性地址→物理地址逻辑地址 = 段 + 偏移量因为:最开始cpu中的alu宽度只有16位,但地址总线宽度有20位。所以设置四个段寄存器:c...
分类:
系统相关 时间:
2015-12-15 21:14:17
阅读次数:
267