- •Тема 1. Понятие операционной системы (ос) Лекция №1. История развития операционных систем Операционные системы в архитектуре вычислительных систем
- •Эволюция операционных систем
- •Лекция №2. Назначение, функции и структура операционных систем
- •Структурная организация ос
- •Классификация операционных систем
- •Тема 2. Управление задачами в ос Лекция №3. Понятие вычислительного процесса и ресурса
- •Диаграмма состояний процесса
- •Блок управления процессом и контекст процесса
- •Лекция №4. Операции над процессами Одноразовые операции
- •Многоразовые операции
- •Переключение контекста
- •Процессы и потоки
- •Лекция №5. Планирование процессов и диспетчеризация задач Понятие и стратегии планирования
- •Вытесняющая и не вытесняющая диспетчеризация
- •Дисциплины диспетчеризации
- •Качество диспетчеризации и гарантии обслуживания
- •Лекция №6. Взаимодействие процессов
- •Организация обмена информацией между процессами
- •Лекция №7. Синхронизация процессов и потоков Необходимость взаимной синхронизации
- •Средства синхронизации процессов и потоков
- •Лекция №8. Проблема тупиков и борьба с ними
- •Тема 3. Управление памятью в ос Лекция №9. Физическая память и виртуальное адресное пространство
- •Модели распределения памяти
- •Лекция №10. Свопинг и виртуальная память
- •Сегментная организация виртуальной памяти
- •Страничная организация виртуальной памяти
- •Оптимизация функционирования страничной виртуальной памяти
- •Сегментно-страничная организация виртуальной памяти
- •Разделяемая память
- •Лекция №11. Уровни иерархии памяти и кэш-память
- •Схемы кэширования и согласования данных
- •Лекция №12. Распределение оперативной памяти в современных ос
- •Тема 4. Организация ввода/вывода в ос Лекция №13. Управление вводом/выводом в ос
- •Устройства ввода-вывода
- •Подсистема ввода-вывода
- •Согласование скоростей обмена и кэширования данных
- •Разделение устройств и данных между процессами
- •Поддержка синхронных и асинхронных операций ввода-вывода
- •Многослойная (иерархическая) модель подсистемы ввода-вывода
- •Назначение и функции драйверов
- •Лекция №14. Файловые системы операционных систем
- •Архитектура файловой системы
- •Организация файлов и доступ к ним
- •Логическая организация файла
- •Каталоговые системы
- •Физическая организация файловой системы
- •Физическая организация и адресация файла
- •Файловая система fat
- •Файловая система ntfs
- •Основные отличия fat и ntfs
- •Тема 5. Распределенные операционные системы Лекция №15. Модели сетевых служб и распределенных приложений
- •Способ разделения приложений на части
- •Лекция №16. Механизмы передачи сообщений в распределенных ос
- •Механизм сокетов
- •Вызов удаленных процедур
- •Тема 6. Безопасность в ос Лекция №17. Основные понятия безопасности
- •Классификация угроз
- •Системный подход к обеспечению безопасности
- •Политика безопасности
- •Лекция №18. Базовые технологии безопасности
- •Односторонние функции шифрования
- •Аутентификация, авторизация, аудит
- •Технология защищенного канала
- •Технологии аутентификации
Лекция №11. Уровни иерархии памяти и кэш-память
Память вычислительной машины представляет собой иерархию запоминающих устройств (ЗУ), отличающихся средним временем доступа к данным, объемом и стоимостью хранения одного бита (рис. 36). Фундаментом этой пирамиды запоминающих устройств служит внешняя память, как правило, представляемая жестким диском. Она имеет большой объем (десятки и сотни гигабайт), но скорость доступа к данным является невысокой. Время доступа к диску измеряется миллисекундами.
На следующем уровне располагается более быстродействующая (время доступа равно примерно 10-20 наносекундам) и менее объемная (от десятков мегабайт до нескольких гигабайт) оперативная память, реализуемая на относительно медленной динамической памяти DRAM.
Для хранения данных, к которым необходимо обеспечить быстрый доступ, используются компактные быстродействующие запоминающие устройства на основе статической памяти SRAM, объем которых составляет от нескольких десятков до нескольких сотен килобайт, а время доступа к данным обычно не превышает 8 нс.
И наконец, верхушку в этой пирамиде составляют внутренние регистры процессора, которые также могут быть использованы для промежуточного хранения данных. Общий объем регистров составляет несколько десятков байт, а время доступа определяется быстродействием процессора и равно в настоящее время примерно 2-3 нс.
Рис. 36. Иерархия запоминающих устройств
Таким образом, можно констатировать печальную закономерность - чем больше объем устройства, тем менее быстродействующим оно является. Более того, стоимость хранения данных в расчете на один бит также увеличивается с ростом быстродействия устройств. Однако пользователю хотелось бы иметь и недорогую, и быструю память. Кэш-память представляет некоторое компромиссное решение этой проблемы.
Кэш-память, или просто кэш (cache), - это способ совместного функционирования двух типов запоминающих устройств, отличающихся временем доступа и стоимостью хранения данных, который за счет динамического копирования в «быстрое» ЗУ наиболее часто используемой информации из «медленного» ЗУ позволяет, с одной стороны, уменьшить среднее время доступа к данным, а с другой стороны, экономить более дорогую быстродействующую память.
Неотъемлемым свойством кэш-памяти является ее прозрачность для программ и пользователей. Система не требует никакой внешней информации об интенсивности использования данных; ни пользователи, ни программы не принимают никакого участия в перемещении данных из ЗУ одного типа в ЗУ другого типа, все это делается автоматически системными средствами.
Кэш-памятью, или кэшем, часто называют не только способ организации работы двух типов запоминающих устройств, но и одно из устройств - «быстрое» ЗУ.
Оно стоит дороже и, как правило, имеет сравнительно небольшой объем. «Медленное» ЗУ далее будем называть основной памятью, противопоставляя ее вспомогательной кэш-памяти.
Кэширование - это универсальный метод, пригодный для ускорения доступа к оперативной памяти, к диску и к другим видам запоминающих устройств. Если кэширование применяется для уменьшения среднего времени доступа к оперативной памяти, то в качестве кэша используют быстродействующую статическую память. Если кэширование используется системой ввода-вывода для ускорения доступа к данным, хранящимся на диске, то в этом случае роль кэш-памяти выполняют буферы в оперативной памяти, в которых оседают наиболее активно используемые данные. Виртуальную память также можно считать одним из вариантов реализации принципа кэширования данных, при котором оперативная память выступает в роли кэша по отношению к внешней памяти — жесткому диску. Правда, в этом случае кэширование используется не для того, чтобы уменьшить время доступа к данным, а для того, чтобы заставить диск частично подменить оперативную память за счет перемещения временно неиспользуемого кода и данных на диск с целью освобождения места для активных процессов. В результате наиболее интенсивно используемые данные «оседают» в оперативной памяти, остальная же информация хранится в более объемной и менее дорогостоящей внешней памяти.
