导航:首页 > 物理学科 > linux内核如何查看物理地址

linux内核如何查看物理地址

发布时间:2022-04-02 10:48:41

① 如何查看linux内核版本

以下介绍3种查看方法:

第一种:登录linux,在终端输入cat /proc/version 运行效果如下图:

② linux 内核中物理地址转换为虚拟地址一些不懂的地方,麻烦指点

  1. GPFCON 0X56000050
    GPFDAT 0x56000054
    GPFUP 0x56000058
    Reserved 0x5600005c

这是四个连续的物理地址,每个长度为4字节,所以是16


2. 在 32位系统上, sizeof(指针) 是4,所以 sizeof(xxxx xxxx *) 总是等于4,由于gpfcon 指向的是被映射后的0X56000050, gpfdata 就指向0x56000054

③ linux如何查看mac地址

打开终端,然后输入ifconfig命令,就会出来该电脑的所有网卡信息,有5个冒号分隔的一串数字,就是mac地址,对应着一个网卡的唯一代码。

④ 如何使用route命令查看 Linux内核路由表

使用下面的 route 命令可以查看 Linux 内核路由表。
# route
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0
default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
route 命令的输出项说明
输出项
说明
Destination
目标网段或者主机
Gateway
网关地址,”*” 表示目标是本主机所属的网络,不需要路由
Genmask
网络掩码
Flags
标记。一些可能的标记如下:

U — 路由是活动的

H — 目标是一个主机

G — 路由指向网关

R — 恢复动态路由产生的表项

D — 由路由的后台程序动态地安装

M — 由路由的后台程序修改

! — 拒绝路由
Metric
路由距离,到达指定网络所需的中转数(linux 内核中没有使用)
Ref
路由项引用次数(linux 内核中没有使用)
Use
此路由项被路由软件查找的次数
Iface
该路由表项对应的输出接口
3 种路由类型
主机路由
主机路由是路由选择表中指向单个IP地址或主机名的路由记录。主机路由的Flags字段为H。例如,在下面的示例中,本地主机通过IP地址192.168.1.1的路由器到达IP地址为10.0.0.10的主机。
Destination Gateway Genmask Flags Metric Ref Use Iface----------- ------- ------- ----- ------ --- --- -----10.0.0.10 192.168.1.1 255.255.255.255 UH 0 0 0 eth0 网络路由
网络路由是代表主机可以到达的网络。网络路由的Flags字段为N。例如,在下面的示例中,本地主机将发送到网络192.19.12的数据包转发到IP地址为192.168.1.1的路由器。
Destination Gateway Genmask Flags Metric Ref Use Iface----------- ------- ------- ----- ----- --- --- -----192.19.12 192.168.1.1 255.255.255.0 UN 0 0 0 eth0 默认路由
当主机不能在路由表中查找到目标主机的IP地址或网络路由时,数据包就被发送到默认路由(默认网关)上。默认路由的Flags字段为G。例如,在下面的示例中,默认路由是IP地址为192.168.1.1的路由器。
Destination Gateway Genmask Flags Metric Ref Use Iface----------- ------- ------- ----- ------ --- --- -----default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
配置静态路由
route 命令
设置和查看路由表都可以用 route 命令,设置内核路由表的命令格式是:
# route [add|del] [-net|-host] target [netmask Nm] [gw Gw] [[dev] If] 其中:
add : 添加一条路由规则
del : 删除一条路由规则
-net : 目的地址是一个网络
-host : 目的地址是一个主机
target : 目的网络或主机
netmask : 目的地址的网络掩码
gw : 路由数据包通过的网关
dev : 为路由指定的网络接口
route 命令使用举例
添加到主机的路由
# route add -host 192.168.1.2 dev eth0:0# route add -host 10.20.30.148 gw 10.20.30.40
添加到网络的路由
# route add -net 10.20.30.40 netmask 255.255.255.248 eth0
# route add -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41# route add -net 192.168.1.0/24 eth1 添加默认路由
# route add default gw 192.168.1.1
删除路由
# route del -host 192.168.1.2 dev eth0:0
# route del -host 10.20.30.148 gw 10.20.30.40
# route del -net 10.20.30.40 netmask 255.255.255.248 eth0
# route del -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41
# route del -net 192.168.1.0/24 eth1# route del default gw 192.168.1.1
设置包转发
在 CentOS 中默认的内核配置已经包含了路由功能,但默认并没有在系统启动时启用此功能。开启 Linux 的路由功能可以通过调整内核的网络参数来实现。要配置和调整内核参数可以使用 sysctl 命令。例如:要开启 Linux 内核的数据包转发功能可以使用如下的命令。
# sysctl -w net.ipv4.ip_forward=1 这样设置之后,当前系统就能实现包转发,但下次启动计算机时将失效。为了使在下次启动计算机时仍然有效,需要将下面的行写入配置文件/etc/sysctl.conf。
# vi /etc/sysctl.confnet.ipv4.ip_forward = 1 用户还可以使用如下的命令查看当前系统是否支持包转发。
# sysctl net.ipv4.ip_forward

⑤ 请教高手,Linux 怎样查看http://localhost的物理路径在线等,谢谢!

这个要看你web服务器软件的配置。
或者你知道静态页面的名字,比如aaa.html,你就可以用find命令去找,find / -name aaa.html,然后找到相应路径。

⑥ linux内核内存寻址在哪个文件

