
- •1.Лекция 1.Операционная система. Введение
- •1.1.Структура вычислительной системы
- •1.2.Что такое операционная система
- •1.2.1. Операционная система как виртуальная машина.
- •1.2.2.Операционная система как менеджер ресурсов
- •1.2.3.Операционная система как защитник пользователей и программ
- •1.2.4.Операционная система как постоянно функционирующее ядро
- •1.3.История эволюции вычислительных систем
- •1.3.1.Первый период (1945–1955 гг.). Ламповые машины. Операционных систем нет
- •1.3.2.Второй период (1955 г.–начало 60-х). Компьютеры на основе транзисторов. Пакетные операционные системы
- •1.3.3.Третий период (начало 60-х – 1980 г.). Компьютеры на основе интегральных микросхем. Первые многозадачные ос
- •1.3.4.Четвертый период (с 1980 г. По настоящее время). Персональные компьютеры. Классические, сетевые и распределенные системы
- •1.4. Функции операционной системы.
- •1.5.Основные понятия, концепции ос
- •1.5.1.Системные вызовы
- •1.5.2.Прерывания
- •1.5.3.Исключительные ситуации
- •1.5.4.Файлы
- •1.6.Архитектурные особенности ос
- •1.6.1.Монолитное ядро
- •1.6.2.Многоуровневые или слоеные системы (Layered systems)
- •1.6.3.Виртуальные машины
- •1.6.4.Микроядерная архитектура
- •1.6.5.Смешанные системы
- •1.7.Классификация операционных систем
- •1.7.1.Реализация многозадачности
- •1.7.2.Поддержка многопользовательского режима
- •1.7.3.Многопроцессорная обработка
- •1.7.4.Системы реального времени
- •2 Процессы
- •2.1.Понятие процесса
- •2.2.Состояния процесса
- •2.3.Операции над процессами и связанные с ними понятия
- •2.3.1.Набор операций
- •2.3.2.Блок управления процессом (рсв Process Control Block) и контекст процесса
- •2.3.3.Одноразовые операции
- •2.3.4.Многоразовые операции
- •2.3.5.Переключение контекста
- •2.3.7.Нити исполнения
- •2.4.Заключение
- •3. Планирование процессов
- •3.1.Уровни планирования
- •3.2.Цели планирования
- •3.4. Критерии планирования
- •3.5.Вытесняющее и не вытесняющее планирование
- •3.5.Алгоритмы планирования
- •3.5.1.Планирование по принципу fifo
- •3.5.2.Циклическое планирование)
- •3.5.3. Планирование по принципу кратчайшее задание - первым
- •3.5.4.Гарантированное планирование
- •3.5.5.Приоритетное планирование
- •3.5.6.Многоуровневые очереди (Multilevel Queue)
- •3.5.7.Многоуровневые очереди с обратной связью (Multilevel Feedback Queue)
- •3.6.Заключение
- •4. Лекция: Кооперация процессов и основные аспекты ее логической организации
- •4.1.Взаимодействующие процессы
- •4.2.Средства обмена информацией
- •4.3.Логическая организация механизма передачи информации
- •4.4.Информационная валентность процессов и средств связи
- •4.5.Особенности передачи информации с помощью линий связи
- •4.5.1.Буферизация
- •4.5.2.Поток ввода/вывода и сообщения
- •4.5.3.Надежность средств связи
- •4.5.4.Завершение связи
- •4.6.Нити исполнения
- •4.7.Заключение
4.2.Средства обмена информацией
Взаимодействуя друг с другом процессы обмениваются информацией. По объему передаваемой информации и степени возможного воздействия на поведение другого процесса средства обмена делятся на три вида.
Сигнальные. Данный вид обмена передает минимальное количество информации – один бит, "да" или "нет". Используется, как правило, для извещения процесса о наступлении какого-либо события. Степень воздействия на поведение процесса, получившего информацию, минимальна. Процесс, получивший сигнал должен знать, что означает полученный сигнал и как на него реагировать. Неправильная реакция на сигнал или его игнорирование могут привести к непредсказуемым последствиям.
Канальные. Операционная система предоставляет линии связи, через которые происходит обмен информации между процессами. Объем передаваемой информации в единицу времени ограничен пропускной способностью линии связи.
Разделяемая память. Разные процессы могут совместно использовать одну и ту же область адресного пространства. Разделяемую память создает операционная система. Данный вид памяти обладает максимальной скоростью обмена информацией. Недостатком разделяемой памяти является высокая возможность влияния на поведение другого процесса.
Для организации разделяемой памяти при передаче или получении информации используют средства языков программирования. Для организации сигнальных и канальных средств коммуникации используют специальные системные вызовы.
4.3.Логическая организация механизма передачи информации
С физической точки зрения передача информации невозможна без аппаратной поддержки (общая шина данных, прерывания, аппаратно разделяемая память и т. д.). Логическая организация передачи информации рассматривает следующие вопросы
Как использовать средство связи для обмена информацией: сразу после создания процесса или после определенных действий по инициализации обмена? В случае разделяемой памяти требуется специальное обращение к операционной системе для выделения ею необходимой области адресного пространства процессу. В случае передачи сигнала от одного процесса другому инициализация не нужна.
В случае передачи информации по линиям связи требуется их резервирование для процессов, между которыми происходит обмен информацией. При передаче информации необходимо определить, куда передается информация, при приеме информации - откуда она получена. Существуют следующие способы адресации при использовании линий связи: прямая и непрямая. При обмене информации с использованием прямой адресации указываются взаимодействующие процессы. Симметричной прямой адресацией называется схема адресации, при которой процесс, отправляющий информацию, и процесс, получающий информацию, указывают номера или имена процессов. При данном виде адресации другой процесс не может вмешаться в процедуру обмена, перехватить данные или подменить их. Если при передаче указывается только один адрес из взаимодействующих процессов, а в качестве другого адреса рассматривается адрес любого процесса в системе, то такая схема адресации называется асимметричной прямой адресацией. При непрямой адресации процесс, передающий информацию, помещает данные для хранения в промежуточный объект, который имеет свой адрес. Из промежуточного объекта данные могут быть изъяты каким-либо другим процессом. Передающий процесс не знает, как идентифицируется процесс, который получит информацию. Принимающий процесс не знает идентификатор процесса, от которого он должен получить информацию.