- •Система команд компьютера
- •Уровень систем программирования
- •Уровень прикладных систем
- •Понятие операционной среды
- •Понятие вычислительного ресурса.
- •Преимущества файловой системы fat
- •Недостатки файловой системы fat
- •Обзор файловой системы ntfs
- •Надежность
- •Дополнительные функции
- •Поддержка posix
- •Устранение ограничений
- •Преимущества файловой системы fat
- •6. Графический интерфейс Windows
- •Знакомство с графическим интерфейсом Windows
- •Использование оснастки «Управление дисками»
- •Создание раздела или логического диска
- •Форматирование базового тома
- •Удаление раздела или логического диска
- •Системы программирования
- •Система программирования включает:
- •3. Синтаксис и семантика
- •Использование синтаксиса команд
- •Использование нескольких команд и символов условной обработки
- •Обновление ос
- •Управление правами доступа
- •Файловая система Linux
- •Монтирование
- •20. Основные понятия и концепции организации ввода/вывода в ос
- •Режимы управления вводом/выводом
- •Объекты синхронизации
- •Планирование в ос Linux
- •Планирование в ос Windows
- •Прикладной уровень Представительский уровень
- •29. Аппаратные средства
- •1. Кабель
- •2. Сетевые карты
- •3. Повторители
- •4. Концентраторы
- •5. Коммутаторы
- •6. Маршрутизаторы
- •Протоколы прикладного уровня
20. Основные понятия и концепции организации ввода/вывода в ос
Ввод/вывод считается одной из самых сложных областей проектирования операционных систем, в которой сложно применить общий подход из-за изобилия частных методов.
Сложность возникает из-за огромного числа устройств ввода/вывода разнообразной природы, которые должна поддерживать ОС. При этом перед создателями ОС встает очень непростая задача — не только обеспечить эффективное управление устройствами ввода/вывода, но и создать удобный и эффективный виртуальный интерфейс устройств ввода/вывода, позволяющий прикладным программистам просто считывать или сохранять данные, не обращая внимание на специфику устройств и проблемы распределения устройств между выполняющимися задачами. Система ввода/вывода, способная объединить в одной модели широкий набор устройств, должна быть универсальной. Она должна учитывать потребности существующих устройств, от простой мыши до клавиатур, принтеров, графических дисплеев, дисковых накопителей, компакт-дисков и даже сетей. С другой стороны, необходимо обеспечить доступ к устройствам ввода/вывода для множества параллельно выполняющихся задач, причем так, чтобы они как можно меньше мешали друг другу.
Поэтому самым главным является следующий принцип: любые операции по управлению вводом/выводом объявляются привилегированными и могут выполняться только кодом самой ОС. Для обеспечения этого принципа в большинстве процессоров даже вводятся режимы пользователя и супервизора. Как правило, в режиме супервизора выполнение команд ввода/вывода разрешено, а в пользовательском режиме — запрещено. Использование команд ввода/вывода в пользовательском режиме вызывает исключение и управление через механизм прерываний передается коду ОС. Хотя возможны и более сложные системы, в которых в ряде случаев пользовательским программам разрешено непосредственное выполнение команд ввода/вывода.Одним из основных видов ресурсов являются устройства ввода/вывода и соответствующее программное обеспечение, с помощью которого осуществляется управление обменом данными между внешними устройствами и оперативной памятью. Помимо разделяемых устройств ввода/вывода (эти устройства допускают разделение посредством механизма доступа) существуют неразделяемые устройства. Примерами разделяемого устройства могут служить накопитель на магнитных дисках, устройство для чтения компакт-дисков. Это устройства с прямым доступом. Примеры неразделяемых устройств — принтер, накопитель на магнитных лентах.
Режимы управления вводом/выводом
Имеются два основных режима ввода/вывода:
режим обмена с опросом готовности устройства ввода/вывода и
режим обмена с прерываниями.
Пусть для простоты управление вводом/выводом осуществляет центральный процессор.
(В этом случае, часто говорят о наличии программного канала обмена данными между внешними устройством и оперативной памятью, в отличие от канала прямого доступа к памяти, при котором управление вводом/выводом осуществляет специальное дополнительное оборудование).
Центральный процессор посылает устройству управления команду выполнить некоторое действие устройству ввода/вывода. Последнее исполняет команду, транслируя сигналы,
Фрагменты из лекции
Детерминированность
Набор программ, работающих с общими данными, детерминирован если при псевдопараллельном его выполнении для одинаковых входных данных он будет обеспечивать одинаковые результаты
Параллельное выполнение недетерминированных программ приводит к редким, трудно обнаруживаемым и отлаживаемым ошибкам.
Критическая секция
Часть программы, в которой есть обращение к общим данным, называется критической секцией.
Условия детерминированности и работоспособности параллельных программ:
два процесса не должны одновременно находится в критических секциях;
Атомарность. Виды ожидания
Операция называется атомарной, если во время ее выполнения не может происходить переключения процессора на другой процесс (поток).
Ожидание блокировки называют:
активным, если программа в цикле проверяет выполнение условия окончания блокировки;
пассивным, если операционная система переводит процесс (поток) в состояние блокированного до окончания блокировки.
в программе не должно быть предположений о скорости или количестве процессоров;
процесс, находящийся вне критической секции, не может блокировать другие процессы;
невозможна ситуация, в которой процесс вечно ждет попадания в критическую секцию.
