社区
Linux_Kernel
帖子详情
求助:linux下typedef struct {unsigned long long pmd;}pmd_t;中有两个long,是什么意思?
qazokm
2006-03-22 06:13:58
求助:linux下typedef struct {unsigned long long pmd;}pmd_t;中有两个long,是什么意思?
...全文
204
5
打赏
收藏
求助:linux下typedef struct {unsigned long long pmd;}pmd_t;中有两个long,是什么意思?
求助:linux下typedef struct {unsigned long long pmd;}pmd_t;中有两个long,是什么意思?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tb01412
2006-03-22
打赏
举报
回复
在linux上,表示64位就用long long
vanlover
2006-03-22
打赏
举报
回复
long long应该是64位的
rockefeller8
2006-03-22
打赏
举报
回复
long 是32bit
long long 是36bit
alphajin
2006-03-22
打赏
举报
回复
在含有这样定义的结构中,建议使用
#pragma pack (n)
#pragma pack ()
alenwelkin
2006-03-22
打赏
举报
回复
c99标准, long long表示64位
Linux
深入理解内核 - 内存寻址
Linux
分别采用pgd_t
pmd
_tpud_t和pte_t四种数据结构来表示页全局目录项、页上级目录项、页中间目录项和页表项。这四种数据结构本质上都是无符号长整型
unsigned
long
!
Linux
为了更严格数据类型检查,将无符号长整型
unsigned
long
分别封装成四种不同的页表项。如果不采用这种方法,那么一个无符号长整型数据可以传入任何一个与四种页表相关的函数或宏中,这将大大降低程序的健壮性。
linux
进程管理之mm_
struct
,
Linux
之内存描述符mm_
struct
struct
mm_
struct
{
struct
vm_area_
struct
* mmap; //指向虚拟区间(VMA)的链表
struct
rb_root mm_rb; //指向线性区对象红黑树的根
struct
vm_area_
struct
* mmap_cache; //指向最近找到的虚拟区间
unsigned
long
(*get_unmapped_area)...
pmd
_alloc/pte_alloc/pud_alloc设置页表
pte_t;}
pmd
_t;} pud_t;
内存管理——页表
include/asm-x86_64/page.h
typedef
struct
{
unsigned
long
pte;} pte_t;
typedef
struct
{
unsigned
long
pmd
;}
pmd
_t;
typedef
struct
{
unsigned
long
pud;} pud_t;
typedef
struct
{
unsigned
long
pgd;}pgd_t;
gh_mirrors/li/
linux
内核页表类型:pgd_t、pud_t、
pmd
_t、pte_t
在
Linux
内核开发中,内存管理始终是最核心也最复杂的模块之一。而页表作为虚拟内存到物理内存映射的关键数据结构,其设计直接影响系统的性能与稳定性。你是否曾在阅读内核代码时被`pgd_t`、`pud_t`、`
pmd
_t`、`pte_t`这些神秘的类型定义困扰?是否疑惑为什么需要如此多层级的页表结构?本文将从硬件架构差异到软件抽象设计,全面解析这四种页表类型的实现细节与应用场景,帮你彻底掌握
Linux
...
Linux_Kernel
4,466
社区成员
17,461
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章