首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

IP地址和物理地址什么区别

它包含两个子层,上一层是逻辑链路控制(LLC:Logical Link Control),下一层即是我们前面所提到的MAC(Media Access Control)层,即介质访问控制层。...MAC地址也叫物理地址、硬件地址或链路地址,由网络设备制造商生产时写在硬件内部。...(早期的2字节的却不用申请)    一:IP地址和Mac地址什么联系和区别   对于IP地址,相信大家都很熟悉,即指使用TCP/IP协议指定给主机的32位地址。...另外IP地址和Mac地址是区别的,虽然他们在局域网中是一一对应的关系。...主要原因以下几点:(1)IP地址的分配是根据网络的拓朴结构,而不是根据谁制造了网络设置。若将高效的路由选择方案建立在设备制造商的基础上而不是网络所处的拓朴位置基础上,这种方案是不可行的。

1.3K10
您找到你想要的搜索结果了吗?
是的
没有找到

linux物理地址,虚拟地址,内存管理,逻辑地址之间的关系

物理地址: 这里说的物理地址是内存中的内存单元实际地址,不是外部总线连接的其他电子元件的地址!...物理地址属于比较好理解的,物理地址就是内存中每个内存单元的编号,这个编号是顺序排好的,物理地址的大小决定了内存中有多少个内存单元,物理地址的大小由地址总线的位宽决定!...分页管理: 内存分页其实就是我们所说的4G空间,内存的所有内存被操作系统内核以4G为每页划分开,当我们程序运行时会被加载到内存中的4G空间里,其实说是4G其实并没有真正在的4G空间,4G空间中有一小部分被映射到了物理内存中...一般操作系统需要维护两个段描述表:GDT(全局描述符表GDT(GlobalDescriptor Table)在整个系统中,全局描述符表GDT只有一张(一个处理器对应一个GDT),GDT可以被放在内存的任何位置...,LDT(局部描述符表可以若干张,每个进程任务都有一张,LDT对应GDT里的某段子描述符,可以把LDT理解成二级描述符,GDT为一级描述符,LDT的入口地址保存在LDTR的寄存器里)。

3K00

linux物理地址,虚拟地址,内存管理,逻辑地址之间的关系2

线性地址: 线性地址是逻辑地址到物理地址之间的一个中间层变换,程序代码会产生逻辑地址,或者说是段中的偏移地址,加上相应段的基地址就生成了一个线性地址,逻辑地址是如何知道自己的段基的址?...如果启用了分页机制,那么MMU内存管理单元会在内存映射表里寻找与线性地址对应的物理地址。若没有启用分页机制,那么线性地址直接就是物理地址。...7.内存中有一个叫MMU(内存管理单元)的电子元件负责从操作系统已经初始化好的内存映射表里查询与虚拟地址对应的物理地址并转换, 8.逻辑地址由两部份组成,段标识符和段内偏移量。...逻辑地址即程序中的段地址,比如说0x1到0x4为一个页面,那么0x1-0x4之间的段地址称为逻辑地址,逻辑地址可以通过内存中的段数组里寻找段选择符+段偏移地址轻易得到物理地址。...线性地址是逻辑地址到物理地址之间的一个中间层变换,程序代码会产生逻辑地址,或者说是段中的偏移地址,加上相应段的基地址就生成了一个线性地址。

1.9K00

Linux下内存空间分配、物理地址与虚拟地址映射

一、Linux内核动态内存分配与释放 1.1 kmalloc函数 Kmalloc分配的是连续的物理地址空间。...这里需要做的两个操作: 1.找到可以用来关联的虚拟地址区间。 2.实现关联操作。...在这个例子中我们一台可以生成32位地址的机器,它的虚拟地址范围从0~0xFFFFFFFF(4G),而这台机器只有256M的物理地址,因此他可以运行4G的程序,但该程序不能一次性调入内存运行。...2 ) 页/页帧/页表/页表项(PTE) MMU是负责把虚拟地址映射为物理地址,但凡"映射"都要解决两个问题:映射的最小单位(粒度)和映射的规则。...需要查询DATASHEET才可知道是否MMU。如果有的话,一定是编号为15的协处理器。可以提供32BIT共4G的地址空间。 ARM MMU提供的分页机制1K/4K/64K 3种模式。

2.9K31

索引却不用的两个场景

建了索引,SQL却未使用索引,很多情况,何况我不精通,所以不能一一枚举出来,但结合昨天广分一位兄弟的问题,列举出两个场景,提供一些思路和方法。...场景一:正确的索引却不用 创建测试表,插入一条数据,创建索引,采集表和索引的统计信息,USER_TABLES视图显示1条记录,平均行长为14字节。 ?...虽然此处用了1条记录测试,有些极端,但即使很多记录,还是需要综合考虑多块读、单块读、表的记录数、平均行长、回表等各种因素,只要TABLE ACCESS FULL的成本值低,无论是否索引,都会选择TABLE...内容如下,表示Oracle对这条SQL两个建议, ? 第一个建议是,手工采集表和索引的统计信息,并且给出了SQL语句, ? 第二个建议,则是使用SQL Profile,固定执行计划, ? ?...),但当10001条记录的时候,不用索引就是错误的了,原因就是由于统计信息不准,造成Oracle计算成本值出现偏差,此时要么手工采集统计信息,要么使用SQL Profile固化执行计划,当然索引但不用的场景

55320

通过linux0.11源码理解进程的虚拟地址、线性地址、物理地址

进程的地址三种,分别是虚拟地址(逻辑地址)、线性地址、物理地址。在分析之前先讲一下进程执行的时候,地址的解析过程。...然后到页目录吧和页表中找到物理地址基地址,再加线性地址中的偏移部分,得到物理地址。下面我们看看这些内容是怎么设置的,使得执行的时候能正确找到我们想要的地址去执行代码。我们从fork函数开始。...#define PAGE_ALIGN(n) (((n)+0xfff)&0xfffff000) /* 段描述符的地3,4,5,7四个字节是保存基地址 把edx的两个字节保存在addr+2,...\ "m" (*((addr)+7)), \ "d" (base) \ :"dx") /* 段描述符的地第1,2字节和16-19位保存段限长 把dx的两个字节给...这就是linux0.11版本中进程地址管理的实现。下面是fork后的结构图。 ?

1.4K60

Linux 内核 内存管理】内存映射原理 ① ( 物理地址空间 | 外围设备寄存器 | 外围设备寄存器的物理地址 映射到 虚拟地址空间 )

文章目录 一、物理地址空间 二、外围设备寄存器 三、外围设备寄存器物理地址 映射到 虚拟地址空间 一、物理地址空间 ---- " 物理地址空间 “ 是 CPU 处理器 在 ” 总线 " 上 访问内存的地址..., RISC 处理器 只能访问 物理地址空间 , 系统的 外围设备 与 物理内存 都使用 统一的物理地址空间 访问 ; RISC 全称 " Reduced Instruction Set Computer..., 参考 【Linux 内核 内存管理】Linux 内核内存布局 ④ ( ARM64 架构体系内存分布 | 内核启动源码 start_kernel | 内存初始化 mm_init | mem_init...寄存器 分为 3 大类 : 控制寄存器 状态寄存器 数据寄存器 外围设备寄存器 2 种 编址方式 : ① I/O 映射方式 , I/O-Mapped ② 内存映射方式 , Memory-Mapped...外围设备寄存器 一般是 连续编址 的 , 三、外围设备寄存器物理地址 映射到 虚拟地址空间 用户空间 的 应用进程 , 访问 " 外围设备寄存器 " 只能通过 " 虚拟地址 " 实现 , Linux

3.1K20
领券