Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к экзамену СПО.docx
Скачиваний:
1
Добавлен:
18.01.2024
Размер:
1.11 Mб
Скачать
  1. Механизмы распределения памяти: сегментный, сегментностраничный.

Сегментный механизм распределения памяти используется в некоторых операционных системах, например, в Microsoft Windows. Он основан на разделении виртуальной памяти программы на сегменты, каждый из которых имеет свой адресное пространство.Программа может обращаться только к тем сегментам, которые ей разрешены. Это позволяет защитить программу от случайных обращений к данным других программ и операционной системы. Кроме того, сегменты могут быть разбиты на страницы, что позволяет более эффективно использовать память и ускоряет работу программы. Сегменты могут быть фиксированного или переменного размера и могут располагаться в любой части адресного пространства программы.

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

  1. Иерархия памяти компьютера. Понятие кэширования. Вероятность попадания в кэш-память. Способы отображения основной памяти на кэшпамять. Способы согласования основной и кэш- памяти при записи. Двухуровневое кэширование.

Иерархия памяти компьютера:

  1. Регистровая память (быстрая, дорогая). Она используется для хранения данных, которые часто используются процессором. Регистры могут быть встроены в сам процессор или быть частью кэш-памяти процессора. Регистровая память позволяет процессору работать с данными с максимальной скоростью, так как обращение к ней происходит намного быстрее, чем к другим видам памяти.

  2. Кэш-память (быстрая, относительно дорогая)

  3. Основная память (медленнее, дешевле)- Оперативная  используется для временного хранения данных во время работы программы. Она быстрее, чем вторичная память, но меньше по объему.

  4. Вторичная память (жесткие диски, оптические диски). Используется для хранения информации, когда она не нужна процессору.

Кэширование: сохранение часто используемых данных и инструкций в более быстрой памяти для уменьшения времени доступа к ним.

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

Способы отображения основной памяти на кэш:

– Прямое отображение: каждый блок основной памяти отображается на один блок кэш-памяти

– Частичное перекрытие: блоки основной памяти могут отображаться на несколько блоков кэш-памяти для увеличения вероятности попадания

– Индексирование: поиск данных в кэше по ключу

Согласование основной и кэш памяти при записи:

– Сквозная запись (write-through): при этом способе данные записываются как в кэш, так и в основную память. Это обеспечивает надежную запись данных, но может снижать производительность, так как требует дополнительных операций записи.

– Обратная запись (write-back): данные записываются только в кэш, а в основную память записываются позже, когда это необходимо. Это может повысить производительность, но увеличивает риск потери данных в случае сбоя системы. – Исключающая запись (write-around): данные записываются в специальную область кэша, которая не отображается на основную память. Этот способ может обеспечить высокую производительность, но не гарантирует надежность хранения данных.

– Предотвращение перезаписи (write-allocate): этот способ используется для предотвращения перезаписи данных в кэше, если они были изменены в основной памяти. Это может снизить производительность, если данные часто изменяются, но повышает надежность системы.

Двухуровневое кэширование позволяет увеличить скорость доступа к данным за счет использования кэшей разных уровней. Например, первичный кэш может храниться в регистрах процессора, а вторичный кэш - в более медленной, но более емкой кэш-памяти третьего уровня.На первом уровне кэша хранятся наиболее часто используемые данные, а на втором - менее востребованные. Когда процессору нужно получить доступ к данным, он сначала проверяет первый уровень кэша. Если данные там есть, они быстро извлекаются, и время доступа сокращается. Если же данных на первом уровне кэша нет, процессор проверяет второй уровень, который может быть медленнее, но имеет больший объем. Таким образом, двухуровневое кэширование позволяет оптимизировать использование памяти и ускорить работу системы.