LINUX.ORG.RU

История изменений

Исправление firkax, (текущая версия) :

14 бит селектор, 32 бита смещение. Оно не линейное, нарезано на сегменты по 4гб, и на самом деле 4гб сегменты использовать в таком режиме не получится (их можно свапать только целиком, и 1 сегмент тогда займёт всё линейное адресное пространство и дальше ничего не сделать будет), так что на самом деле следует ещё где-то хотя бы 4 бита снять. Итого выходит где-то 42 бита. Ещё есть резон поделить на два (остаётся 41 бит - это 2 терабайта всего) т.к. половина этих адресов общесистемная, и только другая половина приватная для процесса.

Эта механика не специфична для 486, она одинаковая для всех x86-32, а так же для x86-64 когда они в 32-битном режиме.

Исправление firkax, :

14 бит селектор, 32 бита смещение. Оно не линейное, нарезано на сегменты по 4гб, и на самом деле 4гб сегменты использовать в таком режиме не получится (их можно свапать только целиком, и 1 сегмент тогда займёт всё линейное адресное пространство и дальше ничего не сделать будет), так что на самом деле следует ещё где-то хотя бы 4 бита снять. Итого выходит где-то 42 бита. Ещё есть резон поделить на два (остаётся 41 бит - это 2 терабайта всего) т.к. половина этих адресов общесистемная, и только другая половина приватная для процесса.

Исходная версия firkax, :

14 бит селектор, 32 бита смещение.