Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лек_1_11_Процессы_пользовательский аспект.doc
Скачиваний:
4
Добавлен:
21.09.2019
Размер:
129.02 Кб
Скачать

Общие сведения. Основные понятия.

Процесс – ключевое понятие ОС. Каждая программа выполняется в рамках процесса. Процесс – программа в момент выполнения + необходимый набор системных данных, создаваемый ОС (среда выполнения процесса).

Процесс – абстрактное понятие, описывающее работу программы.

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

Процесс ‑ это активность некоторого рода. У него есть программа, входные и выходные данные и состояние.

С каждым процессом связывается его адресное пространство (список адресов, которые процесс может читать и в которые может писать) – программу, данные и стек.

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

Т.о. приостановленный процесс:

собственное пространство + структура(ы) из таблицы процессов (образ памяти core image)

Главные системные вызовы, которые управляют процессами являются вызовы, связанные с созданием и окончанием процесса.

Например: процесс –оболочка(интерпрет.команд - shell) ждет ввода команды. Пользователь напечатал команду вывода компилятора. Теперь оболочка создает новый процесс для запуска компилятора. Когда компилятор закончит работу, он выполнит системный вызов завершения самого себя.

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

Другие системные вызовы: запрос на предоставление дополнительной памяти или на ее освобождение; ожидание завершения дочерних процессов; наложение одной программы на другую и т.д.

Аналогия процесса:

Пример: повар печет торт. У него есть рецепт, кухня, кухонное оборудование и ингредиенты для торта.

Р ецепт – программа (алгоритм)

Повар – исполняет роль процессора. это процесс

Ингредиенты – входные данные

Торт – выходные данные

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

Когда и с кем создаются процессы? (Создание процесса).

  1. при загрузке ОС обычно создается несколько процессов, некоторые являются высокоприоритетными, некоторые – фоновыми.

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

  3. По запросу пользователя (щелчок мыши на пиктограмме или набор команды с клавиатуры).

  4. Инициирование пакетного задания: (на больших ЭВМ). ОС создает процесс и запускает следующее задание из очереди, когда освобождаются необходимые ресурсы.

Т.о. текущие процессы могут быть:

- системным процессом, который инициирован мышью или клавиатурой;

- процессом, запущенным пользователем;

- процессом, управляющим пакетами.

С технической точки зрения все способы одинаковы: текущий процесс выполняет системный вызов на создание нового процесса.

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