Operating system 操作系统中的程序员和细分

Operating system 操作系统中的程序员和细分,operating-system,virtual-memory,memory-segmentation,Operating System,Virtual Memory,Memory Segmentation,我了解到,操作系统中的分段是基于将不同的分段(对于一个程序,这些分段可以表示符号表、源文本、堆栈…)划分为从逻辑内存地址0开始的单元。这是MMU(?)用于获取除偏移量之外的实地址的虚拟地址 分段的一个明显好处是,由于每个分段从地址0开始,多个进程可以同时利用单个分段(例如共享库) 然而,我不认为分割还能给程序员带来什么好处。有什么例子吗 谢谢 分段对程序员没有好处。分段是为了克服架构限制而开发的一个难题。16位PDP-11计算机只能寻址64K内存。分段的使用允许程序员在地址空间内外映射内存,以访

我了解到,操作系统中的分段是基于将不同的分段(对于一个程序,这些分段可以表示符号表、源文本、堆栈…)划分为从逻辑内存地址0开始的单元。这是MMU(?)用于获取除偏移量之外的实地址的虚拟地址

分段的一个明显好处是,由于每个分段从地址0开始,多个进程可以同时利用单个分段(例如共享库)

然而,我不认为分割还能给程序员带来什么好处。有什么例子吗


谢谢

分段对程序员没有好处。分段是为了克服架构限制而开发的一个难题。16位PDP-11计算机只能寻址64K内存。分段的使用允许程序员在地址空间内外映射内存,以访问更多内存

8086芯片是逆行的。IBM将其用于个人电脑而不是68000台,使计算机行业倒退了数年。8086使用段来减小指令的大小。指令可以使用段寄存器的am偏移量,而不是使用32位作为地址


在64位模式下,英特尔处理器中对分段的厌恶终于消失了。

Python
程序员甚至
C++
程序员都不关心分段。它是介于语言编译器和操作系统之间的东西。一些
Assembly
语言程序员关心它,操作系统内核开发人员必须意识到这一点。分割是硬件特性。你问题中隐藏的“有用性”是什么?老实说,我不确定。我正在阅读关于它的文章,除了增加了编译器的简单性之外,列出的好处之一是程序员更容易利用它。。。虽然我想不出任何人,但可能是那些使用汇编的人,需要知道函数中第三个局部变量的逻辑地址的位置。无论如何,谢谢你的帮助!再见,谢谢!为什么你认为片段是一种可憎的东西?它们是否与多级分页一起出现在今天的64位机器中?对于32位和64位机器,段过于复杂,完全没有必要。在分页上,段没有添加任何内容。64位Intel中不存在段。