Определение многозадачности

Я готовлюсь к экзамену CISSP и нашел странное определение многозадачности.

В вычислительной технике многозадачность означает одновременную обработку двух или более задач. В прошлом большинство систем по-настоящему не поддерживали многозадачность, поскольку полагались на то, что операционная система имитирует многозадачность путем тщательного структурирования последовательности команд, отправляемых в ЦП для выполнения. ... Одноядерная многозадачная система способна одновременно выполнять несколько задач или процессов.

Одно ядро ​​не может быть многозадачным, поскольку оно не может обрабатывать более одной задачи одновременно... оно обычно выполняет переключение контекста для имитации многозадачности. Это более или менее то, что делали оперативные системы в прошлом (и сейчас). Поэтому я не понимаю высказываний выше. Я ошибаюсь?

3 ответа

При использовании одноядерного процессора задачи могут выполняться только одновременно , а не одновременно. В те времена, когда были только одноядерные процессоры, разница между параллельным и одновременным выполнением всегда подчеркивалась в классах ОС и учебниках.

Методы достижения одновременного выполнения, такие как переключение контекста и методы планирования (например, приоритет против циклического перебора, вытесняющий или кооперативный), по-прежнему очень актуальны в эпоху многоядерных процессоров просто потому, что операционная система не уверена в наличии доступного ядро для каждой задачи, которую оно должно выполнить.
ОС должна исходить из того, что количество ядер (или исполнительных блоков) будет меньше количества задач, которые необходимо выполнить.

Следовательно, все концепции, разработанные для одновременного выполнения задач, все еще используются в современных операционных системах, выполняя при этом ограниченное количество одновременных выполнения задач.

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

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

MS-DOS является примером однозадачной среды.
Windows 3.1 и более поздние версии являются многозадачными средами.

Технически многозадачность отличается от многопроцессорности.

Я бы сказал, что многопроцессорность в большей степени зависит от оборудования; разрешение истинного одновременного выполнения (например) кода процессора: т.е. это то , что вы обсуждаете в другом месте выше/ниже здесь.

Чтобы получить реальную выгоду от нескольких процессорных ядер для одного программного проекта, необходимо, чтобы программное обеспечение было создано с учетом многопроцессорной обработки (например, Hugin-MP для сшивания панорам из нескольких изображений).

Мнение, основанное на опыте;
«Windows 3.1» использует/использовала совместную многозадачность, каждая задача/программа должна была «отпустить» процессор (т. е. задача блокировала бы доступ всего остального программного обеспечения до тех пор, пока это не произойдет).
Это было ОЧЕНЬ очевидно в том, как Windows 3 «многозадачна».

Компьютер Amiga использовал «вытесняющую многозадачность» на своем (до многоядерном, С переключателями контекста) M68K, и его опыт сильно отличался от Windows (3!).
Простые задачи, такие как форматирование одного или даже нескольких дисков, выполнялись хорошо,
пока вы тратили время на другие дела;
например, запись компакт-диска, воспроизведение музыки, редактирование файла, просмотр веб-страниц и общение в чате; все вместе.

Это было НЕВОЗМОЖНО при использовании Windows; и так оставалось — с незначительными улучшениями — до «7» или около того. Для записи компакт-диска требовалась полная доступность ЦП, иначе это приводило к сбою из-за «опустошения буфера» (буфер записи не мог быть заполнен достаточно быстро).

Также обратите внимание: «ретро» мир Amiga существует и процветает — хоть и медленно, хоть и аппаратно (новые PCBS!). Я не уверен, что это относится к Windows 3.

Другие вопросы по тегам