Родительский процесс и его дочернее адресное пространство
Когда я читаю книгу Operating system design and implementation
в главе 2 Process creation
вот что он упоминает:
Начальное адресное пространство дочернего элемента является копией родительского адресного пространства, но задействованы два различных адреса.
Это немного расплывчато для меня. Кажется, это говорит мне, что у них одинаковое адресное пространство, но я считаю, что это не так.
Кто-нибудь может объяснить детали этого?
1 ответ
Адресное пространство - это диапазон адресов (значений), которые видны программе. Например, адресное пространство программы может быть от 0x00000000 до 0xFFFFFFFF. Дочерний и родительский объекты имеют одинаковое адресное пространство, но, например, адрес 0x00D543A7 - это другой адрес в родительском и другой адрес в дочернем. ОС (и в некоторой степени процессор) заботится о преобразовании адресов, чтобы два логических адреса из двух разных программ, имеющих одинаковое значение, отображались на разные адреса физической памяти.