Архитектура ЭВМ Лекция 10: Устройство жесткого диска. Виртуальная память.
Виртуальная память и Жесткий диск
Обзор раздела: В этом разделе рассматривается структура жесткого диска, его влияние на механизм виртуальной памяти и основные концепции виртуальной памяти.
Структура жесткого диска
- Жесткий диск: обзор структуры и принципов работы.
- Кэш-память на жестком диске: сравнение с оперативной памятью.
- Процент промахов и время доступа к жесткому диску.
Механизм виртуальной памяти
- Определение виртуальной памяти и ее цель.
- Расширение адресного пространства через механизм виртуальной памяти.
- Распределение памяти между RAM и диском через виртуальную память.
История жестких дисков
Обзор раздела: Рассмотрение генезиса жестких дисков, классификации (HDD vs. SSD), физической структуры и технологии записи информации.
Генезис и классификация
- Эволюция жестких дисков: от появления до современности.
- HDD vs. SSD: различия, особенности, сравнительный анализ.
Физическая структура
- Устройство HDD: описание шпинделя, магнитных дисков.
- Ферромагнитный материал для записи информации на поверхность диска.
Технология записи данных
- Принцип физической записи на жесткий диск через ферромагнитный материал.
Обзор технологии жестких дисков
Обзор раздела: В данном разделе рассматривается устройство и принцип работы жестких дисков, а также основные концепции адресации данных.
Технология вращающихся шпинделей
- Жесткий диск содержит несколько вращающихся блинов, каждый из которых имеет свой шпиндель.
- Рядом со шпинделем находится механическая система с читающими и пишущими головками для доступа к данным на поверхности диска.
Адресация данных
- Актуатор с головками может двигаться по траектории для доступа к различным областям на поверхности диска.
- Система адресации данных использует цилиндры, головки и секторы для организации информации на диске.
Особенности чтения и записи данных
Обзор раздела: Здесь рассматривается процесс адресации данных на жестком диске и его влияние на скорость доступа к информации.
- Данные организуются в цилиндры, что позволяет эффективно адресовать информацию на поверхности диска.
- Выбранный цилиндр с определенной головкой формирует кластер или блок данных для чтения или записи.
Проблемы традиционных жестких дисков
Обзор раздела: Обсуждаются ограничения традиционных жестких дисков и неудобства при работе с ними.
- Чтение данных блоками является затратным процессом из-за постоянного вращения шпинделя.
- Необходимость поддержки BIOS различных геометрических конфигураций создает неудобства при установке новых жестких дисков.
Современные технологии хранения данных
Обзор раздела: Рассмотрены новые технологии хранения данных, направленные на улучшение производительности и удобства использования.
- SSD (Solid State Drive) представляет собой флешку, основанную на постоянной памяти без механических элементов.
Обзор дисковой интерфейса и виртуальной памяти
Раздел Обзор: В этом разделе рассматривается дисковая интерфейса и важность виртуальной памяти.
Дисковая интерфейса
- Дисковый интерфейс обеспечивает прямое подключение к данным без блочной обработки операционной системой.
- Виртуальная память представляет собой возможность хранения части оперативной памяти на диске, определяемую блочным доступом.
Терминология виртуальной памяти
- Кэш-лин (cache line) соответствует размеру страницы виртуальной памяти и адресному пространству.
- Длина строки или кэш-лина определяет размер страницы, например, 4 килобайта для 32-разрядных систем.
Логическое и физическое адресное пространство
Раздел Обзор: Здесь рассматривается модель логического и физического адресного пространства.
Логическое адресное пространство
- Логические адреса отображаются на страницы виртуальной памяти, что помогает процессу работать с данными независимо от физического расположения.
Физическое адресное пространство
- Физическая память представлена микросхемами, формирующими объем физической адресации без дырок или разрывов.
Трансляция адресов и работа с виртуальной памятью
Раздел Обзор: Рассмотрены механизмы трансляции адресов и работа с виртуальной памятью.
Трансляция адресов
- Механизм трансляции переводит линейные или виртуальные адреса программы на физические для работы с данными.
Работа с виртульаной памятью
Обзор темы виртуальной памяти
Обзор раздела: В данном разделе рассматривается механизм виртуальной памяти и процесс трансляции адресов из виртуального пространства в физическое.
Подход к работе с памятью
- Виртуальная страница отображается на физическую страницу, что обеспечивает гибкость использования памяти.
- Система трансляции связывает указатель приложения с физическим адресом, обеспечивая доступ к данным.
- Механизм трансляции может перенаправить адрес на другую физическую страницу с сохраненными данными.
Организация адресного пространства
- Адресное пространство определяется размером страницы, например, 7 или 16 бит.
- Для построения механизма виртуальной памяти используются логическое и физическое адресное пространство.
Механизм работы с диском и файлами подкачки
Обзор раздела: Рассмотрены особенности работы с файлами подкачки и необходимость соответствия структуры файла структуре оперативной памяти.
Файлы подкачки и дисковая память
- Файл подкачки должен иметь одинаковую структуру адресации как у оперативной памяти для эффективного обращения.
- Непрерывность блоков данных в файле подкачки обеспечивает быстрый доступ к данным без фрагментации.
Схема трансляции адресов и работа с номерами страниц
Обзор раздела: Объяснено функционирование схемы трансляции для связывания виртуальных и физических адресов при работе с оперативной памятью.
Трансляция номеров страниц
- VPN (Virtual Page Number) представляет номер виртуальной страницы, а PPN (Physical Page Number) - номер физической страницы.
Обзор архитектуры x86
Обзор раздела: В этом разделе рассматривается структура интеловской архитектуры x86 и ее компоненты.
Интеловская архитектура x86
- В интеловской архитектуре x86 существует линейное адресное пространство, где каждая переменная имеет свой адрес. Этот адрес состоит из трех полей: офсет (смещение внутри страницы), номер страницы в таблице страниц и номер таблицы страниц.
- Офсет представляет собой смещение на странице, следующее поле - номер страницы в таблице, и самое сложное - номер таблицы страниц. Эти поля определяют физическое расположение данных.
- Для обеспечения трансляции адресов используется таблица, которая делится на куски для уменьшения объема хранения в оперативной памяти. Также может использоваться дополнительный уровень трансляции через таблицу каталогов страниц.
Система трансляции адресов
- Таблица каталогов страниц содержит пары VPN (Virtual Page Number) и PPN (Physical Page Number), что позволяет определить физическое расположение данных на жестком диске.
- VPN и PPN являются основой для отображения между линейными и физическими адресами. При большом количестве страниц необходимо эффективно управлять таблицами для минимизации занимаемого места в памяти.
Организация таблиц в системе трансляции
Обзор раздела: Рассмотрим структуру и организацию таблиц в системе трансляции адресов.
Организация таблиц
- Для уменьшения объема хранимых данных используется разбиение общей таблицы на более мелкие части. Каждая часть содержит информацию о соответствии линейных и физических адресов.
- Таблица каталогов страниц ссылается на глобальную таблицу страниц, которая содержит информацию о номерах страниц. Это создает иерархию доступа к данным по линейным адресам.
Процесс обращения по линейным адресам
Обзор раздела: Разберем процесс обращения к данным по линейным адресам через систему трансляции.
Обращение по линейным адресам
- Для доступа к данным достаточно использовать регистр CR3, который содержит физический адрес нужной таблицы. Последующие шаги позволяют определить конкретный физический адрес данных.
Процессор и защищенный режим
Обзор раздела: В этом разделе обсуждается процесс перехода процессора в начальное состояние при подаче питания или нажатии кнопки reset, а также вводится понятие защищенного режима.
Переход в начальное состояние
- При подаче питания или нажатии кнопки reset процессор переходит в начальное состояние, определенное архитектурой.
- Регистры, такие как IP (Instruction Pointer) и CR3, заполняются определенными значениями после сброса.
Защищенный режим
- Начальный загрузчик BIOS загружает код с диска в память и передает управление для начала исполнения.
- Защищенный режим процессора, например Intel, предполагает разделение операций на привилегированные и непривилегированные.
Привилегии и управление памятью
Обзор раздела: В данном разделе освещается концепция привилегий и управления памятью в контексте защищенного режима процессора.
Привилегии операций
- Операции делятся на привилегированные и непривилегированные; доступ к памяти контролируется через флажки доступа.
- Каждая инструкция содержит уровень привилегий (DPL), что определяет возможность выполнения операции.
Управление памятью
- Процессы с высоким уровнем привилегий могут изменять глобальные регистры, вызывая ошибки доступа при нарушении прав доступа.
TLB: Translation Lookaside Buffer
Обзор раздела: Обсуждение TLB как механизма кэширования трансляций адресов для повышения эффективности работы с памятью.
Работа TLB
- TLB - полностью ассоциативный кэш для хранения транслируемых адресов страниц; помогает ускорить работу с данными из оперативной памяти.
- TLB содержит пары virtual адресов и соответствующих им physical адресов страниц для быстрой трансляции.
Эффективность работы
Обзор лекции по архитектуре процессоров
Обзор раздела: В данном разделе преподаватель рассматривает особенности адресации памяти и устройство физической памяти.
Распределение пространства адреса
- Преподаватель обсуждает отличия в реализации адресации памяти, где вместо тега номера страницы используется другой подход.
- Показывает сложность мира адресации памяти и необходимость понимания трансляции между различными уровнями.
Устройство физической памяти
- Объясняет организацию физических страниц и их адресацию, подчеркивая сложность этого процесса.
- Рассматривает работу битового локатора для эффективного управления фрагментацией памяти.
Система свопинга
- Обсуждается система свопинга, где выделенная приложением память должна быть распределена в физической памяти.
- Преподаватель объясняет процесс выборочного сброса страниц на диск при нехватке оперативной памяти.
Очистка памяти
- Рассматривается работа сборщика мусора в системе, который освобождает ненужные ресурсы для повышения эффективности работы приложений.
Виртуальная память и управление процессами
Обзор раздела: В этом разделе рассматривается виртуальная память и управление процессами в операционной системе.
Выделение памяти
- Операционная система выделяет адресное пространство для запрашиваемой памяти, но не предоставляет физических страниц.
Over-commit
- Приложения могут "over-commit" память, думая, что доступно больше памяти, чем есть на самом деле.
Управление памятью
- Процессы могут быть приостановлены до появления свободной памяти; система начинает использовать подкачку при нехватке памяти.
Структура виртуальной памяти
Обзор раздела: Разбирается структура виртуальной памяти и её организация в защищенном режиме.
Регистры и таблицы дескрипторов
- Существуют специальные регистры (например, cr1, cr2), которые управляют работой сегментов и определяют режим работы процессора.
Глобальная таблица дескрипторов
- Процессы описываются через дескрипторы, указывающие на размеры сегментов и правила доступа к ним.
Управление задачами и прерываниями
Обзор раздела: Обсуждается переключение задач, обработка прерываний и таблицы обработчиков прерываний.
Task Register
- Task Register указывает на TSS (Task State Segment), содержащий информацию о текущем процессе.
Прерывания