24552

Что такое вычислительный процесс, поток. Состояния процесса

Доклад

Информатика, кибернетика и программирование

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

Русский

2013-08-09

72.89 KB

15 чел.

Вопрос 15. Что такое вычислительный процесс, поток? Состояния процесса.

§4.2.1.Планирование процессов и потоков.

Понятия «процесс» и «поток».

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

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

Программа представляет собой последовательность команд (поток команд). После запуска программы она загружается из внешней памяти компьютера в оперативную и ставится на выполнение процессором. Каждая команда занимает в памяти по конкретным физическим адресам одну или несколько ячеек памяти (байтов). Процессор последовательно выбирает команды из памяти и их выполняет. Для выборки команд из памяти используется специальный регистр, называемый программным счетчиком (program counterPC), который содержит адрес текущей команды. Регистры процессора и переменные в оперативной памяти содержат текущие данные программы. Во время своей работы программа может использовать и другие ресурсы компьютера: открытые файлы, внешние устройства и т. д.

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

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

Процесс представляет собой обособленное явление, что необходимо для того, чтобы защитить один процесс от влияния другого, поскольку они совместно используют ресурсы компьютера и конкурируют друг с другом за обладание ими. ОС считает процессы совершенно не связанными друг с другом и берет на себя роль арбитра в спорах процессов за ресурсы. Каждый процесс имеет собственные (рис. 4.2): виртуальное адресное пространство; глобальные переменные; открытые файлы; внешние устройства; состояние; программный счетчик РС; регистры процессора; стек.

Рис. 4.2. Выполнение процесса на процессоре

Таким образом, процесс реализует две главные концепции: группирование ресурсов для программы и выполнение программы на процессоре.

Выделяют три основных состояния процесса:

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

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

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

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

Рассмотренная трактовка термина «процесс» существовала долгое время, пока не возникла необходимость в организации параллельной обработки в рамках одного процесса (приложения, программы). Для реализации этой необходимости было введено новое понятие – поток или нить (thread).

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

При этом каждый из потоков имеет собственные: программный счетчик; регистры процессора; стек; состояние.

Например, при работе текстового редактора (один процесс) квазипараллельно выполняются три потока: ввод данных пользователя с клавиатуры, переформатирование документа, периодическое автосохранение документа.

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

Рис. 4.3. Выполнение потока текущего процесса на процессоре


 

А также другие работы, которые могут Вас заинтересовать

47287. Алгоритм пересчета балансов вершин выделенного пути и его особенности 76.6 KB
  После добавления нового элемента необходимо обновить коэффициенты сбалансированности родительских узлов Если любой родительский узел принял значение -2 или 2, то необходимо выполнить балансировку поддерева путем поворота
47288. Процедура построения почти полного дерева поиска и ее особенности 82.69 KB
  Бинарное дерево-это конечное множество элементов, которое либо пусто, либо содержит один элемент, называемый корнем дерева, а остальные элементы множества делятся на два непересекающихся подмножества, каждое из которых само является бинарным деревом.
47289. Туберкулез кожи. Лепра 249.5 KB
  Туберкулезные поражения кожи – группа клинически и морфологически различных заболеваний, обусловленных внедрением в кожу микобактерий туберкулеза (палочки Коха)
47292. Качество и его оценка 825.07 KB
  Качество – это совокупность свойств продукции, обусловливающих ее пригодность удовлетворять потребности в соответствии с ее назначением (ГОСТ 15467-79)
47293. Автомобильные парки 11.81 MB
  Опыт эксплуатации, как обычных бортовых автомобилей, так и автопоездов, состоящих из автомобиля-тягача и прицепа (прицепов) или полуприцепа позволил определить преимущества автопоездов
47294. Вивчення виробничо-господарської діяльності КАТП №1728 366.67 KB
  Метою практики є вивчення виробничо-господарської діяльності КАТП №1728, технологічних процесів організації автомобільних перевезень, організації й керування перевезеннями, закріплення, поглиблене вивчання й розширення знань по теоретичних дисциплінах, які вивчалися в університеті, придбання професійної компетенції майбутніх фахівців, збір необхідної інформації для дипломної роботи, вивчення науково-дослідницької роботи кафедри Автомобілів, автомобільного господарства і технології металів.