- •1.Операционные системы в архитектуре вычислительных систем
- •Эволюция операционных систем
- •Назначение, функции и структура операционных систем
- •Структурная организация ос
- •Классификация операционных систем
- •Понятие вычислительного процесса и ресурса
- •Диаграмма состояний процесса
- •Блок управления процессом и контекст процесса
- •Одноразовые операции
- •Процессы и потоки
- •Понятие и стратегии планирования
- •Вытесняющая и не вытесняющая диспетчеризация
- •Качество диспетчеризации и гарантии обслуживания
- •Прерывания. Механизм обработки прерываний
- •Файловые системы операционных систем
- •Основные понятия безопасности
- •Базовые технологии безопасности
- •Односторонние функции шифрования
- •Аутентификация, авторизация, аудит
- •Необходимость взаимной синхронизации
- •Средства синхронизации процессов и потоков.
- •V(s): переменная s увеличивается на 1 единым действием. Выборка, наращивание и запоминание не могут быть прерваны. К переменной s нет доступа другим потокам во время выполнения этой операции.
- •Проблема тупиков и борьба с ними.
- •Физическая память и виртуальное адресное пространство
- •Модели распределения памяти
- •Свопинг и виртуальная память.
- •Сегментная организация виртуальной памяти
- •Страничная организация виртуальной памяти
- •Уровни иерархии памяти и кэш-память
- •Распределение оперативной памяти в современных ос
- •Управление вводом/выводом в ос
Уровни иерархии памяти и кэш-память
Память вычислительной машины представляет собой иерархию запоминающих устройств (ЗУ), отличающихся средним временем доступа к данным, объемом и стоимостью хранения одного бита.
Фундаментом этой пирамиды запоминающих устройств служит внешняя память, как правило, представляемая жестким диском. Она имеет большой объем (десятки и сотни гигабайт), но скорость доступа к данным является невысокой. Время доступа к диску измеряется миллисекундами.
На следующем уровне располагается более быстродействующая (время доступа равно примерно 10-20 наносекундам) и менее объемная (от десятков мегабайт до нескольких гигабайт) оперативная память, реализуемая на относительно медленной динамической памяти DRAM.
Для хранения данных, к которым необходимо обеспечить быстрый доступ, используются компактные быстродействующие запоминающие устройства на основе статической памяти SRAM, объем которых составляет от нескольких десятков до нескольких сотен килобайт, а время доступа к данным обычно не превышает 8 нс.
И наконец, верхушку в этой пирамиде составляют внутренние регистры процессора, которые также могут быть использованы для промежуточного хранения данных. Общий объем регистров составляет несколько десятков байт, а время доступа определяется быстродействием процессора и равно в настоящее время примерно 2-3 нс.
Кэш-память, или просто кэш (cache), - это способ совместного функционирования двух типов запоминающих устройств, отличающихся временем доступа и стоимостью хранения данных, который за счет динамического копирования в «быстрое» ЗУ наиболее часто используемой информации из «медленного» ЗУ позволяет, с одной стороны, уменьшить среднее время доступа к данным, а с другой стороны, экономить более дорогую быстродействующую память.
Кэш-памятью, или кэшем, часто называют не только способ организации работы двух типов запоминающих устройств, но и одно из устройств - «быстрое» ЗУ.
Кэширование - это универсальный метод, пригодный для ускорения доступа к оперативной памяти, к диску и к другим видам запоминающих устройств.
Если кэширование применяется для уменьшения среднего времени доступа к оперативной памяти, то в качестве кэша используют быстродействующую статическую память. Если кэширование используется системой ввода-вывода для ускорения доступа к данным, хранящимся на диске, то в этом случае роль кэш-памяти выполняют буферы в оперативной памяти, в которых оседают наиболее активно используемые данные.
Распределение оперативной памяти в современных ос
Распределение оперативной памяти в MS-DOS
Как известно, MS-DOS – это однопрограммная ОС.Поэтому распределение памяти в ней построено по самой простой схеме «Простое непрерывное распределение и распределение с перекрытием (оверлейные структуры)».
Простое непрерывное распределение – это самая простая схема, согласно которой вся память условно может быть разделена на три части:
область, занимаемая операционной системой;
область, в которой размещается исполняемая задача;
незанятая ничем (свободная) область памяти.
Если есть необходимость создать программу, логическое (и виртуальное) адресное пространство которой должно быть больше, чем свободная область памяти, или даже больше, чем весь возможный объём оперативной памяти, то используется распределение с перекрытием (так называемые оверлейные структуры). Этот метод распределения предполагает, что вся программа может быть разбита на части – сегменты. Каждая оверлейная программа имеет одну главную часть (main) и несколько сегментов (segment), причем в памяти машины одновременно могут находиться только её главная часть и один или несколько не перекрывающихся сегментов.
Пока в оперативной памяти располагаются выполняющиеся сегменты, остальные находятся во внешней памяти.
Распределение оперативной памяти в Microsoft Windows 95/98
Для своей загрузки они используют операционную систему MS-DOS 7.0 (MSDOS 98), и в случае если в файле MSDOS.SYS в секции [Options] прописано BootGUI=0, то процессор работает в обычном реальном режиме. Распределение памяти в MS-DOS 7.0. такое же, как и в предыдущих версиях DOS. Однако при загрузке GUI-интерфейса перед загрузкой ядра Windows 95/98 процессор переключается в защищённый режим работы и начинает распределять память уже с помощью страничного механизма.
Распределение оперативной памяти в Microsoft Windows NT
В отличие от Windows 95/98 в гораздо большей степени используется ряд серьезных аппаратных средств защиты, имеющихся в микропроцессорах, а также применено принципиально другое логическое распределение адресного пространства. Во-первых, все системные программные модули находятся в своих собственных виртуальных адресных пространствах, и доступ к ним со стороны прикладных программ невозможен.
Ядро системы и несколько драйверов работают в отдельном адресном пространстве. Во-вторых, остальные программные модули самой операционной системы, которые выступают как серверные процессы по отношению к прикладным программам (клиентам), функционируют также в своем собственном системном виртуальном адресном пространстве, невидимом для прикладных процессов.
Прикладным программам выделяется 2 Гбайт локального адресного пространства от границы 64 Кбайт до 2 Гбайт (первые 64 Кбайт полностью недоступны).
Прикладные программы изолированы друг от друга, хотя могут общаться через буфер обмена (clipboard), механизмы DDE2 и OLE3. Между отметками 2 и 4 Гбайт расположены низкоуровневые системные компоненты Windows NT кольца 0, в том числе ядро, планировщик потоков и диспетчер виртуальной памяти. Системные страницы в этой области наделены, которые задаются физическими схемами кольцевой защиты процессора. В верхней части каждой 2-гигабайтной области прикладной программы размещён код системных DLL кольца 3, который выполняет перенаправление вызовов в совершенно изолированное адресное пространство, где содержится уже собственно системный код.
