如果仅启用分段

时间:2012-02-16 08:56:35

标签: operating-system x86

初学者提问:

  • “如果”禁用分页并且仅启用分段(设置CR0.PE)那么这是否意味着如果程序加载到内存(RAM)中,则会加载其整个二进制映像,并且其“部分”都不是换出,becoz程序只有在启用分页时才会被分成固定大小的块(然后可以换出)。如果这是真的,这将减少在特定大小的RAM内存中运行的进程数,比如2 GB?

1 个答案:

答案 0 :(得分:0)

可能,但不一定。

这取决于操作系统......

您可以编写一个使用段将操作系统的一部分映射到内存的操作系统。当程序访问段外的内存时,会出现分段错误。然后,当分段错误传递给操作系统时,可以从磁盘交换一些数据并修改分段信息,然后再将控制权返回给程序。

然而,这可能是困难且昂贵的,我不知道任何以这种方式起作用的操作系统。

关于进程数 - 您需要将可用内存分成连续的部分,每个进程一个。如果流程不增长,这很容易;如果他们这样做,你需要填充,可能需要复制进程,这是相当昂贵的......