~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 23F6A889AD17DBE867FBAD2D2FB3F500__1714598820 ✰
Заголовок документа оригинал.:
✰ Process (computing) - Wikipedia ✰
Заголовок документа перевод.:
✰ Процесс (вычисления) — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Process_(computing) ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/23/00/23f6a889ad17dbe867fbad2d2fb3f500.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/23/00/23f6a889ad17dbe867fbad2d2fb3f500__translat.html ✰
Дата и время сохранения документа:
✰ 18.06.2024 17:48:14 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 2 May 2024, at 00:27 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Процесс (вычисления) — Википедия Jump to content

Процесс (вычисления)

Из Википедии, бесплатной энциклопедии
Программа против процесса против потока
Планирование , вытеснение , переключение контекста

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

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

Многозадачность — это метод, позволяющий нескольким процессам совместно использовать процессоры (ЦП) и другие системные ресурсы. Каждый процессор (ядро) одновременно выполняет один процесс. Однако многозадачность позволяет каждому процессору переключаться между выполняемыми задачами, не дожидаясь завершения каждой задачи ( вытеснение ). В зависимости от реализации операционной системы переключения могут выполняться, когда задачи инициируются и ждут завершения операций ввода/вывода , когда задача добровольно уступает место ЦП, при аппаратных прерываниях и когда планировщик операционной системы решает, что процесс истек. долю процессорного времени (например, с помощью планировщика Completely Fair ядра Linux ).

Распространенная форма многозадачности обеспечивается разделением времени ЦП , которое представляет собой метод чередования выполнения пользовательских процессов и потоков и даже независимых задач ядра – хотя последняя функция возможна только в вытесняющих ядрах , таких как Linux . Вытеснение имеет важный побочный эффект для интерактивных процессов, которым дан более высокий приоритет по отношению к процессам, связанным с ЦП, поэтому пользователям немедленно назначаются вычислительные ресурсы при простом нажатии клавиши или при перемещении мыши. Кроме того, такие приложения, как воспроизведение видео и музыки, имеют определенный приоритет в реальном времени, вытесняя любые другие процессы с более низким приоритетом. В системах с разделением времени переключения контекста выполняются быстро, что создает впечатление, что на одном процессоре одновременно выполняются несколько процессов. Такое, казалось бы, одновременное выполнение нескольких процессов называется параллелизмом .

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

Представительство [ править ]

Список процессов, отображаемый htop
Таблица процессов, отображаемая KDE System Guard
Таблица процессов, отображаемая KDE System Guard

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

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

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

Многозадачность и управление процессами [ править ]

может Многозадачная операционная система просто переключаться между процессами, создавая видимость одновременного выполнения множества процессов (то есть параллельно ), хотя на самом деле в любой момент времени на одном ЦП может выполняться только один процесс (если только ЦП не имеет несколько ядер). , то многопоточность или другие подобные технологии). можно использовать [а]

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

процессы часто называют «задачами» Во встроенных операционных системах . Смысл «процесса» (или задачи) — это «что-то, что занимает время», в отличие от «памяти», которая есть «что-то, что занимает пространство». [б]

Приведенное выше описание применимо как к процессам, управляемым операционной системой, так и к процессам, определяемым исчислением процессов .

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

Состояния процесса [ править ]

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

операционной системы Ядро , обеспечивающее многозадачность, требует, чтобы процессы имели определенные состояния . Имена этих состояний не стандартизированы, но они имеют схожую функциональность. [1]

  • Сначала процесс «создается» путем загрузки со вторичного запоминающего устройства ( жесткого диска , компакт-диска и т. д.) в основную память . После этого планировщик процесса переводит его в состояние «ожидание».
  • Пока процесс «ждёт», он ждёт, пока планировщик выполнит так называемое переключение контекста . Переключатель контекста загружает процесс в процессор и меняет состояние на «выполняется», в то время как ранее «выполнявшийся» процесс сохраняется в состоянии «ожидания».
  • Если процессу в «работающем» состоянии необходимо дождаться ресурса (например, дождаться пользовательского ввода или открытия файла), ему присваивается «заблокированное» состояние. Состояние процесса снова меняется на «ожидание», когда процессу больше не нужно ждать (в заблокированном состоянии).
  • Как только процесс завершает выполнение или завершается операционной системой, он больше не нужен. Процесс удаляется мгновенно или переводится в состояние «завершено». После удаления он просто ожидает удаления из основной памяти. [1] [3]

