Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_na_voprosy_SPO_2.docx
Скачиваний:
4
Добавлен:
01.05.2025
Размер:
4.28 Mб
Скачать

12. Управление выполнением приложений. Понятия процесса и потока

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

Проце́сс — выполнение пассивных инструкций компьютерной программы на процессоре ЭВМ. Стандарт ISO 9000:2000 Definitions определяет процесс как совокупность взаимосвязанных и взаимодействующих действий, преобразующих входящие данные в исходящие.

Компьютерная программа сама по себе это только пассивная совокупность инструкций, в то время как процесс — это непосредственное выполнение этих инструкций.

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

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

Процесс (или по-другому, задача) - абстракция, описывающая выполняющуюся программу

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

  • закрытое виртуальное адресное пространство — диапазон адресов виртуальной памяти, которым может пользоваться процесс;

  • исполняемую программу — начальный код и данные, проецируемые на виртуальное адресное пространство процесса;

  • список открытых описателей различных системных ресурсов — семафоров, коммуникационных портов, файлов и других объектов, доступных всем потокам в данном процессе;

  • контекст защиты, называемый маркером доступа (Access Token) и идентифицирующий пользователя, группы безопасности и привилегии, сопоставленные с процессом;

  • уникальный идентификатор процесса (PID) (во внутрисистемной терминологии называемый идентификатором клиента);

  • минимум один поток.

  • Каждый процесс обладает контекстом защиты, который хранится в объекте — маркере доступа. Маркер доступа содержит идентификацию защиты и определяет полномочия данного процесса.

  • Дескрипторы виртуальных адресов (Virtual Address Descriptors, VAD) — это структуры данных, используемые диспетчером памяти для учета виртуальных адресов, задействованных процессом.

  • Процесс обладает определённым классом приоритета – числовым значением, исходя из которого назначаются базовые приоритеты потоков, принадлежащих процессу. Чем выше класс приоритета, тем больше процессорного времени будет отведено потокам процесса. Классы приоритета в порядке возрастания как они определены в Win32:

  • Каждому процессу при создании система отводит некоторый объём оперативной памяти (ОП) и увеличивает этот объём по мере необходимости до максимального (вычисленного системой) значения. Этот объём ОП называется рабочим множеством процесса

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