- •Операционные системы Оглавление
- •Введение. Общие сведения.
- •1.2 История вычислительной системы
- •1.2.1 Первый период 45 – 55 гг.
- •1.2.2 Второй период 55-60 гг.
- •1.2.3 Третий период 60 – 80 гг.
- •1.2.4 Четвертый период с 80-х годов по наст. Время (персональные компьютеры, сетевые и распределенные системы).
- •1.2.5 Итоги развития вс.
- •1.3 Основные понятия и концепции ос
- •1.3.1 Системные вызовы.
- •1.3.2 Программные прерывания.
- •1.3.3 Файл.
- •1.4 Процессы и потоки. Архитектурные особенности ос.
- •1.4.1 Монолитное ядро.
- •1.4.2 Слоеные системы (Layered Systems)
- •1.4.3 Виртуальные машины.
- •1.4.4 Микроядерная архитектура.
- •1.4.5 Смешанные системы.
- •1.5 Классификация ос
- •2. Процессы и их поддержка в ос.
- •2.1 Понятие процесса.
- •2.2 Состояние процесса.
- •2.3 Операции над процессами и связанные с ними понятия
- •2.3.1 Набор операций.
- •2.3.2 Процесс Control Block и контекст процесса.
- •2.3.3 Одноразовые операции.
- •2.3.4 Многоразовые операции над процессами.
- •2.3.5 Переключение контекста.
- •3.Планирование процесса.
- •3.1. Уровни планирования
- •3.2 Критерии планирования и требовании к алгоритмам.
- •3.3 Параметры планирования
- •3.4 Вытесняющие и невытесняющие планирования
- •3.5 Алгоритмы планирования
- •3.5.1FirstComeFirstServed
- •3.5.2 Round Robin
- •3.5.3ShortestJob–First
- •3.5.4 Гарантированное планирование
- •3.5.5 Приоритетное планирование
- •3.5.6 Многоуровневые очереди (multilevelQueue)
- •3.5.7 Многоуровневые очереди
- •4. Кооперация процессов и основные аспекты в её логической реализации.
- •4.1 Взаимодействующие процессы
- •4.2 Категории средств обмена информацией
- •4.3 Логическая организация механизма передачи информации
- •4.3.1 Установление связи
- •4.3.2 Информационная валентность процессов и средств связи.
- •4.3.3 Особенности передачи информации с помощью линии связи.
- •4.3.4 Надежность средств связи
- •4.3.5 Как завершается связь?
- •4.4 Потоки исполнения
- •5. Алгоритмы синхронизации
- •5.1 Interleaving race condition
- •5.2 Критическая секция
- •5.3 Программные алгоритмы организации взаимодействия процессов
- •5.3.1 Требования, предъявляемые к алгоритму.
- •5.3.2 Запрет прерываний
- •7.8.2 Недостатки алгоритма банкира
- •8.2 Логическая память
- •8.3 Связывание адресов
- •8.4 Функции системы управления памятью
- •8.6 Страничная память
- •8.7 Сегментная и сегментно-страничная организация памяти
- •9. Виртуальная память
- •9.1 Понятие виртуальной памяти
- •9.2 Архитектурные средства поддержки виртуальной памяти
1.4.5 Смешанные системы.
Мы обозначили два подхода к организации ОС: монолитный и микроядерный. Инженер всегда стремится к оптимизации. В большинстве современных ОС используют различные комбинации этих подходов. Примером такого подхода служит ОС с монолитным ядром под управлением микроядра. Микроядро обеспечивает управление виртуальной памятью, работу низкоуровневых драйверов; все остальные функции обеспечиваются монолитным ядром, в том числе и взаимодействие с прикладными программами.
1.5 Классификация ос
1) Бывают ОС, в которых реализовано много задач (многозадачные ОС):
Однозадачные (MS DOS);
Многозадачные (UNIX-системы).
2) Поддержка многопользовательского режима:
Однопользовательские (MS DOS);
Многопользовательские (Windows, UNIX).
3) Многопроцессорная обработка (мультипроцессирование)
ОС, которые приспособлены работать с многопроцессорной архитектуры: Windows, Linux, Solaris.
4) Системы реального времени
Система реального времени предполагает обработку большого количества сигналов датчиков за нормированное время. ОС РВ накладывают определенные ограничения на архитектуру ОС: практически никогда не используется системы виртуальной памяти по причине – наличие виртуальной памяти дает непредсказуемой время реакции ОС/системы управления на внешние события.
2. Процессы и их поддержка в ос.
Процесс – динамический объект над которым ОС выполняет определенные действия.
2.1 Понятие процесса.
Программа в процессе исполнения является динамически активным объектом. При выполнении программы может меняться количество внешних устройств. Понятие процесса характеризует некую совокупность набора исполняющихся команд, ассоциированных с ними ресурсов (выделенная память, закрепленные за программой файлы и периферийные устройства) и текущего момента его исполнения (значение регистров, программного счетчика, состояния стека и значения переменных), находящегося под управлением ОС.
2.2 Состояние процесса.
Все организовано как набор процессов. В однопроцессорной системе в каждый момент времени может работать только один процессор. Для мультипрограммных систем мультипроцессная обработка достигается за счет переключения процессора с одного процесса на другой.
При рождении процесс получает адресное пространство (память), куда загружается код или часть кода задач. Выделяется стек процессу, выделяются системные ресурсы, устанавливается начальное значение программного счетчика. ОС, пользуясь алгоритмом планирования, выбирает один из очереди готовых процессов и переводил его в состояние исполнение. Покинуть состояние исполнения можно по следующим причинам:
Процесс закончил свою деятельность;
Процесс не может продолжить работу в ожидании некоторого события;
Возникновение прерывания в вычислительной системе.
2.3 Операции над процессами и связанные с ними понятия
2.3.1 Набор операций.
Процесс из состояния в состояние переводит ОС. Переход из состояния в состояние удобно объединить в пары:
Рождение процесса – завершение процесса;
Приостановка процесса (перевод из состояния исполнения в состояние готовности) – запуск процесса (перевод из состояния готовности в состояние исполнения);
Блокирование процесса (перевод из состояния исполнения в состояние ожидания) – разблокирование процесса (перевод из состояния ожидания в состояние готовности)