48 lines
4.4 KiB
Markdown
48 lines
4.4 KiB
Markdown
|
---
|
|||
|
aliases:
|
|||
|
- non-preemptive multitasking
|
|||
|
- cooperative multitasking
|
|||
|
- кооперативная многозадачность
|
|||
|
- невытесняющей многозадачности
|
|||
|
- кооперативной многозадачности
|
|||
|
- невытесняющая многозадачность
|
|||
|
- кооперативную многозадачность
|
|||
|
tags:
|
|||
|
- maturity/🌱
|
|||
|
date:
|
|||
|
- - 2024-03-19
|
|||
|
zero-link:
|
|||
|
- "[[../../meta/zero/00 Архитектура ЭВМ|00 Архитектура ЭВМ]]"
|
|||
|
parents:
|
|||
|
- "[[Многозадачность ЦПУ]]"
|
|||
|
linked:
|
|||
|
- "[[Вытесняющая многозадачность]]"
|
|||
|
---
|
|||
|
Подход к управлению выполнением задач в [операционных системах](Операционная%20система.md), при котором текущий выполняющийся [процесс](Процесс%20ОС.md) должен явно отдать управление [[../../../../knowledge/dev/pc/Операционная система|операционной системе]], чтобы другой процесс мог быть запущен.
|
|||
|
|
|||
|
В этом режиме [[../../../../knowledge/dev/pc/Операционная система|операционная система]] не может прервать и вытеснить текущий процесс для переключения на другой процесс, как в [[Вытесняющая многозадачность|вытесняющей многозадачности]]. Вместо этого, каждый процесс должен "добровольно" уступить ресурсы, достигнув определённой точки в своём выполнении или завершив свою работу.
|
|||
|
|
|||
|
|
|||
|
> [!INFO]
|
|||
|
> В современных операционных системах преимущественно используется [вытесняющая многозадачность](Вытесняющая%20многозадачность.md).
|
|||
|
|
|||
|
**Особенности кооперативной многозадачности:**
|
|||
|
- **Кооперативность:** Процессы сами решают, когда отдать управление ОС, что требует более внимательного программирования, чтобы избежать занимания [[Центральный процессор|процессора]] одним процессом на долгое время.
|
|||
|
- **Риски:** Если один из процессов захватывает процессор и не отдаёт управление, это может привести к "зависанию" системы или снижению отзывчивости, поскольку другие процессы не смогут выполняться до тех пор, пока не будет освобожден процессор.
|
|||
|
- **Простота:** Механизмы кооперативной многозадачности проще в реализации по сравнению с [[Вытесняющая многозадачность|вытесняющей многозадачностью]], так как не требуют сложной логики управления приоритетами и безопасности [переключения контекста](Переключение%20контекста.md).
|
|||
|
- **Применение:** Этот подход чаще всего используется в системах с ограниченными ресурсами, встраиваемых системах или в старых операционных системах, где аппаратная поддержка для вытесняющей многозадачности может отсутствовать.
|
|||
|
***
|
|||
|
## Мета информация
|
|||
|
**Область**:: [[../../meta/zero/00 Архитектура ЭВМ|00 Архитектура ЭВМ]]
|
|||
|
**Родитель**:: [[Многозадачность ЦПУ]]
|
|||
|
**Источник**::
|
|||
|
**Автор**::
|
|||
|
**Создана**:: [[2024-03-19]]
|
|||
|
### Дополнительные материалы
|
|||
|
- [[Вытесняющая многозадачность]]
|
|||
|
### Дочерние заметки
|
|||
|
```dataview
|
|||
|
LIST
|
|||
|
FROM [[]]
|
|||
|
WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link)
|
|||
|
```
|