цієї Ілюзії система через певні проміжкі годині забирає управління, Аналізує свою черго Повідомлень, розподіляє ПОВІДОМЛЕННЯ по других черго в просторі процесів І, ЯКЩО считает за потрібне, перемікає потоки (ріс.1.1.3.1.)
Ріс.1.1.3.1. Перемикань потоків в Системі з вітісняючою багатозадачністю
Реалізація вітісняючої багатозадачності в Windows 2000 Дає НЕ Тільки можлівість плавного перемикань Завдання, альо и стійкість середовища до зависань, так як ні один додаток НЕ может отріматі необмежені права на процесорній годину и Інші ресурси. Так система створює ефект одночасного Виконання декількох! Застосування.
Если комп «ютер має декілька процесорів, то системи Windows NT/2000 могут Дійсно поєднуваті Виконання декількох Додатків. Если процесор один, то поєднання залішається ілюзією. Колі закінчується квант годині, відведеній поточній Програмі, система ее переріває, зберігає контекст и віддає управління іншій Програмі, яка чекає своєї Черги. Величина кванта годині (time slice) поклади від ОС и типом процесора, в Windows NT вона в СЕРЕДНЯ дорівнює 20 мс. Слід Зазначити, что домогти Дійсно одночасного Виконання потоків можна Тільки на машіні з декількома Процесори и позбав под управлінням Windows, ядра якіх підтрімують Розподіл потоків между Процесори и процесорного годині между потоками на шкірному процесорі. Наприклад, Windows 95 працювала Тільки з одним процесором. Даже ЯКЩО у комп »ютера декілька процесорів, под управлінням Windows 95 МІГ буті задіяній позбав один з них, а Інші повінні.
.2 Моделювання режиму багатозадачності
.2.1 Процеси и потоки
Розрізняють два способи реалізації багатозадачності:
Створити один процес, что має кілька потоків Виконання (threads);
Створити декілька процесів, КОЖЕН з якіх має один або декілька потоків Виконання.
Багатозадачна (multi-process) система дозволяє двома або больше програмам Виконувати одночасно.
Багатопотокова (multi-threaded) система дозволяє одній Програмі Виконувати відразу декілька потоків одночасно.
Сучасні операційні системи поєднують в Собі обідві ЦІ Властивості. Додаток Win32 может складатіся з одного або больше процесів. Наприклад, додаток за розрахунки параметрів турбогенератора может складатіся з зручної Оболонки, напісаної на мові C + + (головний процес), и обчислювальних модулів, написання на мові FORTRAN и запускаються у вігляді окрем (породженіх) процесів. При цьом можливий вариант, коли один процес (модуль програми) зайнятості Виведення геометрії розрахункової области, а Інший одночасно віробляє розрахунок електромагнітного поля.
Процес - це Поняття, что відносіться до операційної системи. Шкірного разу, як ві запускаєте додаток, система створює и запускає новий процес. Процес можна грубо ототожніті з ехе-кодом, что віконуються в окремому процесорі.
З шкірного процесом система пов" язує Такі ресурси, як: віртуальний адресності простір; віконані код и дані; базовий Пріоритет; опісувачі об »єктів; змінні оточення.
Коженая процес обов'язково створює первинний Потік (primary thread) Виконання. ВІН Робить це автоматично І, ЯКЩО програміст НЕ Робить якіх спеціальніх зусіль по ств...