Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Операционные системы ответы.docx
Скачиваний:
3
Добавлен:
16.01.2025
Размер:
50 Кб
Скачать

Жизненный цикл процесса (потока). Очереди. Классы алгоритмов планирования

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

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

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

2. Готовность к выполнению – процесс готов к запуску, но ожидает выделения ему ресурсов (например, времени центрального процессора).

3. Выполнение – процесс активно использует центральный процессор для выполнения своих инструкций.

4. Ожидание – процесс приостанавливается, ожидая внешних событий (например, ввода данных пользователем, завершения операции ввода-вывода и т.д.). Процесс может находиться в этом состоянии долгое время без использования процессорных ресурсов.

5. Завершение – процесс завершает свою работу, освобождая все выделенные ему ресурсы.

6. Уничтожение – операционная система удаляет информацию о процессе из своей таблицы процессов.

### Очереди процессов

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

1. Очередь готовых процессов – процессы, готовые к выполнению, ожидают выделения им процессорного времени.

2. Очередь ожидания – процессы, находящиеся в состоянии ожидания внешних событий.

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

### Алгоритмы планирования процессов

Алгоритм планирования определяет порядок, в котором процессы получают доступ к центральному процессору. Основные классы алгоритмов планирования включают:

#### 1. FCFS (First-Come, First-Served) – алгоритм «первый пришел – первый обслужен». Процессы выполняются в порядке их поступления в очередь. Этот метод прост, но может привести к долгому ожиданию для коротких задач.

#### 2. SJF (Shortest Job First) – алгоритм «самая короткая работа первой». Планировщик выбирает для выполнения тот процесс, который требует наименьшего времени для завершения. Это помогает уменьшить среднее время ожидания, однако сложно точно предсказать длительность задачи заранее.

#### 3. RR (Round Robin) – циклическое планирование. Каждый процесс получает фиксированное количество времени (квант), после которого его выполнение прерывается, и следующий процесс в очереди получает возможность выполняться. Если квант заканчивается раньше, чем процесс завершил свою задачу, он возвращается в конец очереди. RR обеспечивает справедливость распределения процессорного времени среди всех процессов.

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

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

#### 6. MLFQ (Multi-Level Feedback Queue) – многоуровневая обратная связь. Этот алгоритм сочетает элементы приоритетного планирования и Round Robin. Процессы перемещаются между уровнями очередей в зависимости от того, сколько времени они уже использовали. Таким образом, короткие интерактивные задачи быстро завершают свое выполнение, а длинные вычислительные задачи постепенно опускаются вниз по уровням очередей.

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