Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
81
Добавлен:
02.05.2014
Размер:
89.09 Кб
Скачать

Раздел II. Задачи и функции ос

3 основных задачи, тесно связанных между собой:

  1. Управление задачами (заданиями, процессами)

    1. Создание и удаление процессов

    2. Планирование процессов

    3. Синхронизация процессов

    4. Коммуникация процессов

    5. Разрешение тупиковых ситуаций (тупиков)

  2. Управление данными

    1. Долговременное планирование – организация размещения данных на ВЗУ, их выборка и предоставление пользовательским программам

    2. Оперативное планирование – распределение оперативной памяти под программы и данные, обмен между оперативной и внешней памятью.

  3. Связь с оператором

    1. Пользовательский интерфейс (управление пользовательскими процессами)

    2. Командный интерфейс (управление системными процессами)

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

  • Задачи-данные (интерфейс управления памятью и данными)

  • Данные-оператор (Интерфейсы ввода-вывода данных)

  • Оператор-задачи (командный интерфейс)

Общий принцип взаимодействия подсистем:

  1. Управление заданиями (процессами, задачами)

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

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

  • Программный код

  • Данные

  • Содержимое стека

  • Содержимое адресного и др. регистров CPU

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

    1. Классификация процессов

По генеалогическому признаку – порождающие (родители) и порожденные (дети).

По принадлежности к ОС – системные и пользовательские.

По месту выполнения – внутренние (на CPU) и внешние (на внешних процессорах).

По связанности – взаимосвязанные, изолированные, взаимодействующие (имеют общие структуры данных), конкурирующие.

За время существования процесс многократно меняет свое состояние. Различают следующие состояния процесса:

  • Новый (процесс только что создан)

  • Выполняемый (команды программы выполняются в CPU)

  • Ожидающий (процесс ожидает завершения некоторого события, чаще всего операции ввода-вывода)

  • Готовый (процесс ожидает освобождения CPU)

  • Завершенный (процесс выполнился)

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

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

Содержимое регистров процессора, а также код и данные в адресном пространстве процесса называются контекстом процесса, который переключается наCPUпри смене выполняемой им задачи.

В зависимости от того, является ли процесс родителем или ребенком, он может получить отдельные ресурсы или использовать родительские. Для запуска новой программы в Unixсначала содеется копию процесса-родителя, а затем процесс-ребенок должен заменить свой контекст, чтобы стать родителем. Помимо такого способаWindowsNTтакже поддерживает загрузку процесса-ребенка новой программой из какого-либо файла.

При смерти процесса-родителя в Unixребенок сиротеет, но не умирает. Его усыновляет один из системных процессов.