- •Определение ос. Назначение и функции операционной системы
- •Место ос в структуре вычислительной системы
- •Понятие ресурса. Управление ресурсами в вычислительной системе
- •Критерии эффективности и классы ос
- •Эволюция ос
- •Современный этап развития ос
- •Функциональные компоненты ос персонального компьютера
- •Требования, предъявляемые к современным ос
- •Классификации ос.
- •Архитектура ос. Ядро и вспомогательные модули
- •Классическая архитектура ос. Монолитные и многослойные ос
- •Микроядерная архитектура ос
- •Многослойная модель ядра ос
- •Функции ос по управлению процессами
- •Процессы и потоки
- •Состояния потока
- •Планирование и диспетчеризация потоков, моменты перепланировки
- •Алгоритм планирования, основанный на квантовании
- •Приоритетное планирование
- •Алгоритмы планирования ос пакетной обработки: «первым пришел – первым обслужен», «кратчайшая задача – первая», «наименьшее оставшееся время выполнения»
- •Алгоритмы планирования в интерактивных ос: циклическое, приоритетное, гарантированное, лотерейное, справедливое планирование
- •Алгоритм планирования Windows nt
- •Планирование в ос реального времени
- •Синхронизация процессов и потоков: цели и средства синхронизации
- •Ситуация состязаний (гонки). Способы предотвращения.
- •Способы реализации взаимных исключений: блокирующие переменные, критические секции, семафоры Дейкстры Блокирующие переменные
- •Критические секции
- •Семафоры
- •Взаимные блокировки. Условия, необходимые для возникновения тупика
- •Обнаружение взаимоблокировки при наличии одного ресурса каждого типа
- •Обнаружение взаимоблокировок при наличии нескольких ресурсов каждого типа
- •Предотвращение взаимоблокировки. Алгоритм банкира для одного вида ресурсов
- •Предотвращение взаимоблокировки. Алгоритм банкира для нескольких видов ресурсов
- •Синхронизирующие объекты ос: системные семафоры, мьютексы, события, сигналы, ждущие таймеры, мониторы
- •Мьютексы
- •Системные семафоры
- •События
- •Ждущие таймеры
- •Мониторы Хоара
- •Организация обмена данными между процессами (каналы, разделяемая память, почтовые ящики, сокеты)
- •Прерывания (понятие, классификация, обработка прерываний).
- •Средства вызова процедур.
- •Механизм вызова при переключении между задачами.
- •Обработка аппаратных прерываний.
- •Функции ос по управлению памятью
- •Виртуальная память
- •Алгоритмы распределения памяти без использования внешних носителей (фиксированные, динамические, перемещаемые разделы)
- •Страничное распределение памяти
- •Алгоритмы замещения страниц.
- •Оптимальный (нереализуемый)
- •Исключение недавно использованных страниц
- •Алгоритм «первый пришёл, первый ушёл» (fifo)
- •«Второй шанс»
- •Алгоритм нечастого использования
- •«Рабочий набор»
- •Сегментное распределение памяти.
- •Сегментно-страничное распределение памяти.
- •Средства поддержки сегментации памяти в мп Intel Pentium.
- •Сегментный режим распределения памяти в мп Intel Pentium.
- •Сегментно-страничный режим распределения памяти в мп Intel Pentium.
- •Средства защиты памяти в мп Intel Pentium.
- •Случайное отображение основной памяти на кэш.
- •Детерминированное отображение основной памяти на кэш.
- •Комбинированный способ отображения основной памяти на кэш.
- •Кэширование в мп Intel Pentium. Буфер ассоциативной трансляции Кэширование в процессоре Pentium
- •Буфер ассоциативной трансляции
- •Кэширование в мп Intel Pentium. Кэш первого уровня Кэширование в процессоре Pentium
- •Кэш первого уровня
- •Задачи ос по управлению файлами и устройствами
- •Организация параллельной работы устройств ввода-вывода и процессора
- •Разделение устройств и данных между процессами
- •Обеспечение удобного логического интерфейса между устройствами и остальной частью системы
- •Поддержка широкого спектра драйверов и простота включения нового драйвера в систему
- •Динамическая загрузка и выгрузка драйверов
- •Поддержка нескольких файловых систем
- •Поддержка синхронных и асинхронных операций ввода-вывода
- •Многослойная модель подсистемы ввода-вывода Общая схема
- •Менеджер ввода-вывода
- •Физическая организация жесткого диска Диски, разделы, секторы, кластеры
- •Файловая система. Определение, состав, типы файлов. Логическая организация файловой системы Цели и задачи файловой системы
- •Типы файлов
- •Иерархическая структура файловой системы
- •Физическая организация и адресация файлов
- •Fat. Структура тома. Формат записи каталога. Fat12, fat16, fat32
- •Ufs : структура тома, адресация файлов, каталоги, индексные дескрипторы
- •Ntfs: структура тома
- •Структура тома ntfs
- •Ntfs: типы файлов, организация каталогов. Структура файлов ntfs
- •Каталоги ntfs
- •Файловые операции. Процедура открытия файла. Открытие файла
- •Организация контроля доступа к файлам. Доступ к файлам как частный случай доступа к разделяемым ресурсам
- •Механизм контроля доступа
- •Контроль доступа к файлам на примере Unix.
- •Отказоустойчивость файловых систем.
- •Восстанавливаемость файловых систем
- •Протоколирование транзакций
- •Процедура самовосстановления ntfs.
- •Избыточные дисковые подсистемы raid
- •Многоуровневые драйверы
- •Дисковый кэш
- •Параметры, свойства и показатели эффективности ос.
- •Основные и частные показатели эффективности ос.
- •Мониторинг производительности ос.
- •Настройка и оптимизация ос.
Комбинированный способ отображения основной памяти на кэш.
Во многих современных процессорах кэш-память строится на основе сочетания этих двух подходов, что позволяет найти компромисс между сравнительно низкой стоимостью кэша с прямым отображением и интеллектуальностью алгоритмов замещения в кэше со случайным отображением. При смешанном подходе произвольный адрес оперативной памяти отображается не на один адрес кэш-памяти (что характерно для прямого отображения) и не на любой адрес кэш-памяти (как это делается при случайном отображении), а на некоторую группу адресов. Все группы пронумерованы. Поиск в кэше осуществляется вначале по номеру группы, полученному из адреса оперативной памяти из запроса, а затем в пределах группы путем ассоциативного просмотра всех записей в группе на предмет совпадения старших частей адресов оперативной памяти.
При промахе данные копируются по любому свободному адресу из однозначно заданной группы. Если свободных адресов в группе нет, то выполняется вытеснение данных. Поскольку кандидатов на выгрузку несколько — все записи из данной группы — алгоритм замещения может учесть интенсивность обращений к данным и тем самым повысить вероятность попаданий в будущем. Таким образом, в данном способе комбинируется прямое отображение на группу и случайное отображение в пределах группы.
Рисунок 26. Комбинирования прямого и случайного отображения
Кэширование в мп Intel Pentium. Буфер ассоциативной трансляции Кэширование в процессоре Pentium
В процессоре Pentium кэширование используется в следующих случаях.
Кэширование дескрипторов сегментов в скрытых регистрах. Для каждого сегментного регистра в процессоре имеется так называемый скрытый регистр дескриптора. В скрытый регистр при загрузке сегментного регистра помещается информация из дескриптора, на который указывает данный сегментный регистр. Информация из дескриптора сегмента используется для преобразования виртуального адреса в физический при чисто сегментной организации памяти либо для получения линейного виртуального адреса при страничном механизме. Доступ к скрытому регистру выполняется быстрее, чем поиск и извлечение информации из таблицы страниц, находящейся в оперативной памяти. Тем самым скрытые регистры играют роль кэша таблицы дескрипторов и ускоряют работу процессора.
Кэширование пар номеров виртуальных и физических страниц в буфере ассоциативной трансляции TLB (Translation Lookaside Buffer) позволяет ускорять преобразование виртуальных адресов в физические при сегментно-страничной организации памяти. TLB представляет собой ассоциативную память небольшого объема, предназначенную для хранения интенсивно используемых дескрипторов страниц. В процессоре Pentium имеются отдельные TLB для инструкций и данных.
Кэширование данных и инструкций в кэш-памяти первого уровня. Эта память, называемая также внутренней кэш-памятью, поскольку она размещена непосредственно на кристалле микропроцессора, имеет объем 16/32 Кбайт.
Кэширование данных и инструкций в кэш-памяти второго уровня. Эта память называется также внешней кэш-памятью, поскольку она устанавливается в виде отдельной микросхемы на системной плате. Кэш-память второго уровня является общей для данных и инструкций и имеет объем 256/512 Кбайт. Поиск в кэше второго уровня выполняется в случае, когда констатируется промах в кэше первого уровня.