Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
360.98 Кб
Скачать

6. Процессы и потоки в ос. Понятие процесса. Атрибуты процесса. Создание нового процесса в различных ос.

Мультипрограммирование / многозадачность (multitasking) — способ организации процесса. На процессоре выполняются несколько программ. Эти программы совместно используют другие ресурсы компьютера: оперативную и внешнюю память, устройства ввода-вывода, данные. Мультипрограммирование призвано повысить эффективность использования вычислительной системы, однако эффективность может пониматься по-разному.

Критерии эффективности вычислительных систем:

  • Пропускная способность — количество задач, выполняемых вычислительной системой в единицу времени.

  • Удобство работы пользователей: они имеют возможность интерактивно работать одновременно с несколькими приложениями на одной машине.

  • Реактивность системы — способность системы выдерживать заранее заданные интервалы времени между запуском программы и получением результата.

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

Нить (поток, поток выполнения, thread) — наим. единица обработки, исполнение которой мб назначено ядром. Реализация нитей и процессов в разных ОСях отличается, но обычно нити находятся внутри процесса.

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

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

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

Процесс:

Создание процесса — создание описателя процесса, который состоит из информационных структур ( ), содержащих сведения, необходимые ОС для управления процессом.

# сведений: ID процесса, уровень привилегий процесса (приоритет, права доступа), и т. п. # описателей: дескриптор процесса в UNIX, объект-процесс в Windows NT.

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

Unix: fork() позволяет создать новый процесс (или копию). После выполнения fork() родительскому и дочернему процессам соответствуют одинаковые образы памяти, строки окружения и открытые файлы (дочерний — полная копия родительского). Обычно дочерний выполняет системный вызов execve для изменения своего образа памяти и запуска новой программы. Начальное адресное пространство дочернего процесса — копия родительского, но адресные пространства различны, и перезаписываемая память совместно не используется.

Windows: CreateProcess (8 параметров) управляет созданием процесса и запуском нужной программы в нем. В Windows есть еще около 100 функций для управления процессами. Адресные пространства отличаются с самого начала.

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

В UNIX ОСь назначает:

  • Идентификатор (номер) процесса PID (process ID).

  • Идентификатор родительского процесса PPID (parent process ID).

К атрибутам также относятся:

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

  • Реальный и эффективный идентификаторы пользователя и группы. Каждый пользователь, зарегистрированный в ОС, имеет идентификаторы пользователя UID и группы GID.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]