Страничная виртуальная память - PullRequest
0 голосов
/ 21 апреля 2019

Я в настоящее время изучаю экзаменационные вопросы, но застрял на этом, я надеюсь, что кто-то может помочь мне понять.

Вопрос : Предположим, у нас есть постраничная виртуальная память с размером страницы 4 Кбайт. Предположим, что каждый процесс имеет четыре сегмента (например: код, данные, стек, дополнительно) и что они могут быть произвольными, но с заданным размером. Сколько будет операционная система ослаблена во внутренней фрагментации?

Ответ: : Каждый сегмент в среднем вызовет фрагментацию размером 2 Ки. В среднем это будет означать 8 Ки байтов на процесс. Если у нас, например, 100 процессов, то это полная потеря 800 Ки байтов.

Мой вопрос :

  1. Как в ответе получить 2Ki-байт фрагментации для каждого сегмента, как это возможно, мы можем рассчитать размер, я что-то здесь упускаю?
  2. Если у нас есть 8Ki байт на процесс, это не поместится даже на странице 4Ki байтов, разве это не внешняя фрагментация?

1 Ответ

0 голосов
/ 21 апреля 2019

Это академический курс, разработанный для того, чтобы запутать.

Говорят, что по вероятности последняя страница в разделах исполняемого файла будет использовать в среднем только половину размера страницы.Вы не можете сосчитать этот размер, они просто занимаются простой комбинаторикой.Это предполагает поведение компоновщика.

...