Родительский процесс и его дочернее адресное пространство

Когда я читаю книгу Operating system design and implementationв главе 2 Process creationвот что он упоминает:

Начальное адресное пространство дочернего элемента является копией родительского адресного пространства, но задействованы два различных адреса.

Это немного расплывчато для меня. Кажется, это говорит мне, что у них одинаковое адресное пространство, но я считаю, что это не так.

Кто-нибудь может объяснить детали этого?

1 ответ

Решение

Адресное пространство - это диапазон адресов (значений), которые видны программе. Например, адресное пространство программы может быть от 0x00000000 до 0xFFFFFFFF. Дочерний и родительский объекты имеют одинаковое адресное пространство, но, например, адрес 0x00D543A7 - это другой адрес в родительском и другой адрес в дочернем. ОС (и в некоторой степени процессор) заботится о преобразовании адресов, чтобы два логических адреса из двух разных программ, имеющих одинаковое значение, отображались на разные адреса физической памяти.

Другие вопросы по тегам