Первая 32–разрядная ОС для компьютеров IBM PC - Windows 95. Она появилась в результате слияния ОС MS-DOS и ее графической оболочки Windows 3.1. Операционная система Windows ориентирована на работу 32-разрядных программ, многие ее компоненты являются 32-разрядными. Разрядность – это максимальное количество разрядов двоичного числа, над которым одновременно может выполняться машинная операция, в т.ч. и операция передачи информации; чем больше разрядность, тем, при прочих равных условиях, будет больше и производительность ПК.
Большинство программ для ОС MS DOS относилось к 16-разрядным программам, которые использовали реальный режим работы микропроцессора. Реальный режим значительно ограничивает возможности программы, т.к. в этом режиме затруднен доступ в верхние (свыше 1 Мбайта) области памяти. MS-DOS не имеет средств для поддержки 32-разрядных программ, работающих в защищенном режиме микропроцессора. Чтобы такие программы могли работать в среде MS-DOS, требуется дополнительное программное обеспечение, расширяющее функции MS-DOS. Возможен так же вариант, когда дополнительные функции, обеспечивающие защищенный режим, включаются непосредственно в код программы, увеличивая тем самым ее объем.
ОС Windows полностью обеспечивает работу 32-разрядных программ, причем она спроектирована таким образом, что использование 32-разрядных программ в ее среде является наиболее оптимальным. В среде Windows также успешно функционируют 16-разрядные программы, но они не могут задействовать все ресурсы системы.
32-разрядные программы занимают больше оперативной и дисковой памяти, чем 16-разрядные. Но это компенсируется, во-первых, увеличением скорости работы программы, во-вторых, удешевлением всех видов памяти, в т.ч. и электронной.
3.2.2. Многозадачность и многопоточность
ОС Windows является многозадачной (мультизадачной), т.е. она способна «одновременно» выполнять несколько программ. На самом деле один МП может выполнять инструкции только одной программы. Однако ОС настолько оперативно реагирует на потребности той или иной программы, что создается впечатление одновременности их работы. Например, в процессе подготовки текстового документа можно параллельно печатать содержимое какого-либо файла и проверять на вирус жесткий диск.
Многозадачность может быть кооперативной и вытесняющей. При кооперативной многозадачности ОС не занимается решением проблемы распределения процессорного времени. Распределяют его сами программы. Причем активная программа (т.е. та, с которой работают в настоящий момент) самостоятельно решает, отдавать ли процессор другой программе. Момент передачи управления здесь зависит от хода выполнения задачи. Таким моментом должен быть системный вызов, т.е. обращение к системе за какой-либо услугой (ввод или вывод на внешнее устройство и пр.). Фоновым задачам выделяется процессорное время при простое приоритетной задачи (ожидание нажатия клавиши и др.).
Кооперативная многозадачность была реализована в среде Windows 3.1. В Windows кооперативная многозадачность обеспечивается для 16-разрядных приложений, т.к. эти приложения, созданные для Windows 3.1., умеют самостоятельно распределять процессорное время.
При вытесняющей многозадачности распределением процессорного времени между программами занимается ОС. Она выделяет каждой задаче фиксированный квант времени процессора. По истечении этого кванта времени система вновь получает управление, чтобы выбрать другую задачу для ее активизации. Если задача обращается к ОС до истечения ее кванта времени, то это также служит причиной переключения задач. Такой режим многозадачности Windows реализует для 32-разрядных приложений, а также для программ, написанных для MS-DOS.
Многопоточность операционной системы означает, что работающие программы (процессы) могут разделяться на несколько частей. При этом каждая часть самостоятельно претендует на процессорное время. Это обеспечивает одновременное выполнение программой нескольких не связанных друг с другом операций. Например, в ТП вычисления в разных ячейках благодаря многопоточности могут выполняться одновременно, причем параллельно с вычислениями могут быть организованны ввод данных в ячейки, их вывод на печатающее устройство и т.п.