首页 > 编程知识 正文

物理顺序和逻辑顺序,物理地址与逻辑地址的关系

时间:2023-05-05 15:35:10 阅读:155699 作者:1513

我今天学习了。 介绍物理地址和逻辑地址的区别。 仅供参考!

物理地址和逻辑地址的区别

作为参考

MAC地址也称为物理地址、硬件地址或链接地址,由网络设备制造商在制造时写入硬件内部。 IP地址和MAC地址在计算机中用二进制表示,IP地址为32位,MAC地址为48位。 MAC地址的长度为48位(6字节),通常由12个十六进制数字表示,每2个十六进制数字用冒号分隔。

1.MAC地址

网卡的MAC地址不是任意定义的,其结构如图所示。

前三个字节表示制造商生产的网络产品(如网卡)的序列号,前三个字节表示由电气和电子工程师协会(IEEE )分配的网络硬件制造商的编号

2以太网地址为48位,由IEEE统一分配给网卡制造商,每个网卡的地址在世界范围内必须是唯一的。 总共6个字节的长度。 f : ff : ff : ff : ff : ff : ff是广播地址,只能用于目标地址段,不能用作源地址段。 一个局域网中的所有网卡都可以接收目标地址为广播地址的数据包。 有效的以太网地址第32位多播标志必须为0。 作为组播地址时,只能作为目标地址使用,不能作为源地址使用。 可以在支持多播地址的一组网卡上接收多播地址。 组播地址主要用于视频广播、远程唤醒(通过发送特殊数据包使网卡产生中断信号,启动电脑)、游戏(局域网多人在线游戏)等。

逻辑地址(Logical Address )是与程序生成的段相关的偏移地址部分。 例如,在c语言指针编程中,可以读取指针变量本身的值(操作)。 实际上,该值是逻辑地址,是当前流程数据段的地址,与绝对物理地址无关。 只有在Intel实模式下,逻辑地址才等于物理地址。 由于实模式没有分段和分页机制,因此Cpu不会自动进行地址转换。 逻辑是指在Intelprotection模式下程序执行的代码段长度内的偏移地址。 假设代码段、数据段完全相同。 APP应用程序员只是与逻辑地址进行交互,分段和分页机制对你来说完全透明,只有系统程序员参与。 APP应用程序员可以自己直接操作内存,但只能在操作系统分配的内存段上操作。

虚拟内存(Virtual Memory )意味着它显示的内存量远远大于计算机实际拥有的内存量。 因此,程序员可以编写和执行内存比实际系统大得多的程序。 这样,许多大型项目也可以在具有有限内存资源的系统上实现。 作为一个恰当的比喻,火车可以从上海开到北京,而不需要很长的轨道。 完成这项任务需要足够长的线路(例如3公里)。 方法是把后面的线路马上铺在列车前面。 如果你的操作足够快并能满足要求,列车就能在完整的轨道上运行了。 这意味着管理虚拟内存所需的任务。 在Linux 0.11内核中,每个程序(进程)都被分配了总容量为64MB的虚拟内存空间。 因此,程序的逻辑地址范围为0x0000000到0x4000000。

逻辑地址有时也称为虚拟地址。 因为和虚拟内存空间的概念一样,逻辑地址也与实际的物理内存容量无关。

逻辑地址和物理地址之间的“差”为0xC0000000是因为虚拟地址-线性地址-物理地址映射正好差。 该值由操作系统指定。

学习了。 介绍了物理地址和逻辑地址的区别的相关知识。 希望你喜欢。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。