百科问答小站 logo
百科问答小站 font logo



【内存寻址】请问每个进程的线性空间是独立的吗还是系统中所有的进程共享一个线性空间? 第1页

  

user avatar   bei-ji-85 网友的相关建议: 
      

了解概况请先搜索4G平坦内存模型的含义。

在保护模式下,段的意义被弱化了,可以理解为所有段地址都是重叠的,指向一个相同(32位下4G)的地址空间。

每个进程的线性地址空间都是一样大小的,并且在主流的操作系统(Windows,Linux)中,内核部分是重叠的,甚至很多共享库(so,dll库)在用户态也是重叠的。这个重叠指的是物理地址重叠、虚拟地址重叠,这样做的好处是节约物理内存。

线性地址实际上不存在分配一说,线性地址并不需要分配。线性地址指向的物理地址才需要分配,这个分配的过程一般都是动态加载的,当然也可以一次性分配,看操作系统的策略,不同操作系统的处理方式不一定相同。

页表是在进程地址空间创建的过程中由操作系统一次性分配完成的,但页表中并不是所有条目都指向实际的物理内存。




  

相关话题

  为什么绝大多数电子产品的时间设定都只能调到1970年? 
  为什么普及 Linux 桌面操作系统这么难呢? 
  为什么 Windows 比 Linux 的文件搜索慢很多? 
  现在鸿蒙操作系统讨论很热,大家认为为什么当年微软没有搞起来手机操作系统呢? 
  为什么多通道内存可以显著提升性能,而双显卡却没有那么大? 
  为什么我见过的操作系统都是树状存储结构,有没有用关键字来组织文档存储的网状结构的操作系统? 
  windows要求已数字签名的驱动程序? 
  Linux 内核中,多线程栈空间模型是怎样的? 
  一个模块(比如文件系统)在内核中实现(宏内核),跟它在内核外实现(微内核),主要区别是什么? 
  如何评价华为正适配鸿蒙智能手机,面向智能手机低端市场,有望年底前上市? 

前一个讨论
把操作系统编译结果的机器码更改一位,比如将第一位0改成1或者反之,操作系统还能运行吗?
下一个讨论
为什么火车票放票的一瞬间票就没了?





© 2025-04-15 - tinynew.org. All Rights Reserved.
© 2025-04-15 - tinynew.org. 保留所有权利