有人可以告诉我,在基于Linux的操作系统(例如CentOS和Windows)中,很小的地址(0-100)(例如地址7)具有什么内容?
对于大多数操作系统,至少虚拟地址空间的下半部分取决于它所属的进程(上部为“内核空间”)。通常,要捕获狡猾的指针(包括“ int pointer = NULL; foo = pointer[1234];
”和“ struct myStructure *pointer = NULL; foo = pointer->myField;
”之类的东西;其中访问的地址不是指针所指向的地址),最低的虚拟地址实际上什么都不保留;因此,如果有任何软件尝试访问它,则CPU会生成页面错误,以通知内核该软件尝试做错了很多事情。
低物理地址
低物理地址的大小取决于它是哪种计算机类型(80x86,ARM,MIP,...)以及固件是什么(例如BIOS,UEFI)和其他因素(芯片组的配置方式)。没有这些信息,就不可能有一个明确的答案(唯一可能的答案是“没人知道”)。