linux内核地址映射模型 x86 CPU采用了段页式地址映射模型。进程代码中的地址为逻辑地址,经过段页式地址映射后,才真正访问物理内存。 段页式机制如下图。 linux内核地址空间划分 通常32位linux内核地址空间划分0~3G为用户空间,3~4G为内核空间。注意这里是32位内核地址空间划分,64位内核地址空间划分是不同的。 linux内核高端内存的由来 当内核模块代码或线程访问内存时,代码中的内存地址都为逻辑地址,而对应到真正的物理内存地址,需要地址一对一的映射,如逻辑地址0xc0000003对应的物理地址为0×3,0xc0000004对应的物理地址为0×4,… …,逻辑地址与物理地址对应的关系为 物理地址 = 逻辑地址 0xC0000000 逻辑地址物理内存地址0xc00000000×00xc00000010×10xc00000020×20xc00000030×3… … 0xe00000000×20000000……0xffffffff0×40000000 ?? 显然不能将内核地址空间0xc0000000 ~ 0xfffffff全部用来简单的地址映射。因此x86架构中将内核地址空间划分三部分:ZONE_DMA、ZONE_NORMAL和ZONE_HIGHMEM。ZONE_HIGHMEM即为高端内存,这就是内存高端内存概念的由来。 在x86结构中,三种类型的区域如下: ZONE_DMA 内存开始的16MB ZONE_NORMAL 16MB~896MB ZONE_HIGHMEM 896MB ~ 结束 linux内核高端内存的理解 前面我们解释了高端内存的由来。 linux将内核地址空间划分为三部分ZONE_DMA、ZONE_NORMAL和ZONE_HIGHMEM,高端内存HIGH_MEM地址空间范围为0xF8000000 ~ 0xFFFFFFFF(896MB~1024MB)。那么如内核是如何借助128MB高端内存地址空间是如何实现访问可以所有物理内存? 当内核想访问高于896MB物理地址内存时,从0xF8000000 ~ 0xFFFFFFFF地址空间范围内找一段相应大小空闲的逻辑地址空间,借用一会。借用这段逻辑地址空间,建立映射到想访问的那段物理内存(即填充内核PTE页面表),临时用一会,用完后归还。这样别人也可以借用这段地址空间访问其他物理内存,实现了使用有限的地址空间,访问所有所有物理内存。如下图。 例如内核想访问2G开始的一段大小为1MB的物理内存,即物理地址范围为0×80000000 ~ 0x800FFFFF。访问之前先找到一段1MB大小的空闲地址空间,假设找到的空闲地址空间为0xF8700000 ~ 0xF87FFFFF,用这1MB的逻辑地址空间映射到物理地址空间0×80000000 ~ 0x800FFFFF的内存。映射关系如下: 逻辑地址物理内存地址0xF87000000×800000000xF87000010×800000010xF87000020×80000002… …0xF87FFFFF0x800FFFFF当内核访问完0×80000000 ~ 0x800FFFFF物理内存后,就将0xF8700000 ~ 0xF87FFFFF内核线性空间释放。这样其他进程或代码也可以使用0xF8700000 ~ 0xF87FFFFF这段地址访问其他物理内存。 从上面的描述,我们可以知道高端内存的最基本思想:借一段地址空间,建立临时地址映射,用完后释放,达到这段地址空间可以循环使用,访问所有物理内存。 看到这里,不禁有人会问:万一有内核进程或模块一直占用某段逻辑地址空间不释放,怎么办?若真的出现的这种情况,则内核的高端内存地址空间越来越紧张,若都被占用不释放,则没有建立映射到物理内存都无法访问了。

⑦ 如何在linux中查询内核版本的路径请高手们帮帮忙!!

内核文件一般位于/boot目录下
要通过查找配置的方式知道内核文件的路径,可以查看grub的配置。因为现在大部分Linux系统通过grub方式引导,引导时自然需要知道内核文件在哪里。grub的配置文件一般是/boot/grub.conf
但是文件中关于内核文件的位置描述使用的是grub的表示方法,例如:
root (hd0,0)
kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/
第一行表示使用第一块硬盘的第一个分区作为引导式的根系统,而kernel文件位于该分区的/boot目录中,文件名为vmlinuz-2.4.18-14,2.4.18表示的就是内核文件的版本了。

⑧ linux查看物理地址命令

1、 ip -a 、 cat /sys/class/net/ens39/address 其中 HWaddr字段就是MAC地址,这是最常用的方式.

2、cat /proc/net/arp 查看连接到本机的远端IP的MAC地址

⑨ 在linux系统中怎样查看mac地址

1、 首先在桌面右键选择“打开终端”,或者按ctrl + Alt + T快捷键打开终端

阅读全文

与linux内核如何查看物理地址相关的资料

热点内容
word中化学式的数字怎么打出来 浏览:705
乙酸乙酯化学式怎么算 浏览:1372
沈阳初中的数学是什么版本的 浏览:1318
华为手机家人共享如何查看地理位置 浏览:1011
一氧化碳还原氧化铝化学方程式怎么配平 浏览:848
数学c什么意思是什么意思是什么 浏览:1371
中考初中地理如何补 浏览:1260
360浏览器历史在哪里下载迅雷下载 浏览:671
数学奥数卡怎么办 浏览:1351
如何回答地理是什么 浏览:989
win7如何删除电脑文件浏览历史 浏览:1023
大学物理实验干什么用的到 浏览:1449
二年级上册数学框框怎么填 浏览:1659
西安瑞禧生物科技有限公司怎么样 浏览:834
武大的分析化学怎么样 浏览:1213
ige电化学发光偏高怎么办 浏览:1301
学而思初中英语和语文怎么样 浏览:1608
下列哪个水飞蓟素化学结构 浏览:1388
化学理学哪些专业好 浏览:1453
数学中的棱的意思是什么 浏览:1017