Пояснение к блоку управления процессом и команде exe c - PullRequest
0 голосов
/ 12 июля 2020

Примечания к операционной системе из моего университета гласят:

PCB создается, когда процесс рождается через fork, и восстанавливается, когда процесс завершается. В то время как системные вызовы, такие как exe c, перезаписывают образ памяти процесса, плата (и объекты, на которые она указывает, например, стек ядра) в основном остаются нетронутыми во время выполнения exe c или любого другого системного вызова, за исключением небольших модификаций. (например, изменение таблиц страниц так, чтобы они указывали на новый образ памяти).

Но во время системного вызова fork образ памяти из родительской памяти стирается, и новый образ памяти инициализируется дочерним процессом. Следовательно, печатная плата, расположенная в стеке ядра образа памяти, также стирается, и, следовательно, в процессе переписывается совершенно новая печатная плата, насколько я понимаю.

Какую концепцию я понял неправильно?

1 Ответ

1 голос
/ 12 июля 2020

Блок управления процессом находится в пространстве ядра в оперативной памяти. В пространстве ядра также есть таблица подкачки. Когда вызывается системная команда exe c, образ памяти процесса стирается и новый образ памяти записывается для процесса, не затрагивая блок управления процессом в пространстве ядра для этого процесса, но таблица подкачки, которая отображает логические адрес и виртуальный адрес процессов должны быть изменены, так как образ памяти изменен. Следовательно, насколько мне известно, печатная плата не перезаписывается.

...