Операционная система WindowsЗнание системы Windows - необходимый кирпичик в стене познания ПК. История создания и этапы развития Начало
Предполагалось обеспечить разработчиков встроенными функциями для реализации пользовательского интерфейса и его компонентов - окон, меню, панелей диалога, которые могли бы управляться с помощью клавиатуры или мыши. Когда работа над средой Wind ows только начиналась, в распоряжении Microsoft был компьютер с процессором 8088 и максимальным объемом памяти 640 Кбайт. Предполагалось, что пользователи этой среды имеют порядка 256 Кб памяти, а жесткий диск им не доступен из-за высокой цены. Налучшим графическим адаптером в те времена был CGA с разрешением 320 на 200 при работе с четырьмя цветами. Адаптер Hercules обеспечивавший разрешение 720 на 348 в монохромном режиме был тогда новинкой. Работа графической среды в таких условиях была безумно медленной. В 1983 г стали просачиваться первые cведения о разработке Windows. К концу 1984 года казалось, разработка Windows не завершится никогда. В ноябре 1984 года фирма Microsoft объявила, что поставка Windows отложена до июня следующего года. К тому времени на рынке присутствовали два аналогичных продукта - TopView фирмы IBM и VisiОn фирмы VisiCorp , оба работавшие в текстовом режиме. В то время Билл Гейтс возлагал большие надежды на графическую пользовательскую среду (концепции 'компьютер в каждом доме и на каждом столе' и 'мгновенно доступная информация' пришли несколько позже). Несмотря на высокую цену и низкую производительность, на рынке ощущалось некоторое влияние компьютеров Macintosh, хотя в 1984 году появились компьютеры I ВМ РС и Compaq. И, наконец, Windows 1.0
Поддержка перекрывающихся окон стала одной из причин длительных судебных процессов между фирмой Apple и фирмами Digital Res e arch (графическая оболочка GEM) и Microsoft. Окна могли перемещаться по экрану; была реализована поддержка клавиатурных эквививалентов для большинства стандартных команд и функций меню. Не менее важным было введение протокола динамического об мена данными (DDE), и пакет Excel явился первым примером использования этой концепции. Протокол давал возможность установить динамическую связь между приложениями. Аналогичный протокол был реализован, фирмой Apple только в рамках операционной системы System 7 в 1990 году. Использование процессора 80 3 86
Версия Windows/286 была улучшенной версией Windows 2.0 с поддержкой протокола управления расширенной памятью EMS 4.0. Версия Windows/386 предоставляла несколько больше возможностей. Используя аппаратные преимущества процессора 80386, эта среда могла эмулировать расширенную память в дополнительной памяти и выполнять одновременно несколько программ, работая в виртуальном 8086 режиме процессора 80386. Но даже при наличии Windows/386, высокопроизводительных процессоров, значительного количества памяти и поддержке VGA-графики среде Windows не доставало большого количества прикладных программ. Большинство фирм - производителей программного обеспечения делали ставку на OS/2. К их числу относились Borland и Lotus. В их планы разработка приложений для среды Win do ws в ближайшее время не входила. Windows 3.0. Похоже на то, что обещали
Поддержка 386 расширенного режима была перенесена из Windo w s/386. Прикладным программам теперь отводилось до 16 Мбайт памяти, причем не странично организованной, как в LIM EMS, а доступной для одновременного использования. Была реализована псевдомногозадачность и возможность выполнения DOSпрограмм в окне. Заметно улучшился пользовательский интерфейс. Программы управления файлами File Manager и Program Manager были выполнены в стиле самой среды, появилась программа конфигурации Control Panel, были добавлены пропорциональные шрифты, а также объемные интерфейсные элементы: полосы прокрутки и кнопки. Изменения в работе дисплейных драйверов и возможность адресации большего объема памяти позволили Windows работать существенно быстрее. Наконец-то, и пользователи, и разработчики программных продуктов получили именно ту среду, которую они так долго ждали. Среди фирм - производителей программного обеспечения началась поистине Windows-истерия: все, что можно и нельзя было перенести в эту среду, получало название for Windows: компиляторы, электронные таблицы, графические пакеты, коммуникационные программы, игры - все шло на алтарь Windows. В такой гонке многие фирмы задыхались, отставали, другие вырывались вперед. Друзей не было и нет, небольшие и крупные фирмы, вовремя не развернувшиеся в сторону Windows , сметались с пути, их скупали, с ними объединялись, обменивались акциями, одним словом, неповоротливые клиенты просто уничтожались. Многие фирмы росли как на дрожжах: еще вчера они предлагали один - два продукта, работающих в среде DOS , а сегодня - широкий спектр Windows -продуктов. Пусть не очень высокого качества, но зато сегодня. Windows 3.1. Еще лучше чем было.
Решение этих проблем привело к появлению версии Windows 3.1, которая изначально планировалась как небольшое улучшение версии 3.0. На самом деле введение поддержки масштабируемых шрифтов технологии TrueType и исправление ряда принципиальных ошибок превратило Windows 3.1 в самостоятельный проект, к которому в результате добавились значительные новшества. Так, был реализован протокол создания составных документов OLE, документирован протокол Drag-and-Drop, улучшен интерфейс с протоколом DDE (библиотека DDEML), введены панели диалога общего назначения (COMMDLG), в ответ на многочисленные запросы были открыты ранее недокументированные функции и рабочие области ядра (TOOLHELP). Одним словом, среда Windows превратилась в хороший инструмент для разработчиков и удобный графический интерфейс для пользователей. Windows for Workgroups 3.11: интеграция сетевых средств
Данная система логически продолжает линию Windows и позволяет соединить в единую сеть отдельные компьютеры по бессерверной схеме (одноранговая сеть), а также позволяет работать как сетевой клиент для сервера Windows NT . Теперь для организации сети необходимо иметь только Windows и соответствующее оборудование - сетевые карты, кабели и т.д. В Windows for Workgroups впервые стали использоваться 32-разрядные драйверы виртуальных устройств ( VxD) и 32-разрядный доступ к жесткому диску, что значительно повысило производительность. Еще одним новшеством стало то, что Windows for Workgroups работала только в 386-м расширенном режиме, тем самым подписывая смертный приговор устаревшим 286-м процессорам. Windows NT 3.51 - новая технология Microsoft
Архитектура Windows NT разрабатывалась таким образом, чтобы система обладала максимальной устойчивостью и надежностью. И надо сказать это разработчикам удалось, Windows NT обеспечивает стабильность вполне сравнимую с серверами UNIX . Windows NT функционирует не только на платформе Intel, но и на RISCпроцессорах: PowerPC, MIPS R4000, DEC Alpha. Windows NT может исполнять приложения DOS, Win16, Win32, POSIX и приложения OS/2 , не использующее графический интерфейс. Одним из важнейших новшеств стало использование новой файловой системой NTFS , обеспечивающей высокую надежность файловой системы и практически любого восстановления сбоев, кроме того могут использоваться старая система FAT и HPFS (OS/2 Warp) , которые позволяют использовать Windows NT на одном разделе жесткого диска с DOS и OS/2. Также нововведением стала поддержка симметричной мультипроцессорной обработки и технологии OpenGL, позволяющей работать с 3-хмерными объектами. К сожалению эту операционную систему даже сейчас не могут себе позволить большинство пользователей, так как она чрезвычайно требовательна к аппаратуре, официальные требования составляют: процессор 386/25, 12 Мбайт ОЗУ, 90 Мбайт свободного места на диске. Долгожданная Windows 95
Начался шквал: все журналы писали о Windows 95, стали выходить книги, проводилась широкая рекламная компания, все производители программного обеспечения стали переделывать свои продукты для этой новой операционной системы, производители компьютеров и комплектующих старались получить логотип Designed for Windows 95 . Причина же, по которой Windows 95 оказалась в центре всеобщего внимания, проста: это самое важное обновление системы Windows со времени появления в 1990г. Windows 3.0. Пользователи теперь получили теперь преимущества объектно-ориентированного интерфейса, включая настоящий «рабочий стол» и пиктограммы, копирование и удаление техникой перетаскивания ( drag-and-drop) , вложенные папки и легко доступный диалог для задания свойств. Файловая система распознает длинные имена файлов и хорошо соответствует метафоре «рабочего стола». Windows 95 внесла значительные улучшения в архитектуру Windows, в том числе истинно 32-разрядный интерфейс прикладного программирования (API), защищенные адресные пространства для ее собственных 32-разрядных прикладных программ, вытесняющую многозадачность, разделение прикладных программ на потоки и более широкое использование виртуальных драйверов устройств. Модель защиты памяти реализована с серьезными компромиссами, целью которых было достигнуть совместимости с существующими 16-разрядными прикладными программами и драйверами устройств. Но на практике устойчивость системы оказывается лучше, чем у Windows 3.1х. Производительность же Windows 95 на удивление высока. На медленных системах, оснащенных ОЗУ не более 4 Мбайт, ее показатели почти такие же, а иногда и лучше результатов Windows 3.1х, в зависимости от выполняемой операции. На более быстродействующих системах с большей памятью она остается весьма конкурентоспособной в однои многозадачном режимах работы. Windows NT с новым лицом - Windows NT 4.0
Некоторые изменения коснулись и архитектуры: достигнута более высокое быстродействие и снижены потребности в памяти, однако новый объектно-ориентированный интерфейс сводит эти достижения на нет и в общем остается такой же прожорливой на память. Windows будущего
Усовершенствованная система управления электропитанием для блокнотных ПК сможет отключать интенсивно расходующие энергию PC-карты; планируется также поддержка ожидаемого вскоре стандарта на 32-разрядные PC-карты - CardBus. КРУПНЫМ ПЛАНОМ Windows 3.х
Система Windows 3.1 построена на тех же принципах, что и Windows 3.0, впервые появившаяся в 1990 г. Она загружается поверх DOS, которая обеспечивает многие базовые функции ОС. Windows добавляет к инфраструктуре DOS графическую операционную среду и новые функциональные возможности, такие как простой механизм кооперативной многозадачности , используемый для одновременного выполнения нескольких прикладных программ DOS и Windows .
Результатом будет весьма неприятная ошибка общего нарушения защиты ( General Protection Fault) . Иногда Windows с честью выходит из положения, восстанавливая свою работоспособность, но чаще всего это ей не удается. В своей основе Windows 3.x - 16-разрядная операционная система, поэтому для программ память представляется состоящей из 64-Кбайт сегментов, а все данные в свой основе 16-разрядные. Такая система не только доводит программистов, но и может оказаться менее эффективной по сравнению с 32-разрядной адресацией при работе с большими массивами данных. Еще одно следствие 16-разрядной базы этой ОС - ограниченность системных ресурсов. В Windows 3.x для хранения таких структур, как дескрипторы файлов прикладных программ выделяется лишь небольшой блок памяти в других адресах. После того как эти области памяти заполнятся, Windows не может загрузить новые прикладные программы, даже если в ее распоряжении остается вполне достаточно памяти в других адресах. Пользовательский интерфейс Windows , основанный на модулях Program Manager и File Manager , знаком большинству пользователей PC . Сюда входят панель управления Control Panel , служащая для изменения параметров среды, и ряд небольших прикладных программ, среди которых Notepad, Write, Paint, Terminal и неувядающие игры Minesweeper и Solitaire . В Windows for Workgroups дополнительно введен ряд сетевых функций. Наиболее заметные из них - средства организации одноранговых сетей, которые позволяют вам пользоваться диском или каталогом совместно с другими пользователями либо с помощью встроенных сетевых функций Windows, либо через более крупную сеть на основе сервера, такую, как NetWare фирмы Novell или Windows N T. Кроме того, в Windows for Workgroups добавлен клиент электронной почты Microsoft Mail и планировщик Schedule +. Для пользователей, не подключенных к сети, большое преимущество Windows for Workgroups состояло в применении 32-разрядного виртуального драйвера устройств (VxD) для файловой системы. Он может значительно повысить производительность многих накопителей с интерфейсом IDE. Хотя Windows подвергалась справедливой критике за недостаточность предусмотренных в ней средств защиты памяти и примитивную модель многозадачности, она представляла собой большой шаг вперед по сравнению с DOS и более старыми версиями этой же оболочки. Для пользователей, располагающих медленными машинами с ОЗУ ограниченной емкости , она по-прежнему остается лучшей альтернативой. WINDOW S 95
Наиболее важные компромиссы в архитектуре Windows 95 были порождены решением корпорации Microsoft сделать ее совместимой с существующими 16-разрядными прикладными программами Windows и драйверами устройств реального режима. Это позволяет Windows 95 работать с гораздо более широким спектром существующих аппаратных и программных средств, чем работают OS/2, Windows NT, UNIX . Недостаток этого решения заключается в том, что области памяти, содержащие 16-разрядные прикладные программы и драйвера реального режима, должны оставаться незащищенными. Недоработанная программа по-прежнему относительно легко может вызвать крах всей операционной среды. В Windows 95 каждая 32-разрядная прикладная программа выполняется в собственном адресном пространстве, но все они совместно использую один и тот же 32-разрядный системный код. Неправильно написанная 32-разрядная программа все еще может привести к аварийному сбою всей системы. Все 16-разрядные программы Windows разделяют общее адресное пространство, поэтому они столь уязвимы друг для друга, как и в среде Windows 3.1. . В практической работе Windows 95 производит впечатление более устойчивой среды, чем предшествующие версии Windows. Очевидны крупные изменения в пользовательском интерфейсе Wind ows 95. Вы используете кнопку S tart для запуска прикладных программ самих по себе или через документы, с которыми программы связаны. После запуска программ их пиктограммы появляются на линейке заданий, обычно размещаемой в нижней части экрана. Щелчок на любой кнопке линейки заданий вызывает переключение на соответствующую программу. Это самый интуитивно понятный способ переключения задач из всех когда-либо существовавших. Модули Program Manager и File Manager уступили место метафоре «рабочего стола», на котором ваши файлы показаны в виде пиктограмм, помещенных в так называемые папки. Более сложные функции по управлению файлами Windows 95 поручены утилите Explorer, по существу заменившей F ile Manager, которая показывает древовидную диаграмму файловой структуры вашего компьютера и его сетевого окружения. Благодаря расширению файловой системы FAT имена файлов не ограничены, как раньше, восемью символами плюс состоящим из трех букв расширением; вы можете использовать имена длиной до 255 символа.
Конечно, метафора «рабочего стола», основанная на применении папок, и длинные имена файлов изобретены не создателями Windows 95; в течение длительного времени они были составной частью различных пользовательских интерфейсов, начиная с Macintosh и кончая Workplace Shell операционной системы OS/2. Увеличилось число и повысилось качество поставляемых вместе с Windows 95 стандартных вспомогательных программ - от традиционного калькулятора и игр до мощных инструментальных средств контроля состояния системы. Также очевидны значительные усовершенствования средств связи. Теперь в состав операционной системы входит клиент Exchange, который разрабатывался как универсальный почтовый ящик для входящей корреспонденции. Он работает в качестве клиентского ящика-получателя с системой Microsoft Mail, службой Microsoft Exchange Server и другими почтовыми системами, совместимыми со стандартом MAPI, а также с Microsoft Network. Он также позволяет получать и отправлять факсы с помощью встроенной службы Microsoft Fax. Расширились сетевые функциональные возможности. В состав Windows 95 включен встроенный клиент для сетей NetWare 3.x, 4.x и для серверов Windows NT . Предусмотрены также средства для работы с протоколами IPX/SPX, NetBEUI, TCP/IP. Последний из перечисленных протоколов позволяет выполнять подключение к Internet , хотя лучшая программа для соединения с Internet , содержащая утилиту просмотра Web , входит в состав пакета Microsoft Plus!. Windows95 позволяет непосредственно подсоединяться к другому компьютеру через кабель и располагает базовыми средствами для установления коммутируемых соединений через телефонные линии с сервером удаленного доступа Remote Access Server системы Windows NT, NetWare Connect или с коммутируемыми серверами компании Shiva . В состав Windows95 также входит интерфейс прикладного программирования для телефонии ( TAPI) фирмы Microsoft , обеспечивающий совместную работу вашей машины с телефоном, регистрируя телефонные вызовы и выполняя функции автоответчика ( прикладные программы для телефонии будут поставляться независимыми фирмами). Windows95 показывает вполне приемлемые результаты при выполнении как новых прикладных программ, так и программ Windows 3.x, хотя Windows for Workgroups опережает ее по быстродействию во многих дисковых операциях. Но на машинах с ОЗУ 8 Мбайт и более ее производительность сравнима или выше, чем у предыдущих версий Windows . Производительность системы при выполнении Windows-программ намного превышает аналогичный показатель системы Windows NT. При создании Windows 95 фирма Microsoft пошла на многие компромиссы. Но большинство пользователей, располагающих как минимум 8 Мбайт памяти, сделают правильный выбор, если перейдут на Windows 95. В результате они получат усовершенствованный графический интерфейс, более высокую производительность, усовершенствованный механизм многозадачности, надежную обратную совместимость и способность выполнять большое число новых прикладных программ. Windows NT
Архитектура системы Windows NT более надежна, чем любой другой системы фирмы Microsoft . Она благополучно восстанавливается после любых попыток привести ее к краху. Обеспечение такого уровня защиты неизбежно влечет за собой рост непроизводительных издержек и дополнительной памяти, что в большинстве случаев приводит к снижению производительности. В настоящее время Windows NT 3.51 реализована в версиях для рабочих станций Intel, Alpha, MIPS и PowerPC, хотя и возникает необходимость перекомпилировать прикладные программы, для того чтобы они выполнялись на каждой из этих платформ. Пользовательский интерфейс Windows NT практически идентичен интерфейсу Windows 3.1, со знакомой оболочкой на базе программ File Manager и Progra mm Manager, стандартными диалоговыми окнами, той же самой базовой организацией и встроенными прикладными программами. Как и в Windows for Workgroups, в него входят служебные программы для одноранговых сетей, а также клиенты для Microsoft Mail и Schedule+. Кроме того, этот интерфейс имеет много административных инструментов, в том числе утилиты для создания резервных копий, просмотра журнала событий Event Viewer, администратор диска Disk Administrator и программа контроля производительности Performance Monitor; он также обеспечивает функции сервера удаленного доступа (WAS), позволяющие производить регистрацию на удаленной машине. Многие сетевые средства входят в комплект поставки. Возможности сервера встроены в Windows NT Workstation, и вы можете совместно пользоваться файлами, каталогами и накопителями, если зарегистрированы как член группы Administrators (администраторы) или Power Users (полноправные пользователи). Windows NT располагает необходимыми средствами для работы со многими протоколами, в том числе IPX/SPX, Т CP / I Р и NetBEUI, а также для клиентов сетей Windows NT и NetWare. Инициатор запросов NetWare, утилита NetWare Link, является клиентом серверов NetWare 3.х и 4.х, хотя она еще не может работать с такими средствами NetWare 4.0 , как служба управления каталогами ( NDS) . Инсталляция проходит в большинстве случаев успешно, хотя иногда приходится задавать параметры звуковых и сетевых плат. Добавление новых драйверов упростилось: система выводит четкие указания относительно нужных драйверов. В целом совместимость с существующим программным обеспечением хорошая, хотя и не идеальна. Windows NT устроит пользователей, желающих получить максимально возможную степень устойчивости и защиты. Хотя в прошлом для этой ОС создавалось недостаточное число программ, переход разработчиков на систему Windows 95, имеющей почти идентичный интерфейс API , означает, что эта проблема вскоре исчезнет. Для работы Windows NT требуется мощный аппаратный комплект, но тем не менее она представляет хороший выбор для пользователей, готовых затратить несколько больше средств на приобретение оборудования и не нуждающихся в драйверах DOS. Windows NT 4.0
Внешне Windows NT 4.0 аналогична Windows 95. Единственный признак, позволяющий с первого взгляда различить эти две системы, - стартовое меню, где указано, в какой среде вы работаете. Достоинства и недостатки Windows 95 уже хорошо известны, однако необходимо отметить, что новый облик, как ни странно, не слишком облегчил работу. Например, если раньше многие функции управления файлами и дисками были объединены в программе File Manager, то теперь их приходится разыскивать по многочисленным меню объектов. В пакет входит ряд прикладных программ: Internet Information Server 2.0, Index Server, FrontPage, Internet Explorer, Domain Name System (DNS) Server, Proxy Server и Internet Resource Center, все пакеты Service Pack, Plus! и ряд дополнительных утилит, среди которых имеются как новые, например Administrative Wizards или Imager, так и усовершенствованные версии старых программ, например Task Manager. Administra t ive Wizard позволяет автоматизировать типичные задачи, возникающие при управлении сетью, а обновленные версии программ Windows NT Diagnostic, Perfomance Monitor служат для оперативного контроля за состоянием системы. Диалоговое окно Task Manager трансформировалось в мощную программу, которая предоставляет массу полезной информации - от степени загруженности процессора до имен всех активных системных процессоров. При этом пользователь не остается пассивным наблюдателем: при желании с помощью Task Manager можно, например, завершение любой задачи. Один из ключевых компонентов Windows NT 4.0 - Internet Information Server 2.0. Это гибкое и многофункциональное решение как для подключения к сети Internet, так и для создания собственной частной сети intranet. От пользователя требуется только настроить параметры протокола TCP/IP (при установленном сервисе DHCP IP-адрес присваивается автоматически), запустить IIS и создать одну или несколько собственных Web-страниц. После этого Web-документы доступны для всех пользователей вашей сети, у которых установлено ПО, обеспечивающее функционирование протокола TCP/IP и стандартный браузер World-Wide Web. Появились некоторые изменения в подсистеме дистанционного доступа, Remote Access Service (RAS). Теперь имеется возможность использовать защищенные каналы связи, новый протокол Point-To-Point Tunneling Protocol (PPTP), возможность использовать несколько модемов для организации каналов связи с удаленными сетями. Особенности сетевой архитектуры прежних версий Windows NT (многоуровневая модель защиты от несанкционированного доступа, специфика модульного построения системы и проч.) ограничивали ее пропускную способность при работе в сетях Fast Internet. В версии 4.0 были улучшены алгоритмы кэширования сетевых запросов, оптимизированы модули подсистемы разделения ресурсов, изменен механизм генерации прерываний (при переходе к высокоскоростным сетям эта функция неожиданно стала источником проблем для сетевых ОС). Второе изменение, на которое указывает Microsoft - увеличенная производительность ОС при выполнении графических операций. Разработчики, которые 'переодевали' Windows NT, перенесли часть кода модулей USER и GDI в ядро системы, что позволило ускорить выполнение графических операций на 15-20 %. Однако реальную выгоду от этого улучшения оценить трудно - операции вывода на экран представляют собой лишь малую часть работы, которую выполняют типичные программы для Windows NT. Выводы от более быстрой графики получат преимущественно САПР и ПО для мультимедиа, но даже в этом случае преимущества далеко не очевидны - быстро выполнив запросы на вывод изображения, операционная система, как правило, отдает освободившееся время процессам с более высокими приоритетами. Сочетание мощной сетевой ОС и графического интерфейса, созданного для неквалифицированных пользователей, выглядит довольно непривычно. Windows NT 4.0 - это не просто очередная версия популярной операционной системы. Она представляет собой основу для нового поколения программных продуктов, ориентированных на работу в сети Internet. Возможность создания инфраструктуры intranet, простота в обращении и хорошая репутация прошлых версий Windows NT в сочетании с усиливающейся тенденцией к созданию однородных сетей делают ее привлекательной для пользователей из сферы бизнеса. Обзор архитектуры Windows 3.х
Упрощенная организация системы позволяет получить очень малое рабочее множество ( working set - прикладной и системный код, который необходимо загрузить в память для любой данной задачи), поэтому Windows 3.1х может успешно выполняться на компьютерах с ОЗУ ограниченного размера. Такая архитектура также способствует повышению эффективности исполнения кода, так как программы могут вызывать функции API из собственного пространства памяти. Недостаток архитектуры состоит в слабой защите от сбоев при неправильной работе программ. Программы и системные компоненты видимы друг для друга, модуль, содержащий ошибки, может легко испортить содержимое памяти, принадлежащей другому процессу. Хотя Windows 3.1х способна восстанавливать свою работоспособность после некоторых нарушений защиты общего характера ( General Protection Fault ), зачастую результатом становится крах всей системы.
Другой недостаток, долгое время вызывавший недовольство пользователей Windows 3.1х, - ограниченность ресурсов модулей GDI и USER. Эти ограничения возникают в связи с тем, что системные библиотеки GDI и USER используют несколько 64-Кбайт динамических областей (хипов) для хранения разнообразных скрытых структур данных, создаваемых выполняющимися в данный момент прикладными программами. Когда эти небольшие хипы переполняются, вы получаете сообщение о нехватке памяти даже если в системе остается много свободной памяти. WINDOWS 95
Результатом стало появление гибридной ОС, способной работать с 16-разрядными прикладными программами Windows, программами, унаследованными от DOS , и старыми драйверами устройств реального режима и в то же время совместимой с истинными 32-разрядными прикладными программами и 32-разрядными драйверами виртуальных устройств.
Каждая собственная прикладная программа Windows 95 видит неструктурированное 4-Гбайт адресное пространство, в котором размещается она сама плюс системный код и драйверы Windows 95. Каждая 32-разрядная прикладная программа выполняется так, как будто она монопольно использует весь ПК. Код прикладной программы загружается в это адресное пространство между отметками 2 и 4 Гбайт. Хотя 32-разрядные прикладные программы «не видят» друг друга, они могут обмениваться данными через буфер обмена ( Clipboard) , механизмы DDE и OLE . Все 32-разрядные прикладные программы выполняются в соответствии с моделью вытесняющей многозадачности, основанной на управлении отдельными потоками. Планировщик потоков, представляющий собой составную часть системы управления виртуальной памятью ( VMM) , распределяет время среди группы одновременно выполняемых потоков на основе оценки текущего приоритета каждого потока и его готовности к выполнению. Вытесняющее планирование позволяет реализовать намного более плавный и надежный механизм многозадачности, чем кооперативный метод, используемый в Windows 3.1х. Системный код Windows 95 размещается выше границы 2 Гбайт. В пространстве между отметками 2 и 3 Гбайт находятся системные библиотеки DLL кольца 3 и любые DLL используемые несколькими программами. (В 32- разрядных процессорах фирмы Intel предоставляются четыре уровня аппаратной защиты, поименованные, начиная с кольца 0 до кольца 3. Кольцо 0 наиболее привилегированно.) Компоненты кольца 0 в системе Windows 95 отображаются в пространство между 3 и 4 Гбайт. Эти важные участки кода с максимальным уровнем привилегий содержат подсистему управления виртуальными машинами (VMM), файловую систему и драйверы VxD. Область памяти между 2 и 4 Гбайт отображается в адресное пространство каждой 32-разрядной прикладной программы, т. е. оно совместно используется всеми 32-разрядными прикладными программами в вашем ПК. Такая организация позволяет обслуживать вызовы API непосредственно в адресном пространстве прикладной программы и ограничивает размер рабочего множества. Однако за это приходится расплачиваться снижением надежности. Ничто не может помешать программе, содержащей ошибку произвести запись в адреса, принадлежащие системным DLL, и вызвать крах всей системы. В области между 2 и 3 Гбайт также находятся все запускаемые вами 16-разрядные прикладные программы Windows. С целью обеспечения совместимости эти программы выполняются в совместно используемом адресном пространстве, где они могут испортить друг друга так же, как и в Windows 3.1х. Адреса памяти ниже 4 Мбайт также отображаются в адресное пространство каждой прикладной программы и совместно используются всеми процессами. Благодаря этому становится возможной совместимость с существующими драйверами реального режима, которым необходим доступ к этим адресам. Это делает еще одну область памяти незащищенной от случайной записи. К самым нижним 64 Кбайт этого адресного пространства 32-разрядные прикладные программы обращаться не могут, что дает возможность перехватывать неверные указатели, но 16-разрядные программы, которые, возможно, содержат ошибки, могут записывать туда данные. Некоторые системные DLL Windows 95, в частности USER и GDI, все еще содержат 16-разрядный код. Одно из прискорбных следствий этого состоит в том, что 64- Кбайт локальные хипы модулей USER и GDI и сопутствующие им ограничения системных ресурсов по-прежнему остаются. К счастью, в Windows 95 некоторые структуры данных переместились в 32-разрядные хипы, благодаря чему теперь стало намного сложнее истощить системные ресурсы, чем в среде Windows 3.1х. Другая проблема, связанная c l6-разрядным системным кодом, - эффект Win16Mutex. Так как 16-разрядный системный код нереентерабелен, только один поток может обращаться к 16-разрядным DLL в каждый момент времени, потенциально затормаживая другие процессы, которым нужен доступ к этим библиотекам. Windows NT Workstation
Чрезвычайная надежность Windows NT обеспечивается ценой высоких системных затрат, поэтому для получения приемлемой производительности необходимы быстродействующий ЦП и по меньшей мере 16-Мбайт ОЗУ. В системе Windows NT безопасность нижней памяти достигается за счет отказа от совместимости с драйверами устройств реального режима. В среде Windows NT работают собственные 32-разрядные NT-прикладные программы, а также большинство прикладных программ Windows 95. Так же как и Windows 95, система Windows NT позволяет выполнять в своей среде 16-разрядные Windowsи DOSпрограммы. Схема распределения памяти Windows NT разительно отличается от распределения памяти системы Windows 95. Собственным прикладным программам выделяется 2 Гбайт особого адресного пространства, от границы 64 Кбайт до 2 Гбайт (первые 64 Кбайт полностью недоступны). Прикладные программы изолированы друг от друга, хотя могут общаться через буфер обмена Clipboard , механизмы DDE и OLE . В верхней части каждого 2-Гбайт блока прикладной программы размещен код, воспринимаемый прикладной программой как системные библиотеки DLL кольца 3. На самом деле это просто заглушки, Выполняющие перенаправление вызовов, называемые DLL клиентской стороны ( client-side DLLs) . При вызове большинства функций API из прикладной программы библиотеки DLL клиентской стороны обращаются к локальным процедурам ( Local Process Communication - LPC) , которые передают вызов и связанные с ним параметры в совершенно изолированное адресное пространство, где содержится собственно системный код. Этот сервер-процесс ( server process) проверяет значение параметров, исполняет запрошенную функцию и пересылает результаты назад в адресное пространство прикладной программы. Хотя сервер-процесс сам по себе остается прикладного уровня, он полностью защищен от вызывающей его программы и изолирован от нее.
Собственные прикладные программы и сеансы WOW выполняются в режиме вытесняющей многозадачности, основанной на управлении отдельными потоками. Множественные 16-разрядные прикладные программы Windows в одном сеансе WOW выполняются в соответствии с кооперативной моделью многозадачности. Windows NT может также выполнять в многозадачном режиме несколько сеансов DOS . Поскольку Windows NT имеет полностью 32-разрядную архитектуру, не существует теоретических ограничений на ресурсы GDI и USER. Windows NT 4.0
Обращение к служебным функциям GDI и диспетчера окон из прикладной программы кольца 3 по-прежнему приводит к переходу через границы колец, но фирма Microsoft вновь нашла несколько остроумных способов оптимизации, позволяющих добиться максимальной производительности. Один пример: если несколько функций GDI вызываются последовательно одна за другой, то они организуются в очередь в пользовательском режиме и затем направляются в ядро единым пакетом, что сводит к минимуму число переходов через границу кольца. По утверждению Microsoft, новая архитектура GDI позволит программам, интенсивно использующим графические средства, таким, как PowerPoint, выводить изображения на экран на 15-20% быстрее.
Перемещение диспетчера окон в ядро исключает основное узкое место, ограничивавшее скорость передачи информации между диспетчером окон и прикладными программами, которые обращаются к службам диспетчера окон.
Следовательно, требования системы к памяти снижаются. Однако полученная экономия почти полностью 'съедается' увеличившимся размером оболочки пользовательского интерфейса. Поэтому хотя утверждение, что Windows NT 4.0 использует память более эффективно, чем версия 3.x, правильно, однако верно и то, что для достижения приемлемой производительности по-прежнему понадобится по меньшей мере 16-Мбайт ОЗУ. Фрагменты операционной системы, перенесенные из подсистемы
Критики указывают на то, что плохо отлаженный видеодрайвер или драйвер принтера теперь может привести к краху ядра, тогда как раньше он мог ли лишь вызвать сбой подсистемы Win32. Фирма Microsoft возражает - и обоснованно, - что как Windows NT 3.x, так и версия 4.0 стабильны в той мере, насколько это обеспечивается драйверами устройств, используемыми вместе с ОС. Вот почему фирма Microsoft проводит тестирование драйверов для Windows NT, в том числе разработанных независимыми поставщиками, и сертифицирует лишь безупречные продукты. Если качество графических драйверов Windows NT 4.0 окажется таким же или превзойдет качество графических драйверов версии 3.x, то нет причин, по которым Windows NT может оказаться менее надежной, чем 3.x. С другой стороны, инсталляция несертифицированного графического драйвера в системе Windows NT 4.0 теоретически более рискованна, чем инсталляция того же драйвера в системе 3.x, поскольку графические драйверы Windows NT 4.0 работают в привилегированном режиме ядра ЦП. Что касается безопасности, то Windows NT 4.0 спроектирована с учетом требований стандартов безопасности точно так же, как и ее предшественники. Архитектурные изменения не затронули подсистему защиты информации, которая, как и другие подсистемы, выполняется в виде отдельного процесса в пользовательском режиме. Тонкие изменения, внесенные в архитектуру Windows NT в версии 4.0, отражают новое отношение к системе со стороны ее разработчиков. Первоначально Windows NT замышлялась как операционная система 'равных возможностей', способная выполнять прикладные программы других ОС так же легко, как и свои собственные. Но теперь, когда центральное место отводится службам Win32 API, система Windows NT оптимизирована на выполнение программ Win32 с большей скоростью, чем раньше. Windows NT 4.0 работает гораздо быстрее, чем ее предшественники, и при этом, очевидно, не поступается теми качествами, которые сделали ее знаменитой. Взвесив все обстоятельства, можно сказать, что пользователи вряд ли могут пожелать чего-то лучшего. Заключение
|
Операционная система Windows