Мне трудно четко различать многозадачность и многозадачность.
Моим основным источником была Википедия , но статья WP, кажется, немного расходится с некоторыми менее авторитетными источниками (такими как мой профессор колледжа).
Когда я читаю WP, мультипрограммирование является элементарным способом увеличения пропускной способности процессора путем переключения контекста, когда процесс ожидает ввода-вывода.
Мультипрограммирование не дает никакой гарантии, что программа будет запущена своевременно. Действительно, самая первая программа может очень хорошо работать часами без необходимости доступа к периферийным устройствам.
Совместное совместное использование времени , синонимичное с кооперативной многозадачностью , является улучшением мультипрограммирования (с которым оно не является синонимом). Контекст CPU переключается регулярно, чтобы создать впечатление одновременного выполнения, но процессы по-прежнему должны приносить плоды - а плохо разработанные программы могут лишить остальную часть системы жизни.
Вытесняющая многозадачность требует более активного управления расписанием, отдавая приоритет некоторым процессам над другими и т. Д.
- Является ли этот обзор правильным? Если нет, то это потому, что WP неправильный или потому что я прочитал WP неправильно?
- Почему некоторые источники объединяют многозадачность и многозадачность?
Ответы:
Они более или менее синонимичны. Мультипрограммирование больше используется, когда задействован один процессор, который переключается с процесса на другой, процессы, которые перезаписываются в памяти одновременно. Появились темы, и они больше не переключались между программами ...
Процессоры, в частности линейка Intel, имели механизмы для истинной многозадачности (прерывание по таймеру, привилегированные инструкции), начиная как минимум с 80286. M68000, использованный в самом первом Mac, был процессором с полноценной способностью многозадачности. Это не недавняя разработка в архитектуре. Обратите внимание, что самые первые системы общего доступа обменивались пользовательскими программами и, таким образом, на самом деле не были многопрограммными в смысле одновременного использования нескольких программ в памяти.
Идея состоит в том, чтобы несколько программ находились в памяти одновременно, так что, когда одна из них выдает ЦП (путем завершения или ожидания), есть другие, готовые использовать ЦП, что увеличивает загрузку ЦП (и, как вы можете считать, каждый пакет ЦП будет подготовка к использованию ввода / вывода, увеличение общего использования). Это дает лучшую производительность (важно в пакетных системах).
Пришло время обмена информацией, несколько интерактивных пользователей подключились к машине. Та же идея, держать свои программы рядом, но переключаться между ними достаточно быстро, чтобы у них была иллюзия «иметь компьютер при себе». Требуется таймер, который прерывает процессор, чтобы избежать монополизации.
На персональных машинах не было особого стимула запускать несколько программ одновременно, по крайней мере, на начальном этапе (один пользователь перед сильно ограниченным рабочим столом не ожидал многого). По мере роста машин это можно обойти и разрешить одновременное использование нескольких программ без существенного изменения операционной системы.была «совместная многозадачность», в которой каждая программа должна периодически уступать операционной системе, чтобы выбрать другую для запуска. Поскольку программа, выполняющая это, находится под полным контролем, она может выбрать это, когда ничто не может быть испорчено другими. Излишне говорить, что программа, «забывшая» выполнить свою обязанность приносить прибыль, получает интересное повышение производительности ... ранние системы Mac работали таким образом, и по вышеуказанным причинам это продолжалось недолго. На встраиваемых системах, в которых отсутствует или имеется только элементарная операционная система и работает строго контролируемый набор программ, это, безусловно, вариант защиты.
источник
Разница между многозадачностью и мультипрограммированием? Многозадачность является логическим продолжением мультипрограммирования. Классически в многопрограммной среде несколько пользователей совместно используют процессор, и процессор быстро переключается с одного пользователя на другого, обеспечивая полную прозрачность друг от друга. В многозадачном режиме пользователь заменяется программами, т.е. несколько процессоров совместно используют процессор, и процессор быстро переключается с одной программы на другую. На самом деле программное обеспечение, находящееся на диске, является программой. Когда он поступает в оперативную память для выполнения, он называется процессом или задачей, а когда он находится внутри процессора и выполняется, называется потоком. Таким образом, мультипрограммирование в основном для нескольких пользователей, а многозадачность для одного пользователя с несколькими программами. Поскольку большинство современных ОС поддерживают и то, и другое, они часто пишутся взаимозаменяемо.
источник
Есть много различий между многозадачностью и многозадачностью.
Многозадачность выполняет более одной задачи за один раз. Например, вы слушаете песню, печатаете бумагу и одновременно печатаете в MS-Word.
При мультипрограммировании в этом типе ОС мы улучшаем использование ЦП, используя буферизацию и буферизацию. При последовательном выполнении ЦП бездействует после выполнения программы и загружает следующую программу из основной памяти. Во время операций ввода-вывода процессор также находится в режиме ожидания, процессор также бездействует, но, используя многопрограммную среду, процессор переключается на следующую программу и обрабатывает ее. Это техника, используемая с помощью буферизации и буферизации.
источник