Введение в процессы в операционных системах 0:01 Процесс — это программа во время её выполнения. Современные компьютеры выполняют множество задач одновременно.
Процессы на персональном компьютере 0:29 При запуске системы запускается множество процессов, о которых пользователь может не знать. Примеры процессов: ожидание электронной почты, проверка антивируса, печать файлов. Количество процессов может достигать нескольких десятков или даже сотен.
Адресное пространство и ресурсы процесса 1:20 Каждый процесс имеет своё адресное пространство в оперативной памяти. Адресное пространство содержит программу, данные и стек программы. Процесс также имеет набор ресурсов: регистры, список открытых файлов, необработанные предупреждения и т. д.
События, приводящие к созданию процессов 2:54 Инициализация системы: создание высокоприоритетных и фоновых процессов. Выполнение системного вызова: создание новых процессов работающим процессом. Запрос пользователя: запуск программы по команде или щелчку мыши. Инициация пакетного задания: создание процессов для обработки данных на больших машинах.
Иерархия процессов в Unix и Linux 8:40 В Unix и Linux каждый новый процесс является дочерним к предыдущему. Дочерний процесс получает переменные и регистры от родительского. Прародитель всех процессов — процесс init, запускаемый при включении системы.
Иерархия процессов в Windows 9:52 В Windows нет строгой иерархии процессов, используется маркер дескриптор родительского процесса. Дескриптор может быть передан другому процессу.
Завершение процессов 10:14 Четыре причины завершения процесса: обычный выход, выход при ошибке, фатальная ошибка, уничтожение другим процессом. Примеры причин: закрытие окна текстового редактора, завершение процедуры архивации, деление на ноль.
Состояние процессов в однопроцессорной системе 12:26 Три основных состояния процесса: выполнение, готовность, блокировка. Четыре перехода между состояниями: блокировка в ожидании ввода, приостановка планировщиком, возобновление работы, событие, позволяющее процессу продолжить работу.
Планирование процессов 15:55 Планировщик процессов решает, какой процесс, когда и сколько времени должен выполняться. Переходы 2 и 3 вызываются планировщиком без оповещения процесса. С точки зрения процессов есть только два состояния: выполнение действия и ожидание готовности.
Ускорение ответа на запросы 16:58 На серверах для ускорения ответа на запрос клиента загружают несколько процессов в режиме ожидания. При получении запроса процесс переходит из режима ожидания в режим выполнения, что быстрее, чем запуск нового процесса.
Управление процессами в ОС 17:22 Операционной системе необходимо проверять наличие всех обслуживаемых процессов. В универсальных системах, таких как компьютеры, требуется способ создания и прерывания процессов по мере необходимости.
Родительские и дочерние процессы 17:57 У каждого процесса есть один родитель и могут быть дочерние процессы. Задачи по управлению процессами возлагаются на операционную систему.
Различие между программой и процессом 18:18 Программа и процесс имеют различия, несмотря на кажущуюся схожесть. Пример с приготовлением пиццы иллюстрирует эти различия.
Пример с Максом и пиццей 18:41 Макс решает приготовить пиццу, используя книгу рецептов и кухонные принадлежности. Во время приготовления ему звонят Настя и кот, требуя внимания. Макс успевает ответить на звонок и покормить кота, продолжая готовить пиццу.
Аналогия с процессами в ОС 20:08 Макс символизирует центральный процессор, рецепт — программу, ингредиенты — входные данные, кухонная техника — аппаратную часть. Приготовление пиццы — первый процесс, требующий много времени, звонок Насти — второй процесс, кот — третий процесс с высоким приоритетом.
Взаимодействие процессов 22:06 Центральный процессор обращается к программе для получения алгоритма решения задачи. Программа получает входные данные, а аппаратная часть начинает выполнять задачу. Процессы могут быть приостановлены для обработки более приоритетных задач.
Завершение обработки 23:07 После обработки всех процессов компьютер возвращается к первому процессу и завершает его, выводя результат.
Определение программы и процесса 23:37 Программа — это алгоритм действия, хранящийся на носителе. Процесс — это само действие, возникающее при запуске программы.