
Theme_1_1_2part_OEVM&S.ppt
- Количество слайдов: 14
Раздел 1. Введение в архитектуру ЭВМ. Понятие архитектуры ЭВМ и общие механизмы функционирования.
План: 1. Базовые определения. 2. Основные характеристики, области применения ЭВМ различных классов. 3. Программный принцип управления. 4. Алгоритм командного цикла для ЭВМ с архитектурой фон Неймана. 5. Конвейер команд. 6. Многоуровневая память. 7. Загрузка ОС и прикладных программ.
6. Многоуровневая память (англ. multilevel memory) — организация памяти, состоящая из нескольких уровней запоминающих устройств с различными характеристиками и рассматриваемая со стороны пользователей как единое целое. Трехуровневая организация памяти: • сверхоперативная (СОЗУ) • оперативная (ОЗУ) • внешняя (ВЗУ).
Физическая организация памяти Запоминающие устройства компьютера разделяют, как минимум, на два 1. 2. уровня: основную (главную, оперативную, физическую ), вторичную (внешнюю) память. Иерархия памяти по убыванию времени доступа, возрастанию цены и увеличению емкости Принцип локальности или локализации обращений основан на свойстве реальных программ работать с небольшим набором адресов памяти в течение ограниченного отрезка времени. Адреса в основной памяти, характеризующие реальное расположение данных в физической памяти, называются физическими адресами. Набор физических адресов, с которым работает программа, называют физическим адресным пространством.
Логическая память Сегментация – это схема управления памятью, поддерживающая взгляд пользователя на то, как хранятся программы и данные, основываясь на модульном принципе построения программ. Сегмент – область памяти определенного назначения, внутри которой поддерживается линейная адресация. Сегменты содержат: 1. процедуры, 2. массивы, 3. стек, 4. скалярные величины, 5. информацию смешанного типа. ↓ Двумерная память: где адрес состоит из: 1. номер сегмента, 2. смещение внутри сегмента.
Расположение сегментов процессов в памяти компьютера Адрес, сгенерированный программой, обычно называют логическим (в системах с виртуальной памятью он часто называется виртуальным) адресом. Совокупность всех логических адресов называется логическим (виртуальным) адресным пространством.
Связывание адресов Трансляцией (привязка) адреса или связывание адресов – это отображение процессором и ОС ссылок в коде программы на реальные физические адреса, соответствующие текущему расположению программы в основной памяти. Привязка инструкций и данных к памяти в принципе может быть сделана на следующих шагах: 1. Этап компиляции (Compile time). 2. Этап загрузки (Load time). 3. Этап выполнения (Execution time). Формирование логического адреса и связывание логического адреса с физическим
Функции системы управления памятью Для эффективного контроля использования памяти, ОС должна выполнять следующие функции: 1. отображение адресного пространства процесса на конкретные области физической памяти; 2. распределение памяти между конкурирующими процессами; 3. контроль доступа к адресным пространствам процессов; 4. выгрузка процессов (целиком или частично) во внешнюю память, когда в оперативной памяти недостаточно места; 5. учет свободной и занятой памяти.
Простейшие схемы управления памятью Простые методы управления памятью: 1. Каждый процесс пользователя полностью помещается в основную память, занимает непрерывную область памяти, а система принимает к обслуживанию дополнительные пользовательские процессы до тех пор, пока все они одновременно помещаются в основной памяти. 2. «Простой свопинг» : система размещает каждый процесс в основной памяти целиком, но иногда, на основании некоторого критерия, целиком сбрасывает образ некоторого процесса из основной памяти во внешнюю и заменяет его в основной памяти образом другого процесса. Выгруженный процесс может быть возвращен в то же самое адресное пространство или в другое. Это ограничение диктуется методом связывания. Для схемы связывания на этапе выполнения можно загрузить процесс в другое место памяти. Схема с фиксированными разделами: Недостатки: (a) – с общей очередью процессов, 1. число (b) – с отдельными очередями процессов одновременно выполняемых процессов ограничено числом разделов; 2. данная схема сильно страдает от внутренней фрагментации
Оверлейная структура Техника оверлей (overlay) или организация структуры с перекрытием предполагает держать в памяти только те инструкции программы, которые нужны в данный момент. Можно поочередно загружать в память ветви: A-B, A-C-D и A-C-E программы. Коды ветвей оверлейной структуры программы находятся на диске как абсолютные образы памяти и считываются драйвером оверлеев при необходимости. Для описания оверлейной структуры обычно используется язык overlay description language. Пример: Файл с деревом вызовов внутри программы для данной схемы (файл с расширением . odl): A-(B, C) C-(D, E)
Схема с переменными разделами Схема динамического распределения: 1. вначале вся память свободна и не разделена заранее на разделы; 2. вновь поступающей задаче выделяется строго необходимое количество памяти, не более; 3. после выгрузки процесса память временно освобождается; 4. по истечении некоторого времени память представляет собой переменное число разделов разного размера; 5. смежные свободные участки могут быть объединены. Динамика распределения памяти между процессами (серым цветом показана неиспользуемая память) Три стратегии размещения процессов в памяти: 1. Стратегия первого подходящего (First fit). 2. Стратегия наиболее подходящего (Best fit). 3. Стратегия наименее подходящего (Worst fit). Типовой цикл работы менеджера памяти: 1. анализ запроса на выделение свободного участка (раздела), 2. выбор его среди имеющихся в соответствии с одной из стратегий, 3. загрузка процесса в выбранный раздел, 4. изменения таблиц свободных и занятых областей. Одно из решений проблемы внешней фрагментации – организовать сжатие, то есть перемещение всех занятых (свободных) участков в сторону возрастания (убывания) адресов, так, чтобы вся свободная память образовала непрерывную область. Этот метод иногда называют схемой с перемещаемыми разделами.
Страничная память Логическое и физическое адресные пространства - это наборов блоков или страниц одинакового размера. ↓ Образуются логические страницы → физические страницы ( страничные кадры). Страницы имеют фиксированную длину = степени числа 2 и не могут перекрываться. Каждый кадр содержит одну страницу данных. Внешняя фрагментация отсутствует, а потери из-за внутренней фрагментации, ограничены частью последней страницы процесса. Система отображения логических адресов в физические сводится к системе отображения логических страниц в физические и представляет собой таблицу страниц, которая хранится в оперативной памяти. Логический адрес в страничной системе – это упорядоченная пара (p, d), где: p – номер страницы в виртуальной памяти, d – смещение в рамках страницы p, на которой размещается адресуемый элемент. Интерпретация логического адреса Если выполняемый процесс обращается к логическому адресу v = (p, d), механизм отображения Таблица страниц адресуется специального регистром процессора и позволяет ищет номер страницы p в таблице страниц и определить номер кадра по логическому адресу. При помощи атрибутов, записанных в строке таблицы страниц, можно определяет, что эта страница находится в организовать контроль доступа к конкретной странице и ее защиту. страничном кадре p', формируя реальный адрес из Для управления физической памятью ОС поддерживает структуру таблицы кадров. Она имеет одну запись на каждый физический кадр, показывающий его состояние. p' и d.
Сегментная и сегментно-страничная организация памяти Виртуальный адрес является двумерным и состоит из двух полей: 1. номера сегмента, 2. смещения внутри сегмента. Логическое адресное пространство – набор сегментов. Преобразование логического адреса при сегментной организации памяти Логический адрес – упорядоченная пара v = (s, d), где: s – номер сегмента, d – смещение внутри сегмента. Каждый сегмент имеет: • имя, • размер, • уровень привилегий, • разрешенные виды обращений, • флаги присутствия и т. д. Элемент таблицы сегментов содержит: • физический адрес начала сегмента, • длину сегмента.
Cегментно-страничная организация памяти При сегментно-страничной организации памяти происходит двухуровневая трансляция виртуального адреса в физический. Логический адрес состоит из трех полей: • номера сегмента логической памяти, • номера страницы внутри сегмента, смещения внутри страницы. Упрощенная схема формирования физического адреса при сегментно-страничной организации памяти Поэтому используются две таблицы отображения: • таблица сегментов, связывающая номер сегмента с таблицей страниц, • отдельная таблица страниц д ля каждого сегмента.