Почему для трансляции адресов виртуальной памяти требуется специализированное оборудование, а не, например, декодирование пути к файлу? - PullRequest
1 голос
/ 11 января 2020

Я сейчас решаю практический экзамен для своего класса «Оперативные системы» и наткнулся на вопрос, на который я не могу найти ответ (нам не предоставлены ответы).

Вопрос в следующем: « Почему важно использовать аппаратные средства для перевода между виртуальными и физическими адресами, а аппаратные средства не нужны для перевода, например, имени файла и его расположения на диске "(извините, если что-то теряется при переводе)

Я возьму любую помощь, которую вы можете оказать!

1 Ответ

1 голос
/ 13 января 2020

Я постараюсь ответить на вопрос максимально полно, не вдаваясь в подробности.

Для декодирования пути к файлу не требуется специализированное оборудование, поскольку файлы

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

Для преобразования адресов памяти требуется специальное оборудование, поскольку

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

Итак, по сути, делает общий случай fast - широко применяемый принцип в проектировании компьютерных систем.

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

...