Автор работы: Пользователь скрыл имя, 03 Апреля 2011 в 14:01, реферат
В компьютерных технологиях многозадачность – это метод, в котором различные задачи, также известные как процессы, делят общие ресурсы, такие как центральное обрабатывающее устройство (центральный процессор) , который является исполнителем машинных инструкций и отвечает за выполнение всевозможных операций, которые задаются программами.
1.Что такое многозадачность?....................................................стр.3
2.Основные принципы многозадачности в Windows………...стр.4
3.Синхронизация потоков……………………………………...стр.5
4.Windows NT как родоначальник многозадачности………...стр.10
5.NT и ее улучшенные версии…………………………………стр.11
Windows 95……………………………………………………………….стр.11
Windows 98……………………………………………………………….стр.12
Windows 2000…………………………………………………………….стр.12
Windows XP………………………………………………………………стр.13
Windows Vista…………………………………………………………….стр.14
6.Сходства и различия Windows 9x и Windows NT (2000, XP)..стр.15
7.Заключение ……………………………………………………стр.17
8.Список литературы……………………………………………стр.18
ожидать подготовки новых данных.
Наряду с выполнением операций установки и сброса события можно сгенериро-
вать импульсное
событие:
BOOL PulseEvent( hEvent ) ;
Импульсное событие включает сигнал на короткий промежуток времени. Приме-
нение этой функции для события, сбрасываемого вручную, позволяет оповестить о нем
все ожидающие потоки, а затем сбросить событие. Вызов функции для события, сбрасы-
ваемого автоматически, дает возможность оповестить только один ожидающий поток.
Если не было ни одного ожидающего потока, то никакой другой поток не будет опове-
щен. С другой стороны, установка автоматического события позволит оставить сигнал
включенным до тех пор, пока не появится ожидающий его поток. После оповещения по-
тока событие сбрасывается автоматически.
Семафоры, исключающие семафоры и события могут совместно использоваться
несколькими процессами, которые необязательно должны быть связаны друг с другом.
Путем совместного задействования синхронизирующих объектов процессы могут коор-
динировать свои действия по аналогии с тем, как это делают потоки. Существует три
механизма совместного использования. Первый из них - это наследование, при котором
один процесс создает новый процесс, получающий копии всех дескрипторов родитель-
ского процесса. Копируются только те дескрипторы, которые при создании были поме-
чены как доступные для наследования.
Два других метода сводятся
к созданию второго
екта с помощью вызова функций. Какая из функций будет вызвана, зависит от имею-
щейся информации. При наличии дескрипторов как исходного процесса, так и процесса,
назначения следует вызывать функцию DuplicateHandle, при наличии только имени объ-
екта - одну из функций Openxxx. Две программы могут заранее определить имя совме-
стно используемого объекта. Кроме того, одна из программ способна передать другой
это имя посредством совместно используемой области памяти функций DDEML (DDE
Management Library - библиотека
управления динамическим
ла.
BOOL DuplicateHandle(
HANDLE hSourceProcess, // процесс, которому принадлежит
HANDLE hSource, // дескриптор исходного объекта
HANDLE hTargetProcess, // процесс, который хочет создать
LPHANDLE lphTarget, // переменная для записи копии дескриптора
DWORD fdwAccess,
// запрашиваемые привилегии
BOOL bInherit, // может ли наследоваться копия дескриптора?
DWORD fdwOptions ); // дополнительные операции, например
HANDLE OpenMutex(
DWORD fdwAccess, //запрашиваемые привилегии доступа
BOOL binherit, // TRUE - дочерний процесс может
LPTSTR lpszName );
// имя исключающего семафора
HANDLE OpenSemaphore(
DWORD fdwAccess,
// запрашиваемые привилегии
BOOL bInherit, //TRUE - дочерний процесс может
LPTSTR
lpszName );
// имя семафора
HANDLE OpenEvent(
DWORD fdwAccess,
// запрашиваемые привилегии
BOOL bInherit, // TRUE - дочерний процесс может
LPTSTR lpszName );
// имя события
Используемый в этом примере тип данных LPTSTR - это обобщенный текстовый
тип, который
компилируется по-разному в
или ASCII, поддерживается приложением.
Семафоры, исключающие семафоры
и объекты событий будут
ти до тех пор, пока не завершатся все использующие их процессы или пока с помощью
функции CloseHandle не будут закрыты все дескрипторы соответствующего объекта:
BOOLCloseHandle(hObject);
Критический раздел
что и исключающий семафор, но в отличие от последнего критический раздел не может
наследоваться. Оба объекта доступны только для одного процесса. Преимущество кри-
тических разделов перед исключающими семафорами состоит в том, что они проще в
управлении и гораздо быстрее работают .
Терминология, принятая для функций,
которые используются при
ческими разделами, отличается от терминологии, разработанной для функций управле-
ния семафорами, исключающими семафорами и событиями, однако сами функции вы-
полняют одни и те же операции. В частности, принято говорить не о создании
критического раздела, а о его инициализации. Процесс не ожидает критический раздел, а
входит в него, и не освобождает критический раздел, а покидает его; к тому же вы не
закрываете дескриптор,
а удаляете объект.
VOID InitializeCriticalSection ( LPCRITICAL_SECTION lpcs );
VOID EnterCriticalSection( LPCRITICAL_SECTION lpcs );
VOID LeaveCriticalSection( LPCRITICAL_SECTION lpcs );
VOID DeleteCriticalSection(
LPCRlTICAL_SECTION lpcs );
Переменная типа LPCRITICAL_SECTION содержит указатель (а не дескриптор)
критического раздела. Функция InitializeCriticalSection должна получить указатель на
пустой объект
(&cs).
Windows
NT как родоначальник
многозадачности.
Windows NT – это линия операционных систем, производимых корпорацией Microsoft, релиз первой версии которой был в июле 1993. Это была мощная, основанная на высокоуровневом программном языке, многофункциональная, многопользовательская операционная система, сравнимая с UNIX. Основным архитектором этой системы был Дейв Катлер. NT была первой операционной системой Windows, основанной на гибридном ядре (также называемым как макроядро), а также первой полной 32-битной версией Windows, в то время как его аналоги - Windows 3.1 и Windows 9 – были 16-битными/32-битными гибридами. Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Home Server, Windows Server 2008 and Windows 7 основаны на Windows NT, хотя в мире они выступают не под брендом Window NT.
Программы и подсистемы в пользовательском режиме ограничены в том, к каким системным ресурсам они имеют доступ, в то время как режим ядра имеет неограниченный доступ к системе памяти и внешним устройствам. Ядро Window NT известен как гибридное ядро (или макроядро). Архитектура содержит обычное ядро, уровень аппаратных абстракций, драйвера и ряд сервисов, которые есть в режиме ядра.
Пользовательский режим в Window NT состоит из подсистем, которые способны переносить, передавать запросы ввода/вывода к соответствующему программному обеспечению драйверов режима ядра с использованием менеджера ввода/вывода. Две подсистемы составляют пользовательский режим Window NT: подсистема окружающей среды, окружения (которая запускает приложения, написанные для разных видов операционных систем), и центральная подсистема (оперирует специальными системными функциями от имени подсистемы окружения). Режим ядра в Window NT имеет полный доступ к аппаратному обеспечению и ресурсным системам компьютера. Режим ядра предостерегает службы и приложения пользовательского режима от достижения областей операционной системы, к которым у них не должно быть доступа.
Исполнительная
часть программы со всеми подсистемами
пользовательского режима имеет дело
с вводом/выводом, управлением объектов,
безопасностью и управлением процессами.
Ядро «сидит» между уровнем аппаратных
абстракций и исполнительной частью для
предоставления многопроцессорную синхронизацию,
связывает и прерывает распределение
и координацию. Ядро также отвечает за
инициализацию устройств драйвера в программе
начального пуска. Драйвера режима ядра
существуют в трех уровнях: высший уровень
драйверов, средний и низший. Модель драйвера
Windows – модель среднего уровня и была
в основном изобретёна бинарной сдвоенной,
а источник сравним с Windows 98 и Windows 2000.
NT
и его улучшенные версии
Многие программисты возлагали на Windows NT большие надежды с его появлением. Но он не превзошел их ожидания. Эта операционная оказалась довольно таки тяжеловесной, громоздкой. Из-за этого требовался огромный на то время объем оперативной памяти в 16 Мбайт, когда в основном преобладал объем в 8 Мбайт. Следовательно, установить Windows NT могли только счастливчики, которые обладали устройствами чтения компакт-дисков. Но на то время это было очень дорогим удовольствием, и лишь малое количество пользователей имели возможность установить CD-ROM. И конечно же круг любителей и пользователей Windows NT был довольно таки мал. Остальные продолжали пользоваться устаревшим, но проверенным Windows 3.1.
Но все же Windows приняла решение не отказываться от своего детища и начала продуктивную работу над улучшенной операционной системой. После выпуска нескольких выпущенных версий разработчики поняли. что без привлечения других независимых разработчиков различного программного обеспечения не обойтись.
Windows
95
Итак, в 1995 на свет появилась новая операционная система Chicago, а точнее Windows 95. Основной особенностью этой системы стало то, что ее интерфейс был очень похож на интерфейс системы Windows NT. Вся стратегия, использованная для создания Windows 95, получила своё – количество 32-битовых программ увеличивалось с невероятной скоростью. Но многие вскоре снова обратились к Windows NT. Ведь все же данная операционная система способна на поддержание работы одновременно с несколькими процессами, в то время как Windows 95 к сожалению имеет в использовании только один процессор.
Низший уровень этой операционной системы сформирован из огромного количества виртуальных устройств. Эти устройства отвечают за управление такими физическими устройствами, как видеокарта и сетевая карта, за копирование виртуальные устройства, используемые виртуальными машинами или за предоставление различных системных служб. Вот три наиболее важные виртуальные устройства: виртуальный машинный менеджер, менеджер конфигурации и подсистема ввода/вывода.
Виртуальный машинный менеджер считается ядром Windows 95 и в ответе за такие задачи, как управление памятью, событием или управление прерыванием, загрузка и инициализация всех других виртуальных устройств, создание новых виртуальных машин, а также распределение сетей.
Менеджер конфигурации обнаруживает все устройства в системе, которые используют несколько нумераторов, наблюдает за изменением системы на конфигурацию аппаратного обеспечения.
Подсистема ввода/
Windows
98
Вскоре вслед за линейкой операционных систем Windows 95 была выпущена новая - Windows 98. Самым существенным отличием данной операционной системы от предыдущей стало наличие средств связи с Internet, которые были встроенными.
В Windows 95/98 работа с потоками доступна только 32-разрядным процессорам. Старые версии Windows не могут работать с функциями, которые отвечают за потоки. Любой 32-разрядный драйвер устройства имеет возможность создавать дополнительные потоки, а Windows 95/98 в отличии от предыдущих версий может организовывать диспетчеризацию всех потоков в соответствии с алгоритмами вытеснения, что представляет собой еще одна способность многозадачности Windows. Несмотря на то, что все эти потоки могут представлять совершенно различные виды программ, все же в самой системе все они показаны в виде одинаковых структур данных.