Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОСиСП теория 4 семестра - методичка слайдов Бранцевич Петр Юльянович 2009.doc
Скачиваний:
160
Добавлен:
15.06.2014
Размер:
1.75 Mб
Скачать

5.4 Концептуальные основы ос

  1. понятие процесса;

  2. понятие ресурса;

  3. концепция виртуализации;

  4. дисциплина распределения ресурсов;

  5. концепция прерывания;

  6. средства взаимодействия пользователя с вычислительной машиной.

5.4.1 Процессы

Процесс – это система действий, реализующая определенную функцию в вычислительной системе и оформленная так, что управляющая программа вычислительной системы может перераспределять ресурсы этой системы в целях обеспечения мультипрограммирования.

Ресурс – средство вычислительной системы, которое может выделить процесс на определенный интервал времени. В общем смысле понимается некоторый запас материальных предметов либо энергетических, структурных или каких-либо других характеристик предмета в составе некоторого объекта.

Модель процесса с двумя составляющими

Первым из задач ОС является выполнение управления процесса. Для этого необходимо определить схему перед процессом и выделить им ресурсов. Выполнение этих функций базируется на описании ожидаемого поведения процессов. Простейшая модель процессора состоит из двух состояний

Создав новый процесс ОС фиксирует его в состояние не выполняющем. Время от времени выполняется процесс прерывания и диспетчер процусса выбирает для выполнения другой процесса. При этом выполняемый процесс переходит в состояние не выполняющего, а один из ожидаемых переходит в состояние выполняющего. Для реализации такой системы переключения процессов необходим способ, с помощью которого будет представляться процесс, чтобы ОС могла следить за процессом. С каждым процессом связывается определенная информация, в котором описывается его текущее состояние и размещение в памяти. Не выполняющие процессы организовываются в очередь.

Поведение диспетчеризации предполагает, что процесс, работа которого прервана, переходит в очередь, ожидающую выполнения, если же процесс завершен, он выходит из системы. В любом случае диспетчер выбирает следующий процесс для выполнения.

Создание процесса

Причинами создания является:

  1. Новое пакетное задание. Готовясь принять на обработку новое задание. ОС считывает очередные команды управления заданием.

  2. Вход в систему в интерактивном режиме, когда в систему с терминала подключается новый пользователь.

  3. Создание ОС процесса нужной для работы некоторой служебной ОС может создать процесс, для выполнения некоторой операции.

  4. Порождение одного процесса другим с целью структуризации программы или использования возможности параллельных вычислений, программа может создавать другие процессы.

Когда создается новый процесс ОС создает структуры данных, используемых при управлении этим процессом и размещаемых в адресе пространства в основной памяти для процесса.

Завершение процесса

В любой системе должны быть средства, позволяющие определить, закончилось ли выполнение процесса. Для этого пакетное задание может включать в себя специальную команду или явный вызов служб ОС, приводящий к завершению процесса. При этом может генерироваться запрос на прерывание или выполнятся действие пользователя сообщающего о том, что он покидает сеанс связи. Во всех случаях вызов специальных служб ОС завершает процесс.

Причин завершения достаточно много:

  1. обычное завершение (процесс вызывает exit);

  2. превышение лимита времени, отведенного программе;

  3. недостаточный объем памяти;

  4. выход за пределы отведенной области памяти;

  5. ошибка защиты;

  6. арифметическая ошибка (деление на ноль, переполнение);

  7. изменение ожидания;

  8. ошибка ввода/вывода;

  9. неверная команда (счетчик команд переключается на счетчик данных);

  10. команда с недопустимыми привилегиями;

  11. непрерывное использование данных (часть данных или не инициализирована, или другого типа);

  12. вмешательство оператора или ОС;

  13. завершение родительского процесса;

  14. запрос со стороны родительского процесса.

Модель процесса с пятью состояниями

Для процесса при выполнении на центральном процессоре можно выделить следующие характерные отдельные состояния.

Когда процесс появляется в системе, ОС определяет новый процесс в два этапа:

  1. Присвоение процессу идентификатора и формирование всех таблиц, необходимых процессу. Этот промежуток времени соответствует состоянию «новый»;

  2. Распределение памяти под процесс, подготовка его к выполнению, т.е. перевод в состояние, «готовый к выполнению».

Переход из «новый» в «готовый». ОС осуществляет переход, когда будет готова к обработке дополнительных процессов. В большинстве систем существует ограничения на количество выполняющихся процессов или на объем виртуальной памяти.

Переход из «готовый» в «выполняющийся». Происходит, когда ОС выбирает новый процесс для запуска. Выбирается один из процессов, находящихся в состоянии «готовый», в соответствии с какой-то дисциплиной в обслуживании.

Переход из «выполняющийся» в «готовый». Чаще всего происходит, когда процесс отрабатывает максимальный промежуток времени, отведенный для непрерывной работы одного процесса.

Переход из «выполняющийся» в «блокированный». Процесс переводится в заблокированное состояние, если для продолжения его работы требуется какое-либо событие. Например, процесс может запросить какой-либо ресурс, который временно недоступен или требуется выполнить какое-либо действие, необходимое для продолжения работы процесса, например, операцию ввода-вывода.

Переход «заблокированный» - «готовый». Осуществляется, когда происходит ожидаемое событие.

Переход из «выполняющийся» в «завершающийся». Выполняется тогда, когда процесс сигнализирует об окончании своей работы, или ОС прекращает его выполнение в силу каких-то причин. При этом ОС освобождает аппаратные ресурсы, использующих процессором, но сохраняет часть таблиц и информацию, связанную с процессором так, что другие программы могут получить сведения о причинах его завершения. После извлечения этой информации процесс полностью удаляется из системы.

Переход в состояние «блокировки» происходит в том случае, если продолжение работы процесса требует наступления какого-либо события.