- •1.Операционные системы в архитектуре вычислительных систем
- •Эволюция операционных систем
- •Назначение, функции и структура операционных систем
- •Структурная организация ос
- •Классификация операционных систем
- •Понятие вычислительного процесса и ресурса
- •Диаграмма состояний процесса
- •Блок управления процессом и контекст процесса
- •Одноразовые операции
- •Процессы и потоки
- •Понятие и стратегии планирования
- •Вытесняющая и не вытесняющая диспетчеризация
- •Качество диспетчеризации и гарантии обслуживания
- •Прерывания. Механизм обработки прерываний
- •Файловые системы операционных систем
- •Основные понятия безопасности
- •Базовые технологии безопасности
- •Односторонние функции шифрования
- •Аутентификация, авторизация, аудит
- •Необходимость взаимной синхронизации
- •Средства синхронизации процессов и потоков.
- •V(s): переменная s увеличивается на 1 единым действием. Выборка, наращивание и запоминание не могут быть прерваны. К переменной s нет доступа другим потокам во время выполнения этой операции.
- •Проблема тупиков и борьба с ними.
- •Физическая память и виртуальное адресное пространство
- •Модели распределения памяти
- •Свопинг и виртуальная память.
- •Сегментная организация виртуальной памяти
- •Страничная организация виртуальной памяти
- •Уровни иерархии памяти и кэш-память
- •Распределение оперативной памяти в современных ос
- •Управление вводом/выводом в ос
Понятие вычислительного процесса и ресурса
Понятие «вычислительный процесс» (или просто – «процесс») является одним из основных при рассмотрении операционных систем.
В качестве примеров можно назвать следующие процессы (задачи): прикладные программы пользователей, утилиты и другие системные обрабатывающие программы. Процессами могут быть редактирование какого-либо текста, трансляция исходной программы, её компоновка, исполнение.
Определение концепции процесса преследует цель выработать механизмы распределения и управления ресурсами.
Ресурс - это всякий объект, который может распределяться внутри системы.
Ресурсы могут быть разделяемыми и неделимыми. При разработке первых систем ресурсами считались процессорное время, память, каналы ввода/вывода и периферийные устройства.
Различного рода программные и информационные ресурсы также могут быть определены для системы как объекты, которые могут разделяться и распределяться, и доступ к которым необходимо соответствующим образом контролировать. Под ресурсами стоит так же понимать и такие объекты, как сообщения и синхросигналы, которыми обмениваются задачи.
Общая схема выделения ресурсов такова. При необходимости использовать какой-либо ресурс задача обращается к супервизору операционной системы посредством специальных вызовов (команд, директив) и сообщает о своём требовании. При этом указывается вид ресурса и, если надо, его объем.
Директива обращения к операционной системе передаёт ей управление, переводя процессор в привилегированный режим работы если такой существует.
Ресурс может быть выделен задаче, обратившейся к супервизору с соответствующим запросом, если:
Он свободен;
Запросы допускают совместное использование ресурсов;
Ресурс используется задачей низшего приоритета и может быть временно отобран (разделяемый ресурс).
Получив запрос, ОС либо удовлетворяет его и возвращает управление задаче, выдавшей данный запрос, либо, если ресурс занят, ставит задачу в очередь к ресурсу, переводя её в состояние ожидания (блокируя). Очередь к ресурсу может быть организована несколькими способами, но чаще всего это осуществляется с помощью списковой структуры.
Диаграмма состояний процесса
Любой процесс может находиться в активном и пассивном состоянии. В активном состоянии процесс может участвовать в конкуренции за использование ресурсов вычислительной системы, а в пассивном – он только известен системе, но в конкуренции не участвует.
Активный процесс может быть в одном из следующих состояний:
1) Выполнения 2) Готовности к выполнению 3) Блокирования или ожидания
В обычных ОС, процесс появляется при запуске какой-нибудь программы. ОС организует для нового процесса соответствующий дескриптор процесса, и процесс начинает развиваться. Поэтому пассивного состояния не существует. В ОС реального времени многие процессы могут находиться в состоянии бездействия. За время своего существования процесс может неоднократно совершать переходы из одного состояния в другое. Процесс из состояния бездействия может перейти в состояние готовности в следующих случаях:
1) По команде оператора (пользователя). 2) При выборе из очереди планировщиком; 3) По вызову из другой задачи 4) По прерыванию от внешнего инициативного устройства 5) При наступлении запланированного времени запуска программы.
Из состояния выполнения процесс может выйти по одной из следующих причин:
1) Процесс завершается, при этом он передаёт управление операционной системе и сообщает о своем завершении. В результате этих действий супервизор либо переводит его в список бездействующих процессов, либо уничтожается.
Процесс переводится супервизором операционной системы в состояние готовности к исполнению в связи с появлением более приоритетной задачи или в связи с окончанием выделенного ему кванта времени;
Процесс блокируется либо вследствие запроса операции ввода/вывода, либо в силу невозможности предоставить ему ресурс, запрошенный в настоящий момент, а также по команде оператора на приостановку задачи или по требованию через супервизор от другой задачи.
При наступлении соответствующего события процесс деблокируется и переводится в состояние готовности к исполнению.
