Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Вытесняющая многозадачность и многопоточность






Операционная система Windows является многозадачной (multitasking — мультизадачной), т.е. она способна " одновременно" выполнять несколько программ. На самом деле один ми­кропроцессор может выполнять инструкции только одной программы. Однако операцион­ная система настолько оперативно реагирует на потребности той или иной программы, что создается впечатление одновременности их работы. Например, в процессе подготовки тек­ста можно параллельно печатать содержимое какого-либо файла и проверять на вирус же­сткий диск.

Многозадачность может быть кооперативной и вытесняющей. При коопера­тивной многозадачности (cooperative multitasking) операционная система не за­нимается решением проблемы распределения процессорного времени. Распределяют его сами программы. Причем активная программа самостоятельно решает, отдавать ли процес­сор другой программе. Момент передачи управления здесь зависит от хода выполнения за­дачи. Таким моментом должен быть системный вызов, т.е. обращение к системе за какой-либо услугой (ввод или вывод на внешнее устройство и пр.). Фоновым задачам выделяется процессорное время при простое приоритетной задачи (ожидание нажатия клавиши и др.). Кооперативная многозадачность была реализована в среде Windows 3.1. В Windows 95 кооперативная многозадачность обеспечивается для 16-разрядных приложений, так как эти приложения, созданные для Windows 3.1, умеют самостоятельно распределять процессор­ное время.

При вытесняющей многозадачности (preemptive multitasking) распределе­нием процессорного времени между программами занимается операционная система Она выделяет каждой задаче фиксированный квант времени процессора. По истечении этого кванта времени система вновь получает управление, чтобы выбрать другую задачу для ее активизации. Если задача обращается к операционной системе до истечения ее кванта вре­мени, то это также служит причиной переключения задач. Такой режим многозадачности Windows 95 реализует для 32-разрядных приложений, а также для программ, написанных для MS DOS.

Многопоточность (multithreading) операционной системы означает, что рабо­тающие программы (процессы) могут разделяться на несколько частей, самостоятельно претендующих на процессорное время. Это обеспечивает одновременное выполнение программой нескольких не связанных друг с другом операций. Например, в табличном процессоре вычисления в разных ячейках благодаря многопоточности могут выполняться одновременно, причем параллельно с вычислениями могут быть организованы ввод дан­ных в ячейки, их вывод на печатающее устройство и т.п.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.