Cтраница 3
От современных операционных систем требуется многозадачность. Очень удобно, когда одновременно можно работать с несколькими программами. Еще более удобно, когда данные из одной программы можно переносить в другую. [31]
![]() |
Менеджер задач CoDeSys. [32] |
В системе исполнения CoDeSys реализована невытесняющая многозадачность. Это означает, что любая задача, даже более приоритетная, дает доработать текущей задаче до конца одного рабочего цикла. Работа циклических задач является аппаратно независимой. Механизм управления задачами ПЛК всегда опирается на аппаратный системный таймер, поэтому нельзя гарантировать, что система исполнения обеспечит точность вызова задач до миллисекунды. [33]
Какой смысл имеет это понятие для многозадачности. [34]
Очень высокая: I [ оддержка многозадачности с вытеснением для всех приложений. [35]
Одной из основных черт языка Ada является многозадачность, которая позволяет нескольким процессам протекать параллельно. [36]
Очевидное преимущество разделения пространства заключается в устранении многозадачности, что снижает накладные расходы по переключению контекста. Однако ее недостаток состоит в потерях времени при блокировке центрального процессора. Поэтому проводились активные поиски алгоритма, пытающегося планировать одновременно в пространстве и времени, особенно для процессов, создающих большое количество потоков, которым, как правило, требуется возможность общения друг с другом. [37]
Мы уже упоминали, что поддержка центральным процессором многозадачности заключается в наличии средств сохранения и загрузки контекста процесса. Отсюда следует, что процессор подразумевает наличие практически не связанных участков кода для каждого процесса, в том числе и для ядра операционной системы. В 16-разрядной системе Windows все приложения и системный код представляют собой одну последовательную программу, где передача управления от приложения системе заключается в обязательном завершении функции приложения, которая в свою очередь была вызвана системой. [38]
Еще одним фактором, который следует принять во внимание, является степень многозадачности. Как мы видели на рис. 4.4, когда количество процессов в основной памяти слишком мало, центральный процессор может простаивать значительные периоды времени. Когда нужно принять решение о том, какой процесс выгружать из памяти, это наблюдение является аргументом в пользу учета не только размера процесса и частоты подкачки страниц. Оно важно и для определения того, является ли он процессом, ограниченным возможностями процессора, или процессом, ограниченным скоростью ввода-вывода, а также аналогичных свойств остальных процессов. [39]
![]() |
Четыре программы в многозадачном режиме ( а. принципиальная модель четырех. [40] |
Как мы уже знаем из первой главы, это переключение и называется многозадачностью или мультипрограммированием. На рис. 2.1, а представлена схема компьютера, работающего с четырьмя программами. На рис. 2.1, б представлены четыре процесса, каждый со своей управляющей логикой ( то есть логическим счетчиком команд), идущие независимо друг от друга. Разумеется, на самом деле существует только один физический счетчик команд, в который загружается логический счетчик команд текущего процесса. Когда время, отведенное текущему процессу, заканчивается, физический счетчик команд сохраняется в логическом счетчике команд процесса в памяти. На рис. 2.1, в видно, что за достаточно большой промежуток времени изменилось состояние всех четырех процессов, но в каждый конкретный момент в действительности работает только один процесс. [41]
Процессоры Intel 80286 и далее уже поддерживают как защиту памяти, так и многозадачность. Но сейчас становится понятным, почему на машинах с тактовой частотой по крайней мере до 40 МГц и малым количеством памяти реализация полноценной операционной системы была просто невозможной - решить задачу было бы быстрее на бумаге, чем на компьютере. Сейчас, когда уже купить машину на базе процессора 386 стало сложнее, чем Pentium, оперативная память подешевела почти в 20 раз, а быстродействие и объем жестких дисков выросли на 1 - 2 порядка при снижении цен в 5 раз, самое время вспомнить о давно реализованных системах и сделать операционную систему персонального компьютера достойной достижениям в области электроники и схемотехники. [42]
Сердце системы, называемое монитором виртуальной машины, работает с оборудованием и обеспечивает многозадачность, предоставляя верхнему слою не одну, а несколько виртуальных машин, как показано на рис. 1.22. Но, в отличие от всех других операционных систем, эти виртуальные машины не являются расширенными. Они не поддерживают файлы и прочие удобства, а представляют собой точные копии голой аппаратуры, включая режимы ядра и пользователя, ввод-вывод данных, прерывания и все остальное, присутствующее на реальном компьютере. [43]
Сердце системы, называемое монитором виртуальной машины, работает с оборудованием и обеспечивает многозадачность, предоставляя верхнему слою не одну, а несколько виртуальных машин, как показано на рис. 1.22. Но, в отличие от всех других операционных систем, эти виртуальные машины не являются расширенными. Они не поддерживают файлы и прочие удобства, а представляют собой точные копии голой аппаратуры, включая режимы ядра и пользователя, ввод-вывод данных, прерывания и все остальное, присутствующее на реальном компьютере. [44]
На рис. 4.3 показана зависимость степени использования центрального процессора от числа п, называемого степенью многозадачности. [45]