Операционная система - процессы
Процесс
Процесс - это, по сути, выполняемая программа. Выполнение процесса должно выполняться последовательно.
Процесс определяется как объект, который представляет собой базовую единицу работы, которая должна быть реализована в системе.
Проще говоря, мы пишем наши компьютерные программы в текстовом файле, и когда мы выполняем эту программу, она становится процессом, который выполняет все задачи, упомянутые в программе.
Когда программа загружается в память и становится процессом, ее можно разделить на четыре части ─ стек, куча, текст и данные. На следующем изображении показана упрощенная схема процесса внутри основной памяти -
SN | Компонент и описание |
---|---|
1 | Stack Стек процессов содержит временные данные, такие как параметры метода / функции, адрес возврата и локальные переменные. |
2 | Heap Это динамически выделяемая память процессу во время его выполнения. |
3 | Text Сюда входит текущая активность, представленная значением Program Counter и содержимым регистров процессора. |
4 | Data Этот раздел содержит глобальные и статические переменные. |
Программа
Программа - это фрагмент кода, который может состоять из одной или миллионов строк. Компьютерная программа обычно пишется компьютерным программистом на языке программирования. Например, вот простая программа, написанная на языке программирования C -
#include <stdio.h>
int main() {
printf("Hello, World! \n");
return 0;
}
Компьютерная программа - это набор инструкций, которые выполняют определенную задачу при выполнении компьютером. Когда мы сравниваем программу с процессом, мы можем сделать вывод, что процесс - это динамический экземпляр компьютерной программы.
Часть компьютерной программы, которая выполняет четко определенную задачу, известна как algorithm. Коллекция компьютерных программ, библиотек и связанных с ними данных называетсяsoftware.
Жизненный цикл процесса
Когда процесс выполняется, он проходит через разные состояния. Эти этапы могут отличаться в разных операционных системах, и названия этих состояний также не стандартизированы.
Как правило, процесс может одновременно находиться в одном из следующих пяти состояний.
SN | Состояние и описание |
---|---|
1 |
Start Это начальное состояние при первом запуске / создании процесса. |
2 |
Ready Процесс ожидает назначения процессору. Готовые процессы ждут, пока операционная система выделит им процессор, чтобы они могли работать. Процесс может перейти в это состояние послеStart состоянии или во время его запуска, но прерванного планировщиком, чтобы назначить ЦП другому процессу. |
3 | Running После того, как процесс был назначен процессору планировщиком ОС, состояние процесса устанавливается на «работает», и процессор выполняет свои инструкции. |
4 | Waiting Процесс переходит в состояние ожидания, если ему нужно дождаться ресурса, например, ожидая ввода данных пользователем или ожидая, пока файл станет доступным. |
5 | Terminated or Exit Как только процесс завершает свое выполнение или завершается операционной системой, он переводится в состояние завершения, где ожидает удаления из основной памяти. |
Блок управления процессом (PCB)
Блок управления процессом - это структура данных, поддерживаемая операционной системой для каждого процесса. Печатная плата идентифицируется целочисленным идентификатором процесса (PID). Печатная плата хранит всю информацию, необходимую для отслеживания процесса, как указано ниже в таблице:
SN | Информация и описание |
---|---|
1 | Process State Текущее состояние процесса, т.е. готов ли он, работает, ожидает или что-то еще. |
2 | Process privileges Это необходимо для разрешения / запрета доступа к системным ресурсам. |
3 | Process ID Уникальный идентификатор для каждого процесса в операционной системе. |
4 | Pointer Указатель на родительский процесс. |
5 | Program Counter Программный счетчик - это указатель на адрес следующей инструкции, которая должна быть выполнена для этого процесса. |
6 | CPU registers Различные регистры ЦП, в которых необходимо сохранить процесс для выполнения в рабочем состоянии. |
7 | CPU Scheduling Information Приоритет процесса и другая информация о планировании, необходимая для планирования процесса. |
8 | Memory management information Сюда входит информация о таблице страниц, ограничениях памяти, таблице сегментов в зависимости от памяти, используемой операционной системой. |
9 | Accounting information Это включает в себя количество процессора, используемого для выполнения процесса, ограничения по времени, идентификатор выполнения и т. Д. |
10 | IO status information Сюда входит список устройств ввода-вывода, назначенных процессу. |
Архитектура печатной платы полностью зависит от операционной системы и может содержать различную информацию в разных операционных системах. Вот упрощенная схема печатной платы -
PCB поддерживается для процесса на протяжении всего его жизненного цикла и удаляется после завершения процесса.