Мені важко чітко розмежовувати багатопрограмування та багатозадачність.
Моє основне джерело - Вікіпедія , але, здається, стаття WP трохи не вступає в протиріччя з менш поважними джерелами (як, наприклад, мій професор коледжу).
Під час читання WP багатопрограмування є рудиментарним способом збільшення пропускної здатності процесора шляхом переключення контексту, коли процес чекає вводу / виводу.
Багатопрограмування не дає жодних гарантій того, що програма буде працювати своєчасно. Дійсно, сама перша програма може дуже добре працювати годинами, не потребуючи доступу до периферії.
Кооперативний обмін часом , синонім кооперативного багатозадачності , є вдосконаленням багатопрограмування (яке не є синонімом). Контекстні комутатори процесора регулярно створюють враження одночасного виконання, але процеси все одно потребують результатів - і погано розроблені програми можуть голодувати решту системи.
Попереджувальна багатозадачність бере більш агресивний контроль планування, віддаючи перевагу одним процесам над іншими тощо.
- Чи правильний цей огляд? Якщо ні, це не тому, що WP неправильний або тому, що я прочитав WP неправильно?
- Чому деякі джерела, схоже, пов'язують багатопрограмування та багатозадачність?