Система FreeBSD поддерживает прозрачное многозадачное программирование: иллюзию параллельного выполнения нескольких процессов или программ. Она делает это путем переключения контекста, т. е. путем переключения между контекстами выполнения процессов. Предусмотрен также механизм для планирования выполнения процессов, т. е. для решения того, какой из них будет выполняться следующим. Предусмотрены возможности для обеспечения согласованного доступа к структурам данных, которые разделяются между различными процессами.
Переключение контекста является аппаратно-зависимой операцией, на реализацию которой влияют возможности лежащего в основе оборудования. В некоторых архитектурах предусмотрены машинные инструкции для сохранения и восстановления аппаратного контекста выполнения процесса, включая виртуальное адресное пространство. В других программное обеспечение должно собирать сведения о состоянии оборудования из различных регистров и сохранять их, затем загружать в эти регистры новое состояние оборудования. Все архитектуры должны сохранять и восстанавливать состояние программного обеспечения, используемое ядром.
Переключение контекста осуществляется часто, поэтому увеличение скорости переключения контекста заметно снижает расходуемое ядром время и предоставляет больше времени для выполнения приложений пользователя. Поскольку большая часть работы по переключению контекста тратится на сохранение и восстановление рабочего контекста процесса, снижение количества информации, необходимой для этого контекста, является эффективным способом обеспечения более быстрых переключений контекста.
- 01/09/2010 07:22 - Состояние потока
- 01/09/2010 05:13 - Переключение контекста
- 28/08/2010 04:32 - Структура потока
- 27/08/2010 20:18 - Структура процесса
- 17/08/2010 04:52 - Планирование
- 14/08/2010 01:10 - Введение в управление процессами
- 13/08/2010 12:27 - Учет использования ресурсов
- 10/08/2010 06:42 - Ограничения ресурсов
- 05/08/2010 21:50 - Приоритеты процессов
- 05/08/2010 08:54 - Службы ресурсов