
- •Определение ос. Функции ос. Ос как виртуальная машина и как система управления ресурсами.
- •Монолитная архитектура. Преимущества и недостатки монолитной архитектуры. Архитектура ос. Ядро и вспомогательные модули
- •Микроядерная архитектура. Преимущества и недостатки микроядерной архитектуры
- •Понятия «процесс» и «поток». Состояния потока. Диаграмма состояний потока. Контекст и дескриптор.
- •Вытесняющие алгоритмы планирования процессов и потоков. Вытесняющие и невытесняющие алгоритмы планирования
- •Алгоритмы распределения памяти с использованием дискового пространства. Страничное распределение виртуальной памяти.
- •Физическая организация файлов
- •Классификация ос.
- •Архитектура ос. Ядро и вспомогательные модули ос. Архитектура современных ос.
- •Ядро в привилегированном режиме. Многослойная структура ядра.
- •Аппаратная зависимость и переносимость ос. Типовые средства аппаратной поддержки ос. Машинно-зависимые и машинно-независимые компоненты ос.
- •Мультипрограммирование и мультипроцессорная обработка. Понятия «процесс» и «поток». Создание, планирование и диспетчеризация потоков.
- •Вытесняющие и не вытесняющие алгоритмы планирования.
- •Мультипрограммирование на основе прерываний. Назначение и типы прерываний. Контроллер прерываний.
- •Механизм обработки прерываний в реальном и защищенном режимах процессоров Intel.
- •Синхронизация процессов и потоков. Блокирующие переменные. Системные функции Post() и Wait().
- •V(s): переменная s увеличивается на 1 единым действием. Выборка, наращивание и запоминание не могут быть прерваны. К переменной s нет доступа другим потокам во время выполнения этой операции.
- •Тупики. Условия возникновения тупиков. Задачи ос, связанные с решением проблемы тупиков.
- •Функции ос по управлению памятью. Типы адресов. Способы преобразования адресов.
- •Алгоритмы распределения памяти без использования дискового пространства.
- •Виртуальная память. Алгоритмы распределения виртуальной памяти.
- •Адресация в защищенном режиме микропроцессора Intel. Плоская модель памяти. Pae режим адресации.
- •Иерархия запоминающих устройств. Кэширование данных.
- •Задачи ос по управлению вводом/выводом. Физическая организация устройств ввода/вывода. Асинхронный и синхронный ввод/вывод.
- •Понятие о файле. Задачи ос по управлению файлами. Типы файлов. Файловые структуры. Атрибуты файлов. Логическая организация файлов.
- •Общая модель файловой системы. Архитектура переключаемых файловых систем.
- •Файловые системы fat, ntfs, ext2(3)fs.
- •Назначение и состав bios. Настройка параметров bios.
- •Integrated Peripherals — настройка параметров интегрированных периферийных устройств, которые поддерживаются южным мостом — таких, как гибкие и жесткие диски, адаптеры, порты и др.
Иерархия запоминающих устройств. Кэширование данных.
Кэширование данных
Память вычислительной машины представляет собой иерархию запоминающих устройств (ЗУ), отличающихся средним временем доступа к данным, объемом и стоимостью хранения одного бита (рис. 5.24). Фундаментом этой пирамиды запоминающих устройств служит внешняя память, как правило, представляемая жестким диском. Она имеет большой объем (десятки и сотни гигабайт), но скорость доступа к данным является невысокой. Время доступа к диску измеряется миллисекундами.
На следующем уровне располагается более быстродействующая (время доступа1 равно примерно 10-20 наносекундам) и менее объемная (от десятков мегабайт до нескольких гигабайт) оперативная память, реализуемая на относительно медленной динамической памяти DRAM.
Для хранения данных, к которым необходимо обеспечить быстрый доступ, используются компактные быстродействующие запоминающие устройства на основе статической памяти SRAM, объем которых составляет от нескольких десятков до нескольких сотен килобайт, а время доступа к данным обычно не превышает 8 нс.
1 Все перечисленные характеристики ЗУ быстро изменяются по мере совершенствования вычислительной аппаратуры. В данном случае важны не абсолютные значения времени доступа или объема памяти, а их соотношение для разных типов Запоминающих устройств.
И наконец, верхушку в этой пирамиде составляют внутренние регистры процессора, которые также могут быть использованы для промежуточного хранения данных. Общий объем регистров составляет несколько десятков байт, а время доступа определяется быстродействием процессора и равно в настоящее время примерно 2-3 нс.
Таким образом, можно констатировать печальную закономерность — чем больше объем устройства, тем менее быстродействующим оно является. Более того, стоимость хранения данных в расчете на один бит также увеличивается с ростом быстродействия устройств. Однако пользователю хотелось бы иметь и недорогую, и быструю память. Кэш-память представляет некоторое компромиссное решение этой проблемы.
Задачи ос по управлению вводом/выводом. Физическая организация устройств ввода/вывода. Асинхронный и синхронный ввод/вывод.
Подсистема ввода-вывода (Input-Output Subsystem) мультипрограммной ОС при обмене данными с внешними устройствами компьютера должна решать ряд общих задач, из которых наиболее важными являются следующие:
организация параллельной работы устройств ввода-вывода и процессора;
согласование скоростей обмена и кэширование данных;
разделение устройств и данных между процессами;
обеспечение удобного логического интерфейса между устройствами и остальной частью системы;
поддержка широкого спектра драйверов с возможностью простого включения в систему нового драйвера;
динамическая загрузка и выгрузка драйверов;
поддержка нескольких файловых систем;
поддержка синхронных и асинхронных операций ввода-вывода.
Физическая организация устройств ввода-вывода
Устройства ввода-вывода делятся на два типа: блок-ориентированные устройства и байт-ориентированные устройства. Блок-ориентированные устройства хранят информацию в блоках фиксированного размера, каждый из которых имеет свой собственный адрес. Самое распространенное блок-ориентированное устройство - диск. Байт-ориентированные устройства не адресуемы и не позволяют производить операцию поиска, они генерируют или потребляют последовательность байтов. Примерами являются терминалы, строчные принтеры, сетевые адаптеры. Однако некоторые внешние устройства не относятся ни к одному классу, например, часы, которые, с одной стороны, не адресуемы, а с другой стороны, не порождают потока байтов. Это устройство только выдает сигнал прерывания в некоторые моменты времени.
Внешнее устройство обычно состоит из механического и электронного компонента. Электронный компонент называется контроллером устройства или адаптером. Механический компонент представляет собственно устройство. Некоторые контроллеры могут управлять несколькими устройствами. Если интерфейс между контроллером и устройством стандартизован, то независимые производители могут выпускать совместимые как контроллеры, так и устройства.
Операционная система обычно имеет дело не с устройством, а с контроллером. Контроллер, как правило, выполняет простые функции, например, преобразует поток бит в блоки, состоящие из байт, и осуществляют контроль и исправление ошибок. Каждый контроллер имеет несколько регистров, которые используются для взаимодействия с центральным процессором. В некоторых компьютерах эти регистры являются частью физического адресного пространства. В таких компьютерах нет специальных операций ввода-вывода. В других компьютерах адреса регистров ввода-вывода, называемых часто портами, образуют собственное адресное пространство за счет введения специальных операций ввода-вывода (например, команд IN и OUT в процессорах i86).
ОС выполняет ввод-вывод, записывая команды в регистры контроллера. Например, контроллер гибкого диска IBM PC принимает 15 команд, таких как READ, WRITE, SEEK, FORMAT и т.д. Когда команда принята, процессор оставляет контроллер и занимается другой работой. При завершении команды контроллер организует прерывание для того, чтобы передать управление процессором операционной системе, которая должна проверить результаты операции. Процессор получает результаты и статус устройства, читая информацию из регистров контроллера.
Имеется два типа синхронизации ввода - вывода (I/O) файлов: синхронный ввод - вывод (I/O) файла и асинхронный ввод - вывод (I/O) файла. Асинхронный ввод - вывод (I/O) файла также называется как перекрывающий ввод - вывод.
При синхронном вводе - выводе (synchronous file I/O) файла поток запускает операцию ввода/вывода (I/O) и немедленно вводит ждущееся состояние до тех пор, пока, запрос ввода-вывода не завершит работу. Поток, выполняющий асинхронный ввод - вывод (asynchronous file I/O) файла, отправляет запрос на ввод-вывод данных ядру. Если запрос принят ядром, поток продолжает обрабатывать другое задание до тех пор, пока ядро не подаст сигналы потоку, что операция ввода/вывода (I/O) полностью завершилась. Тогда поток прерывает работу со своим текущим заданием и обрабатывает данные от операции ввода/вывода (I/O) по мере необходимости.