Межпроцессное взаимодействие [ править ]

Когда процессам необходимо взаимодействовать друг с другом, они должны совместно использовать части своих адресных пространств или использовать другие формы межпроцессного взаимодействия (IPC). Например, в оболочки конвейере выходные данные первого процесса должны передаваться второму и так далее. Другой пример — задача, которая была разложена на взаимодействующие, но частично независимые процессы, которые могут выполняться одновременно (т. е. с использованием параллелизма или истинного параллелизма — последняя модель представляет собой частный случай одновременного выполнения и осуществима всякий раз, когда для выполнения задачи доступно несколько ядер ЦП). процессы, готовые к запуску).

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

История [ править ]

К началу 1960-х годов программное обеспечение для управления компьютером превратилось из программного обеспечения для управления мониторами , например IBSYS , в программное обеспечение для исполнительного управления . Со временем компьютеры стали быстрее, а компьютерное время все еще не было ни дешевым, ни полностью использованным; такая среда сделала мультипрограммирование возможным и необходимым. Мультипрограммирование означает, что несколько программ выполняются одновременно . Поначалу из-за базовой однопроцессорной компьютерной архитектуры на одном процессоре работало более одной программы, и они использовали скудные и ограниченные аппаратные ресурсы; следовательно, параллелизм имел последовательный характер. В более поздних системах с несколькими процессорами несколько программ могут выполняться параллельно .

Программы состоят из последовательностей инструкций для процессоров. Один процессор может одновременно выполнять только одну инструкцию: одновременно выполнять больше программ невозможно. Программе может потребоваться некоторый ресурс , например устройство ввода, которое имеет большую задержку, или программа может начать какую-то медленную операцию, например отправку вывода на принтер. Это приведет к тому, что процессор будет «простаивать» (не использоваться). Чтобы процессор постоянно был занят, выполнение такой программы приостанавливается, и операционная система переключает процессор на запуск другой программы. Пользователю будет казаться, что программы выполняются одновременно (отсюда и термин «параллельно»).

Вскоре после этого понятие «программа» было расширено до понятия «исполняемая программа и ее контекст». Родилось понятие процесса, которое также стало необходимым с изобретением реентерабельного кода . Темы появились несколько позже. Однако с появлением таких концепций, как разделение времени , компьютерные сети и многопроцессорные компьютеры с общей памятью , старое «мультипрограммирование» уступило место истинной многозадачности , многопроцессорности и, позднее, многопоточности .

См. также [ править ]

Примечания [ править ]

  1. ^ Некоторые современные процессоры объединяют два или более независимых процессора в многоядерной конфигурации и могут выполнять несколько процессов одновременно. Другой метод, называемый одновременной многопоточностью (используемый в Hyper технологии Intel -threading ), может имитировать одновременное выполнение нескольких процессов или потоков.
  2. ^ Задачи и процессы по существу относятся к одному и тому же объекту. И хотя они имеют несколько разную терминологическую историю, их стали использовать как синонимы. Сегодня термин «процесс» обычно предпочтительнее задачи, за исключением случаев, когда речь идет о «многозадачности», поскольку альтернативный термин «многопроцессорность» слишком легко спутать с многопроцессором (то есть компьютером с двумя или более процессорами).

Ссылки [ править ]

  1. ^ Перейти обратно: а б с д Зильбершац, Авраам ; Кань, Грег; Гэлвин, Питер Баер (2004). «Глава 4. Процессы». Концепции операционной системы с Java (Шестое изд.). Джон Уайли и сыновья . ISBN  0-471-48905-0 .
  2. ^ Вахалия, Уреш (1996). «Глава 2. Процесс и ядро». Внутреннее устройство UNIX: новые рубежи . Prentice-Hall Inc. ISBN  0-13-101908-2 .
  3. ^ Столлингс, Уильям (2005). Операционные системы: внутреннее устройство и принципы проектирования (5-е изд.). Прентис Холл. ISBN  0-13-127837-1 . (особенно глава 3, раздел 3.2, «Состояния процесса», включая рисунок 3.9 «Переход между состояниями процесса с состояниями ожидания»)

Дальнейшее чтение [ править ]

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 23F6A889AD17DBE867FBAD2D2FB3F500__1714598820
URL1:https://en.wikipedia.org/wiki/Process_(computing)
Заголовок, (Title) документа по адресу, URL1:
Process (computing) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)