- •Основы построения операционных систем
- •Введение
- •1. Основные аспекты операционных систем
- •1.1. Программные системы
- •1.2. Ресурсы вычислительных систем
- •1.3. Функции операционных систем
- •1.3.1. Упрощение доступа к компьютеру
- •1.3.2. Повышение эффективности использования ресурсов
- •1.4. Классификация операционных систем
- •2. Управление файлами
- •2.1. Файлы
- •2.1.1. Имя файла
- •2.1.2. Типы файлов
- •2.1.3. Атрибуты файла
- •2.2. Функции системы управления файлами
- •2.3. Способы организации файлов
- •2.3.1. Последовательное размещение
- •2.3.2. Размещение с помощью сцепленных блоков
- •2.3.3. Организация файлов на основе таблиц размещения
- •2.3.4. Размещение с использованием таблицы индексов
- •2.3.5. Индексно-последовательное размещение
- •2.3.6. Библиотечная структура данных
- •2.4. Методы доступа к содержимому файлов
- •2.4.1. Последовательный доступ
- •2.4.2. Прямой доступ
- •2.4.3. Другие методы доступа
- •2.5. Способы организации файловой структуры
- •2.6. Манипулирование файловой структурой
- •3. Управление памятью
- •3.1. Простое непрерывное распределение
- •3.2. Распределение с несколькими непрерывными разделами
- •3.2.1. Мультипрограммирование и разбиение на разделы
- •3.2.2. Разделы с фиксированными границами
- •3.2.3. Разделы с подвижными границами
- •3.2.4. Своппинг
- •3.3. Организация виртуальной памяти
- •3.3.1. Основные концепции виртуальной памяти
- •3.3.2. Страничная организация памяти
- •3.3.3. Сегментная организация памяти
- •3.3.4. Сегментно-страничная организация памяти
- •3.4. Управление виртуальной памятью
- •3.4.1. Алгоритмы выталкивания страниц
- •3.4.2. Подкачка страниц по запросу
- •3.4.3. Подкачка страниц с опережением
- •3.4.4. Освобождение страниц
- •3.4.5. Размер страниц
- •4. Управление процессами
- •4.1. Концепции процесса
- •4.1.1. Понятие последовательного процесса
- •4.1.2. Состояния процесса
- •4.1.3. Блок управления процессом
- •4.1.4. Планирование процессов
- •4.1.5. Обработка прерываний
- •4.2. Синхронизация параллельных процессов
- •4.2.1. Параллельная обработка
- •4.2.2. Взаимное исключение
- •4.2.3. Алгоритм Деккера
- •4.2.4. Аппаратная реализация взаимного исключения
- •4.2.5. Семафоры
- •4.2.6. Мониторы
- •4.2.7. Передача сообщений
- •4.3. Тупиковые ситуации
- •4.3.1. Условия возникновения дедлоков
- •4.3.2. Основные направления исследований по проблеме тупиков
- •4.3.3. Предотвращение тупиков
- •4.3.4. Обход дедлоков
- •4.3.5. Алгоритм банкира
- •4.3.6. Распознавание дедлоков
- •4.3.7. Восстановление после тупиков
- •5. Управление процессором
- •5.1. Диспетчеризация процессов
- •5.2. Приоритеты
- •5.3. Алгоритмы диспетчеризации с одной очередью
- •5.3.1. Алгоритм fcfs (первый пришедший обслуживается первым)
- •5.3.2. Алгоритм spn (кратчайший процесс - следующий)
- •5.3.3. Алгоритм srt (по наименьшему остающемуся времени)
- •5.3.4. Алгоритм hrrn (по наибольшему относительному времени ответа)
- •5.3.5. Алгоритм циклической диспетчеризации rr
- •5.3.6. Сравнение алгоритмов диспетчеризации с одной очередью
- •5.4. Многоуровневые очереди с обратными связями
- •6. Управление устройствами
- •6.1. Общая организация ввода-вывода
- •6.2. Методы управления периферийными устройствами
- •6.3. Действия по вводу-выводу
- •6.3.1. Буферизация : прочитать и записать
- •6.3.2. Блокирование : получить и поместить
- •6.3.3. Подготовка : открыть и закрыть
- •6.4. Управление магнитными дисками
- •6.4.1. Физическая структура магнитного диска
- •6.4.2. Физическая структура формата данных дискеты
- •6.4.3. Логическая структура магнитного диска
- •6.4.4. Планирование работы с магнитными дисками
- •Заключение
- •Список используемых источников
- •Оглавление
1.4. Классификация операционных систем
В настоящее время существует большое разнообразие ОС. Они классифицируются по следующим признакам:
1) по числу процессов, которые могут одновременно выполняться под управлением ОС;
2) по количеству пользователей, одновременно обслуживаемых системой;
3) по режиму обработки пользовательских программ;
4) по типу средств вычислительной техники, для управления ресурсами которых система предназначена.
Число пользовательских программ (процессов), одновременно обрабатываемых системой, определяет режим работы системы. Если ОС выполняет пользовательские программы строго одну после другой, т.е. в каждый момент времени в процессе обработки находится только одна программа, то говорят об одно- или монопрограммном режиме работы системы. При этом каждая программа выполняется без ее прерывания в процессе вычисления. Если же в один и тот же момент времени в процессе выполнения может находиться много программ (обрабатываться несколько запросов пользователей), то говорят о много- или мультипрограммном режиме работы системы.
По числу пользователей различают однопользовательские и многопользовательские ОС. В однопользовательском режиме вычислительная система используется только одним пользователем. В этом случае достаточно однопрограммного режима работы. Однако если и здесь желательно определенные запросы пользователя выполнять параллельно (типичный пример - печать результатов как фоновый процесс), то однопрограммного режима работы уже недостаточно даже для одного пользователя. В многопользовательском режиме несколько пользователей одновременно применяют вычислительную систему.
В соответствии с третьим признаком ОС делятся на:
- системы с пакетной обработкой, когда из программ, подлежащих выполнению, формируется пакет, который предъявляется ЭВМ;
- системы разделения времени, обеспечивающие одновременный диалоговый (интерактивный) доступ к ЭВМ нескольких пользователей через терминалы;
- системы реального времени, которые должны обеспечивать гарантированное время ответа на внешние события.
В пакетном режиме обрабатываются потоки пакетов запросов (процессов). Пользователь предварительно полностью декларирует все части своего пакета запросов - до того, как он будет введен в систему. После этого заданный пакет запросов обрабатывается вычислительной системой - без того, чтобы пользователь мог как-либо влиять на этот процесс. В этом случае пользователи непосредственно с ОС не взаимодействуют. Данный тип ОС предназначен для наиболее эффективного использования ресурсов ЭВМ, особенно процессора.
ОС разделения времени - это система, которая обеспечивает одновременное обслуживание многих пользователей (работающих «в линию» с ЭВМ - on-line-users), позволяя каждому пользователю взаимодействовать со своим процессом. В этом режиме пользователь передает ОС один запрос после другого в диалоге с системой. При обработке запросов пользователя, как правило, возникает дальнейший диалог с форме задания данных и вывода результатов. Таким образом, имеет место взаимодействие между пользователем (и вообще окружением системы) и ОС, а также пользовательской программой в запросе пользователя. Составные части запроса могут формулироваться примерно в той же форме, что и на языке программирования, т. е. путем ввода последовательности знаков, или же путем выбора из меню (например, с помощью пиктограмм). Технически ввод может производиться с помощью клавиатуры или следующих устройств:
- светового пера,
- мыши,
- контактного экрана,
- речевого ввода (ограниченно).
Вывод в диалоге осуществляется с помощью печатающих устройств, экрана или других оптических и акустических сигналов, включая синтезированную речь. В диалоге могут использоваться различные уровни работы с ОС, такие, как уровень команд, которые могут быть направлены прямо ОС, или уровень специальных применений, например систем обработки текстов, редакторов или проблемно-ориентированных диалоговых программ. С помощью специальных команд можно переходить от одного уровня к другому.
Диалоговый режим требует особых свойств интерфейса между пользователем и системой. В идеальном случае пользователь должен иметь возможность легко вести диалог, лучше всего без использования дополнительных письменных инструкций. Это требует предоставления ему дополнительной информации (объяснение системных функций и состояния системы в данный момент), а также помощи при выдаче сообщений об ошибках (диагностика ошибок и пути их устранения). Особое значение имеет простота и наглядность представления требуемой информации о текущем состоянии системы. Далее, все системные функции должны возможно больше соответствовать ожиданиям и интуиции пользователя. Это приводит в область эргономики программного оборудования, которая имеет своей целью по возможности простое и понятное оформление пользовательского интерфейса.
ОС реального времени - это система, которая обслуживает внешние процессы, развивающиеся на устройствах, работающих «в линию» с ЭВМ, имеющие жесткие ограничения на время ответа. Действиями системы управляют сигналы прерывания от внешних процессов. Если они не будут быстро обработаны (в течение микросекунд, миллисекунд или секунд в зависимости от процесса), то ход внешнего процесса может исказиться. Эти системы часто проектируются для частного применения, например для управления технологическим процессом.
По четвертому признаку ОС делятся на однопроцессорные, многопроцессорные, сетевые и распределенные.
ОС не могут, как правило, предоставить пользователям возможности, которыми не обладает ЭВМ. Они в состоянии только эффективно использовать аппаратные средства компьютера.