digital-garden/dev/fundamental/Многозадачность.md

38 lines
3.4 KiB
Markdown
Raw Normal View History

---
aliases:
- многозадачности
2024-10-09 09:23:45 +03:00
- Многозадачность ЦПУ
- Multitasking
tags:
- maturity/🌱
date:
- - 2024-01-28
zero-link:
- "[[../../meta/zero/00 Архитектура ЭВМ|00 Архитектура ЭВМ]]"
parents:
- "[[Центральный процессор|ЦПУ]]"
linked:
---
Многозадачность — это способность [операционной системы](Операционная%20система.md) одновременно управлять выполнением нескольких задач ([процессов](Процесс%20ОС.md) или [потоков](Поток%20процесса%20ОС.md)). Это достигается путем распределения [[Планировщик ОС|планировщиком ОС]] доступного процессорного времени между различными задачами таким образом, чтобы создать иллюзию их параллельного выполнения. Многозадачность может быть реализована в двух основных формах: кооперативной и вытесняющей.
2024-10-09 09:23:45 +03:00
- [[Переключение контекста]]. Механизм, который позволяет операционной системе сохранять и загружать состояние (контекст) процессов или потоков. Это ключевой компонент, обеспечивающий многозадачность, так как без него невозможно было бы переключаться между задачами.
- [[Кооперативная многозадачность]] требует, чтобы каждая задача явно отдавала управление операционной системе, чтобы другие задачи могли выполняться. Этот подход может привести к проблемам, если задача не отдает управление.
- [[Вытесняющая многозадачность]] позволяет операционной системе "вытеснять" текущую задачу и переключаться на другую задачу, обеспечивая более надежный и справедливый механизм планирования. Этот подход наиболее распространен в современных операционных системах.
***
## Мета информация
**Область**:: [[../../meta/zero/00 Архитектура ЭВМ|00 Архитектура ЭВМ]]
2024-10-09 09:23:45 +03:00
**Родитель**:: [[Центральный процессор|ЦПУ]], [[Concurrency]]
**Источник**::
**Автор**::
**Создана**:: [[2024-01-28]]
### Дополнительные материалы
-
### Дочерние заметки
2024-09-14 23:38:42 +03:00
<!-- QueryToSerialize: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->
<!-- SerializedQuery: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->
2024-10-09 09:23:45 +03:00
- [[Concurrency]]
2024-09-14 23:38:42 +03:00
- [[Вытесняющая многозадачность]]
- [[Кооперативная многозадачность]]
- [[Переключение контекста]]
<!-- SerializedQuery END -->