Как сегментация позволяет совместно использовать код или данные?

Я читал, что есть сегменты каждого процесса (сегмент стека, сегмент кода), и каждый виртуальный адрес имеет номер сегмента и смещение, эта схема позволяет совместно использовать код между процессами. Я не понял идею поделиться, пожалуйста, объясните совместное использование на примере?


person Waqar Ul Khaf    schedule 26.12.2016    source источник


Ответы (1)


То, что вы описываете, во многом устарело. Использование сегментов было тупиком в первых процессорах Intel, которые бесполезно просуществовали десятилетиями. Сегменты исчезают с 64-битной информацией. Сегмент обычно указывается с помощью регистра, а не как часть адреса.

Что касается вашего вопроса, теоретически несколько процессов могут использовать один и тот же сегмент кода. Однако это легче сказать, чем сделать, потому что код процесса [сегмент] обычно загружается из нескольких источников.

person user3344003    schedule 27.12.2016