Что такое процесс в компьютере

Обновлено: 24.11.2024

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

1. Обзор

В этом руководстве мы определим задание, задачу и процесс, используемые в вычислениях.

2. Работа

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

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

Это действие по открытию программы обработки текста является заданием, которое необходимо выполнить. Дополнительные примеры заданий см. в нашей статье о заданиях Spring.

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

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

3. Задача

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

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

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

4. Обработать

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

Для выполнения процесса в компьютерной системе необходимы такие ресурсы, как память, процессорное время и устройства ввода-вывода (I/O). Следовательно, ответственность за своевременное и упорядоченное выделение этих ресурсов различным процессам лежит на операционной системе.

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

Диспетчер процессов используется для координации выполнения процессов:

5. Заключение

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

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

Процесс — это выполняемая программа. Выполнение процесса должно происходить последовательно.

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

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

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

Стек процесса содержит временные данные, такие как параметры метода/функции, адрес возврата и локальные переменные.

Это динамически выделяемая память для процесса во время его выполнения.

Это включает текущую активность, представленную значением счетчика программ и содержимым регистров процессора.

Этот раздел содержит глобальные и статические переменные.

Программа

Программа – это фрагмент кода, который может состоять из одной строки или миллионов строк. Компьютерная программа обычно пишется программистом на языке программирования. Например, вот простая программа, написанная на языке программирования C —

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

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

Жизненный цикл процесса

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

Как правило, процесс может одновременно находиться в одном из следующих пяти состояний.

Это начальное состояние, когда процесс впервые запускается/создается.

Процесс ожидает назначения процессору. Готовые процессы ждут, когда операционная система выделит им процессор, чтобы они могли работать. Процесс может перейти в это состояние после состояния Start или во время его выполнения, но прерывается планировщиком, чтобы назначить ЦП какому-либо другому процессу.

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

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

Прекращено или выйти

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

Блок управления технологическим процессом (PCB)

Блок управления процессом — это структура данных, поддерживаемая операционной системой для каждого процесса. Плата идентифицируется целочисленным идентификатором процесса (PID). Печатная плата хранит всю информацию, необходимую для отслеживания процесса, как указано ниже в таблице —

Состояние процесса

Текущее состояние процесса, т. е. готов ли он, выполняется, ожидает или что-то еще.

Привилегии процесса

Это необходимо для разрешения/запрета доступа к системным ресурсам.

Уникальная идентификация для каждого процесса в операционной системе.

Указатель на родительский процесс.

Счетчик программ

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

Регистры процессора

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

Информация о планировании ЦП

Приоритет процесса и другая информация о планировании, необходимая для планирования процесса.

Информация об управлении памятью

Это включает в себя информацию о таблице страниц, ограничениях памяти, таблице сегментов в зависимости от памяти, используемой операционной системой.

Учетная информация

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

Информация о статусе ввода-вывода

Включает в себя список устройств ввода-вывода, выделенных для процесса.

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

PCB сохраняется для процесса на протяжении всего его жизненного цикла и удаляется после завершения процесса.

Раздел 404 Закона Сарбейнса-Оксли (SOX) требует, чтобы все публичные компании установили внутренний контроль и процедуры.

Закон о защите конфиденциальности детей в Интернете от 1998 года (COPPA) – это федеральный закон, который налагает особые требования на операторов доменов .

План North American Electric Reliability Corporation по защите критически важной инфраструктуры (NERC CIP) представляет собой набор стандартов.

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

Экранированная подсеть или брандмауэр с тройным подключением относится к сетевой архитектуре, в которой один брандмауэр используется с тремя сетями .

Метаморфное и полиморфное вредоносное ПО – это два типа вредоносных программ (вредоносных программ), код которых может изменяться по мере их распространения.

Медицинская транскрипция (МТ) – это ручная обработка голосовых сообщений, продиктованных врачами и другими медицинскими работниками.

Электронное отделение интенсивной терапии (eICU) — это форма или модель телемедицины, в которой используются самые современные технологии.

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

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

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

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

API облачного хранилища — это интерфейс прикладного программирования, который соединяет локальное приложение с облачным хранилищем.

Интерфейс управления облачными данными (CDMI) – это международный стандарт, определяющий функциональный интерфейс, используемый приложениями.

Износ флэш-памяти NAND — это пробой оксидного слоя внутри транзисторов с плавающим затвором флэш-памяти NAND.

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

Основная идея

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

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

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

Мониторинг процессов в системе

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

Если вы используете Windows, вы можете открыть диспетчер задач и щелкнуть вкладку «Процессы», чтобы просмотреть эту информацию. Если вы используете Linux или машину на базе Unix, вы можете запустить ряд различных команд:

Как операционная система управляет процессами

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

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

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

Как операционная система переключается между разными процессами

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

На этом пока все.

В следующей статье мы рассмотрим дочерние процессы, планирование и то, как процессы могут взаимодействовать друг с другом с помощью IPC (сокетов и каналов).

Нажмите кнопку «Подписаться», чтобы получать уведомления о публикации новой статьи.

Читайте также: