ОС+Windows

На сегодняшний момент операционная система Windows фирмы Microsoft во всех ее проявлениях бесспорно считается самой распространенной опера­ционной системой на ПК: в мире более 150 млн. IBM PC-совместимых компьютеров, и система Windows установлена на 100 млн. из них. Очевидно, что озна­комление с ПК необходимо начинать с ознакомления с Windows, ведь без нее работа на ПК немыслима для большинства пользователей. Знание системы Windows - необходимый кирпичик в стене познания ПК.

=Содержание=

** 4) Компоненты и подсистемы Windows**
media type="custom" key="11083196"

=1) История создания и этапы развития=

=
Первая реализация операционной системы Windows New Technology - Windows NT 3.51 выпускалась в двух модификациях: Server и Workstation. Собственно, эти две версии Windows являлись одной и той же операционной системой, различия заключались лишь в том, что Windows NT Server включала в комплект поставки набор специального программного обеспечения, позволявшего использовать работающий под управлением данной платформы компьютер как в качестве сервера локальной сети, так и http-сервера сети интернет, в то время как в Windows NT Workstation более приоритетными являлись пользовательские прикладные программы, количество одновременных сетевых подключений к такому компьютеру ограничивалось десятью удаленными сетевыми узлами. Несмотря на то, что внешне интерфейс Windows NT 3.51 практически ничем не отличался от Windows 3.11, Windows NT была уже полнофункциональной многопользовательской 32-разрядной операционной системой. ======

=
Все пользователи Windows NT условно разделялись системой на две категории: администраторы и собственно пользователи. Первые имели возможность устанавливать права для любого зарегистрированного в системе оператора на запуск программ и редактирование содержимого дисков. Каждому пользователю назначалась собственная программная группа, отображаемая в окне Windows NT Program Manager, оператор мог изменять ее состав независимо от программных групп других пользователей, причем последние не имели к ней доступа. Существовали также так называемые "глобальные" программные группы, одинаково доступные для всех пользователей Windows NT. Редактировать общие функциональные настройки системы имел право только администратор данного компьютера. ======

=
Windows NT 3.51 являлась первой системной платформой от Microsoft, не опирающейся в процессе своей работы на функции MS DOS. Эта система не только поддерживала стандартную таблицу данных FAT, но и позволяла создавать независимые дисковые разделы с собственной таблицей размещения файлов - NTFS. Стало возможным управлять базовыми настройками Windows более гибко: например, пользователь мог изменять по своему желанию быстродействие компьютера, выводить на экран список всех задействованных в настоящий момент времени драйверов с возможностью блокирования и выгрузки каждого из них, управлять очередью печати. Имелся специальный набор утилит для удаленного администрирования подключенных к сети компьютеров, комплект встроенных инструментальных средств позволял оперативно настраивать режимы совместного использования локальных папок и дисков. В пользу того, что Windows NT 3.51 представляла собой вполне современную полнофункциональную многозадачную и многопользовательскую операционную систему, говорит одна из особенностей ее архитектуры: эта платформа была спроектирована таким образом, что позволяла запускать даже те приложения, которые еще не были созданы на момент ее появления, если эти программы использовали совместимую систему команд. ======

=
Windows 95 имела уже ставший привычным современным пользователям оконный интерфейс с панелью задач, часами, регулятором громкости звука и переключателем раскладки клавиатуры в System Tray, ярлыком "Мой Компьютер" и "Корзиной" на рабочем столе. Окна запущенных приложений сворачивались теперь в панель задач и открывались из нее одним щелчком мыши, а сама панель задач могла перемещаться по рабочей области экрана, либо скрываться за его пределами. Доступ к установленным на дисках программам осуществлялся из меню, вызываемого нажатием кнопки "Пуск", роль файлового менеджера выполнял так называемый "Проводник" (Windows Explorer), являвшийся по совместительству самой оболочкой системы. ======

=
Однако Windows 95, обладавшая достаточно простым, дружественным и легким в изучении интерфейсом, была крайне ненадежной платформой, при создании которой программистами было допущено множество существенных и весьма неприятных ошибок. Нестабильность работы Windows 95 стала буквально притчей во языцех, значительно "подмочив" репутацию Microsoft. Именно поэтому созданная три года спустя операционная система Microsoft Windows 98 была, по большому счету, всего лишь улучшенной и дополненной версией Windows 95. ======

=
Внешне Windows 98 практически не отличалась от своей предшественницы, за исключением того, что встроенные функции этой системы позволяли размещать иконки программ в так называемом меню быстрого доступа, расположенном в панели задач рядом с кнопкой "Пуск", обновленное программное ядро MS HTML открывало возможность представлять рабочий стол и окна "Проводника" в виде web-страниц, а большинство дополнений Microsoft Plus из комплекта Windows 95 стали теперь неотъемлемой частью системы. Добавилось множество новых программ и утилит, рассчитанных, в первую очередь, на работу пользователя с Интернетом, платформа стала поддерживать более совершенный формат таблицы размещения файлов, позволявшей экономить пространство на жестких дисках большого объема - FAT32. Windows научилась корректно определять оборудование при инсталляции и была значительно более надежной в работе. Тем не менее, эта система имела ряд существенных и весьма досадных недостатков, в частности, высокие требования к системным ресурсам, неисправимую "привычку" произвольно увеличиваться в объеме, стремясь занять все доступное дисковое пространство, а также тесную интеграцию с Internet Explorer 4.0, которая только замедляла работу системы, бестолково пожирая оперативную память, при этом не давая пользователю никаких ощутимых преимуществ. ======

=
Следующая реализация Windows NT, также выпускавшаяся в двух модификациях: Windows NT 4 Server и Windows NT 4 Workstation, включала практически все функциональные особенности предыдущей версии Windows NT, реализованные с использованием интерфейса, отличающегося от дизайнерского оформления Windows 95 лишь в деталях. ======

=
Windows NT 4 объединила в себе все достоинства и возможности Windows NT 3 и Windows 95, что в сочетании с чрезвычайно высокой надежностью данной платформы сделало ее достаточно популярной среди пользователей персональных компьютеров. ======

=
Появившаяся на рынке в начале 2000 года операционная система Microsoft Windows 2000 представляет собой предпоследнее поколение операционных систем, построенных согласно архитектуре Windows NT. Она производится в трех модификациях: Windows 2000 Professional для ноутбуков, настольных систем и рабочих станций, Windows 2000 Server для серверных компьютеров и Windows 2000 Datacenter Server для больших серверных систем, рабочих станций крупных корпоративных сетей и специализированных банковских и файловых серверов. ======

=
Благодаря использованию усовершенствованной технологии NT, сочетающейся с объективной простотой интерфейса Windows 9.X, Windows 2000 обладает высокой надежностью и стабильностью, также она значительно легче поддается настройке и конфигурированию, чем предыдущие версии Windows. Разграничение доступа к системе реализовано на прежнем высоком уровне, что позволяет обеспечить безопасность хранения данных на дисках, если за компьютером работает более одного пользователя. Однако не лишена Windows 2000 и объективных недостатков. Среди них можно перечислить относительно высокие системные требования (для нормального запуска минимально необходимо 32 Мб оперативной памяти, рекомендуется 64), а также большой объем занимаемого системой дискового пространства (порядка 700 Мб после инсталляции). ======

=
Microsoft Windows Millennium Edition (Windows ME) - последняя эволюция операционных систем класса Windows 95-98, запущенная в серийное производство в 2000 году. Русская локализация Windows ME появилась на рынке программного обеспечения в ноябре 2000 года. ======

=
Windows Millennium Edition значительно отличается от семейства системных платформ Windows 9X, прежде всего тем, что в этой реализации Windows полностью отсутствует поддержка MS DOS - корректно запустить на компьютере, работающем под управлением этой системы, приложения некоторые DOS - уже весбма сложная задача. Windows ME тесно интегрирована с Internet Explorer 5.0, что сделало ее еще более ресурсоемкой, в комплект поставки по умолчанию включена большая часть элементов Microsoft Plus для Windows 98, базовый набор игр расширен новыми программами, позволяющими пользователю играть в сети интернет с живыми соперниками, добавлен Windows Media Player 7.0, поддерживающий воспроизведение файлов множества новых аудио- и видеоформатов. Интерфейс Windows Millennium Edition практически полностью совпадает с внешним оформлением Windows 2000 Professional, включая системные иконки и обновленное диалоговое окно выключения/перезагрузки компьютера, но почти все базовые элементы настройки Windows 98 сохранились на своих прежних местах. ======

=
Для запуска Windows ME требует минимум 32 Мб оперативной памяти (рекомендуется 64) и в минимальной конфигурации занимает на диске чуть больше 500 Мб. Согласно сообщениям корпорации Microsoft, Windows ME действительно стала последней ОС семейства Windows 9X, поскольку все последующие операционные системы линейки Windows как для домашних компьютеров, так и для рабочих станций, будут создаваться на платформе NT. ======

=
Операционная система Microsoft Windows XP (от англ. eXPerience — опыт), известная также под кодовым наименованием Microsoft Codename Whistler, является новой ОС семейства Windows, созданной на базе технологии NT. Первоначально в планы корпорации Microsoft входила разработка двух независимых операционных систем нового поколения. Первый проект получил рабочее название Neptune, эта ОС должна была стать очередным обновлением Windows Millennium Edition, новой системой линейки Windows 9X. Второй проект, называвшийся Odyssey, предполагал создание ОС на платформе Windows NT, которая должна была придти на смену Windows 2000. Однако руководство Microsoft посчитало нецелесообразным рассредоточивать ресурсы на продвижение двух разных ОС, вследствие чего оба направления разработок были объединены в один проект — Microsoft Whistler. Возможно, именно благодаря этому решению Windows XP объединяет в себе достоинства уже знакомых пользователям операционных систем предыдущих поколений: удобство, простоту в инсталляции и эксплуатации ОС семейства Windows 98 и Windows ME, а также надежность и многофункциональность Windows 2000. В настоящее время Windows XP для настольных ПК и рабочих станций выпускается в трех модификациях: Home Edition для домашних персональных компьютеров, Professional Edition — для офисных ПК и, наконец, Microsoft Windows XP 64bit Edition — это версия Windows XP Professional для персональных компьютеров, собранных на базе 64-битного процессора Intel Itanium с тактовой частотой более 1 ГГц. ======

=
Для запуска Microsoft Windows XP необходим персональный компьютер, отвечающий следующим минимальным системным требованиям: процессор — Pentium-совместимый, тактовая частота от 233 МГц и выше; объем оперативной памяти — 64 Мбайт; свободное дисковое пространство — 1,5 Гбайт.Однако для стабильной и быстрой работы рекомендуется устанавливать данную операционную систему на компьютер со следующими оптимальными характеристиками: процессор — Pentium-II-совместимый (или выше), тактовая частота от 500 МГц и выше; объем оперативной памяти — 256 Мбайт; свободное дисковое пространство — 2 Гбайт. Устройство для чтения уомпакт-дисков (CD-ROM) Модем со скоростью не менее 56 Kbps. ======

=
Если сравнить Windows XP с более ранними версиями Microsoft Windows, в новой операционной системе легко обнаружить множество значительных отличий. Несмотря на то, что эта ОС была разработана на основе уже хорошо знакомой российским пользователям платформы NT и, на первый взгляд, по своим характеристикам во многом схожа с Microsoft Windows 2000, фактически Windows XP относится к принципиально иному поколению операционных систем семейства Windows. Теперь пользователь Windows не привязан к какому-либо стандартному интерфейсу, устанавливаемому в системе по умолчанию. Вам не нравится традиционный вид окон, элементов управления и Панели задач, доставшийся новой ОС «в наследство» от Windows 2000? Вы можете без труда изменить их, загрузив из Интернета любой из сотен специально разработанных "Тем". Традиционное Главное меню, открывающее доступ к установленным на компьютере программам, хранящимся на дисках документам и настройкам операционной системы, также претерпело ряд значительных изменений. Теперь при нажатии кнопки Пуск появляется динамическое меню, содержащее значки лишь пяти программ, которыми вы пользуетесь наиболее часто. Благодаря этому вы можете начать работу с нужными приложениями значительно быстрее. Здесь же расположены значки браузера Microsoft Internet Explorer 6 и почтового клиента Outlook Express 6, кнопки Выход из системы (Log Off) и Выключение компьютера (Turn Off Computer), позволяющие завершить текущий сеанс работы с Windows и выключить компьютер. ======

=
В среде Microsoft Windows пользователю часто приходится одновременно работать с несколькими документами или набором различных программ. При этом неактивные приложения сворачиваются в Панель задач, вследствие чего она рано или поздно переполняется значками, и переключение между задачами становится затруднительным. Для того чтобы разгрузить Панель задач и освободить больше рабочего пространства для отображения значков запущенных приложений, в Windows XP используется так называемый алгоритм группировки задач, согласно которому однотипные программы, работающие на вашем компьютере одновременно, объединяются в логическую визуальную группу. ======

=
В состав Windows XP включен специальный механизм Быстрое переключение сеансов (Fast User Switching), с применением которого можно быстро, без регистрации подключать к работе с операционной системой новых пользователей и групп пользователей. Появилась также возможность переключаться между несколькими сеансами работы без необходимости сохранять данные или перезагружать систему. При этом каждый из пользователей может самостоятельно изменять настройки Windows и работать с собственными файлами и документами, создавать, изменять и сохранять какие-либо данные независимо от других пользователей Windows XP. Для каждого нового сеанса работы операционная система отводит специальный участок верхней памяти в размере 2 Мбайт, однако этот объем никак не ограничивает количество прикладных программ, которые могут быть запущены пользователем.В частности, механизм Fast User Switching дает возможность пользователю, работающему, например, с текстовым редактором, ненадолго отлучиться от компьютера, а во время его отсутствия другой пользователь может открыть собственный сеанс Windows и поработать в Интернете или загрузить игру. При этом текст, редактируемый отсутствующим пользователем, по-прежнему хранится в памяти: вернувшись к компьютеру, пользователь может продолжить работу с документом с того места, где она была прервана, не перезагружая систему и не запуская заново соответствующую программу. ======

**Windows Vista**
Windows Vista – это последняя версия Microsoft Windows, из серии графических операционных систем для персональных компьютеров, используется как для дома так и для работы. До объявления о ее разработке 22 июля 2005, Vista была известна как Longhorn. 8 ноября 2006, разработка Windows Vista была завершена и версия вышла в продажу. За следующие два месяца вышла последняя версия для MSDN, TechNet Плюс и TechNet, прямых покупателей, производителей компьютерного программного обеспечения и комплектующих, и заказчиков лицензионных программ. 30 января 2007, программа была представлена широкой публике во всем мире, и стала доступной для закупки и загрузке с вебсайта Microsoft. Microsoft утверждает, что Windows Vista содержит сотни новых свойств ; некоторые из наиболее значительных включают обновленный графический пользовательский интерфейс, и визуальный стиль напоминает Windows Aero, улучшенные поисковые возможности, новые мультимедийные инструменты записи типа Windows DVD Maker, и полностью перепроектировал организацию работу сети, аудио, печати, и подсистемы дисплея. Vista также стремится увеличивать уровень связи между устройствами в домашней сети, используя технологию соединения равноправных узлов ЛВС, облегчая распределение файлов и цифровой информации между компьютерами и устройствами. Для разработчиков, Vista представляет версию 3.0 .NET Framework, которая значительно облегчает работу по написанию высококачественных приложений, чем на традиционным Windows API. Первичная цель Microsoft при создании Vista, состояла в том, чтобы улучшить состояние безопасности в операционной системе Windows. Наиболее часто встречающаяся критика Windows XP и его предшественников вызвана уязвимостью системы безопасности и восприимчивостью к вирусам, и слишком маленьким буфером. В свете этого, председатель Microsoft Билл Гейтс объявил в начале 2002 ‘Trustworthy Computing initiative’, которая была призвана внести дополнительную безопасность в каждый аспект разработки программного обеспечения в компании. Microsoft утверждала, что выбрала своим приоритетом усиление безопасности Windows XP и Windows Server 2003 до завершения работы по Windows Vista что и явилось причиной задержки ее выпуска. В течение разработки Vista существовало множество отрицательных мнений среди различных групп. Критиковали Windows Vista за слишком долгое время разработки, более строгие условия лицензирования, включая множество новых технологии Управления Цифровыми Правами, нацеленные на ограничение копирования защищенных цифровой информации, и возможности использования новых свойств типа Контроля Пользовательского Аккаунта.

Windows 7
==== К концу 2000-х годов широкое распространение получили мобильные устройства. В октябре 2009 года, когда была выпущена Windows 7, ноутбуки продавались лучше, чем настольные компьютеры, а кафе с доступом в Интернет получили широкое распространение. Беспроводные сети создаются и в офисе, и дома. Windows 7 включает в себя множество новых функций. Появилась Windows Touch, функция сенсорного управления, позволяющая просматривать веб-страницы, листать фотографии и открывать файлы и папки. Пользователи могут передавать музыку, видео и фотографии с компьютера на стереосистему или телевизор. К осени 2010 года Windows 7 продаётся со скоростью семь копий в секунду, это самая быстропродаваемая операционная система в истории. ====

сравнение версий Windows 7

 * || Домашняя базовая || Домашняя расширенная || Профессиональная || Корпоративная |||| Максимальная ||
 * 64-битная и 32-битная версии || Да || Да || Да || Да |||| Да ||
 * Функция «Домашняя группа» (создание и присоединение к группе) || Только присоединение || Да || Да || Да |||| Да ||
 * Поддержка до 192 Гб памяти (для 64-битных версий W7) || До 8 ГБ || Да || Да || Да |||| Да ||
 * Интерфейс Windows Aero || Только базовая тема оформления || Да || Да || Да |||| Да ||
 * Multitouch и улучшенное распознавание рукописного ввода || Нет || Да || Да || Да |||| Да ||
 * Дополнительные игры || Нет || Да || Да || Да |||| Да ||
 * Windows Media Center || Нет || Да || Да || Да |||| Да ||
 * EFS (система шифрования данных) || Нет || Нет || Да || Да |||| Да ||
 * Печать с учетом информации о местоположении || Нет || Нет || Да || Да |||| Да ||
 * Возможность выступать в качестве хост-компьютера удаленного рабочего стола || Нет || Нет || Да || Да |||| Да ||
 * Подключение к домену || Нет || Нет || Да || Да |||| Да ||
 * Эмулятор Windows XP || Нет || Нет || Да || Да |||| Да ||
 * Возможность даунгрейда до Vista или XP || Нет || Нет || Да || Да |||| Да ||
 * AppLocker || Нет || Нет || Нет || Да |||| Да ||
 * BitLocker и BitLocker To Go || Нет || Нет || Нет || Да |||| Да ||
 * Branch Cache || Нет || Нет || Нет || Да |||| Да ||
 * DirectAccess || Нет || Нет || Нет || Да |||| Да ||
 * Подсистема для запуска Unix-приложений || Нет || Нет || Нет || Да |||| Да ||
 * Мультиязычная пользовательская среда || Нет || Нет || Нет || Да |||| Да ||
 * Загрузка с VHD (файла-образа Microsoft Virtual PC) || Нет || Нет || Нет || Да || Да ||

=2) Преимущества= ** Удобство и поддержка устройств ** **.** Основное отличие программ для DOS и для Windows состоит в том, что DOS-программа может работать с аппаратными средствами компьютера (монитором, клавиатурой, принтером и т. д.) непосредственно минуя DOS (и, как правило, поступает именно таким образом), в то время как Windows-программа должна обращаться к внешним устройствам только через посредство Windows. Поэтому после установки в Windows драйвера, обеспечивающего поддержку данного устройства (то есть настраивающего Windows на особенности данного устройства) все Windows-программы могут работать с этим устройством. Это ликвидирует весьма болезненную для DOS проблему обеспечения совместимости программ с конкретными устройствами.

** Единый пользовательский интерфейс. ** Windows представляет программистам все необходимые средства для создания пользовательского интерфейса, поэтому программисты пользуются ими, а не изобретают аналогичные собственные средства. Вследствие этого пользовательский интерфейс Windows-программ в значительной степени унифицирован, и пользователям не требуется изучать для каждой программы новые принципы организации взаимодействия с этой программой.

** Поддержка масштабируемых шрифтов. ** В таких приложениях, как редактирование документов, издательское и рекламное дело, создание таблиц или презентаций и т.д., необходимо использование большого количества шрифтов – текстовых, заголовочных, декоративных, пиктографических и других, причем символы этих шрифтов могут потребоваться в самых различных размерах. Поэтому в Windows 3.1 была встроена поддержка масштабируемых шрифтов формата True Type. Масштабируемые шрифты в (отличие от растровых) содержат не растровые (поточечные) изображения символов некоторого фиксированного размера, а описание контуров символов, позволяющие строить символы любого нужного размера. Поскольку изображения символов на экране и на печати формируется из одних и тех же контуров, содержащихся в шрифтовом файле, они, естественно, полностью соответствуют друг другу, что обеспечивает выполнение принципа WYSIWYG – что на экране, то и на печати.

=
Это открывает большие возможности для обучающих, игровых и других программ, позволяя делать общение с компьютером более лёгким и приятным даже для непрофессионалов.
 * Поддержка мультимедиа. ** Одним из усовершенствований Windows явилась поддержка мультимедиа. При подключении соответствующих устройств Windows может воспринимать звуки от микрофона, компакт-диска или MIDI – синтезатора, изображения от цифровой видеокамеры или с компакт-диска, выводить звуки и движущиеся изображения. ======

**Многозадачность.** Windows обеспечивает возможность одновременного выполнения нескольких программ и переключения с одной программы на другую.

**Средства обмена данными.** Для организации обмена данными между различными программами Windows предлагает следующие способы: **Совместимость с DOS-программами.** Работа в среде Windows не вынуждает отказываться от использования DOS программ. Более того, для запуска DOS программ, как правило, нет необходимости выходить из Windows. Однако следует заметить, что DOS программы под управлением Windows выполняются медленнее. **Возможности для разработчиков.** Все перечисленные ниже особенности Windows удобны и для разработчиков программ. Например, имеющиеся в Windows стандартные средства для создания пользовательского интерфейса делает ненужным изобретения собственных средств. Поддержка устройств (принтеров, мониторов и т.д.) в Windows снимает его заботу с разработчиков программ. Однако два преимущества программирования для Windows следует отметить особо:
 * Буфер обмена данными (clipboard):одна программа может поместить данные в этот буфер, а другая использовать данные из буфера (например, вставив их в документ);
 * Динамический обмен данными(Dynamic Data Exchange, DDE) – одна программа может использовать данные, созданные другой программой (например, редактор документов может использовать часть таблицы, созданной табличным процессором), причем копия данных в использующей программе сохраняет «привязку» к исходным (оригинальным) данным. Поэтому программа, использующая DDE-данные, может в любой момент их «обновить», т.е. восстановить соответствие используемой копии данных оригиналу;
 * Механизм связи и внедрения объектов (Object Linking and Imbibing,OLE), появившийся в версии Windows3.1, является усовершенствованием средств DDE. Здесь программа использующая «внедренные» данные, может редактировать эти данные, для чего автоматически запускается программа, с помощью которой эти данные были созданы. Например, в документ, обрабатываемый редактором Microsoft Word, можно вставить в качестве «объекта» картинку, созданную в графическом редакторе Corel Draw, и тогда при двойном щелчке мышью над изображением данной картинки в документе Microsoft Word автоматически вызовется Corel Draw для редактирования этой картинки.
 * доступность всей оперативной памяти – в отличие от DOS, средства управления оперативной памятью Windows обеспечивают доступность для программ всей оперативной памяти компьютера (а не 640 Кбайт), что облегчает создание больших программ;
 * динамическое подключение библиотек - Windows обеспечивает автоматическое подключение библиотек подпрограмм во время выполнения программы. Формат библиотек (.DLL – файлов) и порядок вызова библиотечных подпрограмм стандартизованы, поэтому эти библиотеки могут быть созданы с помощью различных программных средств и даже написаны на разных языках программирования.

=3) Недостатки= **Значительное увеличение нагрузки на аппаратные средства компьютера.** Графический интерфейс, поддержка масштабируемых шрифтов, поддержка многозадачности и т. д. требуют большой мощности процессора, значительной оперативной памяти и дискового пространства. Хотя для работы с Windows достаточно лишь процессора 80386 с 2-4 мегабайтами оперативной памяти и свободных 45 мегабайт на винчестере, такая конфигурация не позволяет использовать Windows ни для каких практических задач, разве лишь для раскладывания пасьянсов. Комфортная же работа обеспечивается лишь при наличии 8-16 мегабайт и не менее 150-300 мегабайт на диске для Windows и Windows-приложений. При этом часто программы с приблизительно одинаковыми возможностями для DOS и для Windows отличаются по требованиям к компьютерным ресурсам в несколько раз. Так, Microsoft Word для DOS может работать на компьютере без жёсткого диска и требует всего 512 килобайт ОЗУ.

**Программирование под Windows.** Дело в том, что Windows в принудительном порядке заставляет программистов использовать средства программного интерфейса Windows (API) - это более 600 функций. Кроме того, программист должен для этого свободно владеть весьма сложными концептуальными понятиями объектно-ориентированного программирования, оперировать с объектами, сообщениями, разделяемыми ресурсами и т.д., поэтому обучение программированию под Windows весьма непростое дело.

4) Компоненты и подсистемы Windows
Как и любая другая операционная система, Microsoft Windows содержит в себе ядро, подсистему управления оперативной памятью, подсистему управления программами, файловую систему, драйверы для работы с устройствами ввода/вывода и другие системы. Рассмотрим кратко основные особенности отдельных подсистем Microsoft Windows.

Файловая система
Версия 3.1 операционной системы Microsoft Windows использует файловую систему MS-DOS. И это удобно с точки зрения совместимости с MS-DOS. Вы, наверное, знаете, что Windows запускается из MS-DOS как обычная программа с именем win.com. После запуска Windows не выгружает из памяти MS-DOS, но использует некоторые ее компоненты (например, файловую систему) в несколько измененном виде. В следующих версиях Windows наряду с файловой системой MS-DOS планируется использовать высокопроизводительную файловую систему NTFS, которая произошла от файловой системы HPFS (High Performance File System), применяемой в операционной системе OS/2. Windows NT уже использует файловую систему NTFS. Новая файловая система имеет меньше ограничений, в частности в ней нет таблицы размещения файлов FAT и сняты практически все ограничения на длину имени файла (максимальная длина имени в OS/2 составляет 255 символов).

Управление программами
Подсистема управления программами в Windows обеспечивает запуск и одновременную работу нескольких программ. Программы, созданные специально для Windows, называются приложениями Windows (Windows application). В среде операционной системы Windows версии 3.1 одновременно может быть запущено несколько приложений Windows и несколько программ, созданных для MS-DOS. Если Windows работает в расширенном режиме, для каждой программы MS-DOS при запуске создается отдельная виртуальная машина. При выполнении программы MS-DOS процессор работает в режиме виртуального процессора 8086, поэтому все работающие параллельно на разных виртуальных машинах программы MS-DOS изолированы друг от друга. Если Windows работает в стандартном режиме, запуск программы MS-DOS приводит к приостановке выполнения приложений Windows и выгрузке содержимого оперативной памяти на диск. Процессор переходит в реальный режим работы. Соответствующей настройкой системы запуска программ MS-DOS можно добиться этого и в расширенном режиме работы Windows. Для всех приложений Windows в расширенном режиме работы создается одна виртуальная машина, причем процессор работает в защищенном режиме. Все приложения Windows используют для адресации памяти одну локальную таблицу дескрипторов LDT, что может привести к взаимному влиянию приложений друг на друга. В этом смысле программы MS-DOS, работающие в среде Windows, лучше защищены друг от друга, чем приложения Windows, так как адресные пространства виртуальных машин MS-DOS изолированы друг от друга (за исключением начала адресного пространства, занятого резидентными программами и драйверами, загруженными до запуска Windows). Подсистема управления программами не обеспечивает квантования времени между приложениями Windows, но делает это для запущенных одновременно программ MS-DOS. Приложения Windows сделаны таким образом, что они сами "добровольно" отдают друг другу процессорное время, обеспечивая так называемую невытесняющую мультизадачность (nonpreemptive multitasking). Операционная система Windows NT может выполнять обычные программы MS-DOS, приложения Windows версии 3.1 и новые, 32-разрядные приложения, созданные специально для Windows NT. Для каждого 32-разрядного приложения Windows NT создает отдельную виртуальную машину. Благодаря этому приложения Windows NT изолированы друг от друга. Использование отдельных виртуальных машин позволяет реализовать для 32-разрядных приложений Windows NT вытесняющую мультизадачность (preemptive multitasking) с выделением каждому приложению квантов времени.

Управление оперативной памятью
Если вы помните, подсистема управления оперативной памятью в MS-DOS базируется на использовании блоков управления памятью MCB (см. первый том "Библиотеки системного программиста"). Такое "управление" памятью полностью основано на джентльменском соглашении между программами о сохранении целостности операционной системы, так как любая программа может выполнить запись данных по любому адресу. Программа может легко разрушить системные области MS-DOS или векторную таблицу прерываний. Приложение Windows выполняется в защищенном режиме, поэтому оно не может адресоваться к любым областям памяти. Это сильно повышает надежность операционной системы в целом - мультизадачная система не должна завершаться аварийно при аварийном завершении одного из приложений. Пусть вас не смущает, что вы не сможете изменить векторную таблицу прерываний. Во-первых, в защищенном режиме используется не векторная таблица прерываний, а дескрипторная таблица прерываний. Во-вторых, при создании обычных приложений у вас никогда не возникнет необходимость в изменении этой таблицы. В-третьих, если вам и в самом деле нужно изменить дескрипторную таблицу прерываний, мы расскажем, как это можно сделать, не прибегая к непосредственной записи новых значений селекторов в оперативную память, отведенную для таблицы. Использование защищенного режима работы процессора обеспечивает приложениям Windows непосредственный доступ к расширенной памяти компьютера. С помощью системы управления памятью приложение может заказать для себя буфер очень большого размера. Физически этот буфер может находиться либо в расширенной памяти, либо в виртуальной. Можно также заказать небольшой буфер в стандартной памяти (ниже границы 1 Мбайт). Виртуальная память располагается на жестком диске компьютера. При первоначальной установке Windows вы должны определить расположение и размер файла, который будет использоваться для виртуальной памяти (только при работе Windows в расширенном режиме). При необходимости Windows выполняет чтение в оперативную память отдельных страниц виртуальной памяти или запись страниц из оперативной памяти на диск. Все это создает иллюзию наличия оперативной памяти очень большого размера. В архитектуру процессора 80386 и 80486 заложена поддержка виртуальной памяти, так что процесс виртуализации выполняется достаточно эффективно. Другая особенность системы управления памятью в операционной системе Windows связана с управлением сегментами памяти, выделенными приложению. Как вы знаете, программа MS-DOS в зависимости от используемой модели памяти может состоять из одного или нескольких сегментов кода, а также из одного или нескольких сегментов данных. При загрузке программы MS-DOS все нужные сегменты загружаются в первый мегабайт оперативной памяти, после чего управление передается в точку входа, расположенную в сегменте кода. Приложение Windows устроено сложнее и загружается по-другому. Как и программы MS-DOS, приложения Windows состоят из сегментов кода и сегментов данных. В зависимости от модели памяти приложение может иметь один или несколько сегментов кода и один или несколько сегментов данных. Сегменты приложения Windows получают дополнительный атрибут - тип сегмента. Существуют сегменты с фиксированным расположением в оперативной памяти (fixed), перемещаемые (moveable) и удаляемые (discardable). В операционной системе MS-DOS нет аналога перемещаемым и сбрасываемым сегментам, так как при загрузке все сегменты располагаются по фиксированным (на время работы программы) адресам. Перемещаемые сегменты могут менять свое расположение в адресном пространстве. Управляет этим, незаметным для приложений, процессом операционная система Windows. Для чего понадобились перемещаемые сегменты? Вспомним, что Windows - многозадачная операционная система. Поэтому такой ресурс, как оперативная память, используется совместно всеми работающими параллельно приложениями или различными копиями одного и того же приложения, запущенного несколько раз. В процессе работы вы запускаете и завершаете различные приложения, что приводит к фрагментации непрерывного адресного пространства. Используя механизм перемещения сегментов, основанный на использовании схемы адресации процессора 80286, операционная система Windows по мере необходимости "уплотняет" оперативную память, высвобождая непрерывное адресное пространство для запуска новых приложений. Удаляемые (discardable) сегменты обычно используются для хранения выполняемых сегментов или сегментов констант. Если операционной системе Windows требуется получить в свое распоряжение область памяти, она может уничтожить удаляемый сегмент и забрать распределенную для него память. Если впоследствии потребуется восстановить содержимое удаляемого сегмента, Windows выполняет чтение данных сегмента из соответствующего файла. Помимо описанных выше атрибутов сегменты могут иметь еще два. Можно создать сегменты, загружаемые при запуске приложения (preload) и загружаемые при обращении к ним (loadoncall). Сегменты типа loadoncall не загромождают оперативную память, так как после запуска приложения они остаются на диске и загружаются в память только при необходимости. Причем при составлении программы вам достаточно описать сегмент как loadoncall, после чего Windows будет сама его загружать при обращении к сегменту со стороны приложения. Механизм управления сегментами достаточно сложен, и пока еще не настало время для его детального рассмотрения. Однако уже сейчас видно, что требование обеспечения разделения адресных пространств приложений и обеспечения мультизадачности привело к значительному усложнению системы управления памятью по сравнению с используемой в MS-DOS.

Драйверы устройств ввода/вывода
Для работы с устройствами ввода/вывода Windows содержит комплект драйверов. Основное требование к этим драйверам заключается в способности работать в мультизадачном режиме, обеспечивая совместное использование устройств ввода/вывода всеми одновременно работающими приложениями. Необходимо отметить, что задача создания собственного драйвера для Windows значительно сложнее задачи разработки драйвера для MS-DOS. Драйверы Windows - тема для отдельной книги (возможно, не одной). Однако для стандартных устройств, таких, как принтер, мышь, порт последовательной передачи данных и т. п. драйверы уже имеются и поставляются в составе Windows либо в комплекте с устройствами ввода/вывода. Если же вам необходимо создать драйвер собственного нестандартного устройства, придется приобрести такой программный продукт, как Driver Development Kit (DDK), поставляемый фирмой Microsoft. В состав DDK входит вся необходимая документация, средства разработки и готовые примеры драйверов.

Библиотеки динамической загрузки DLL
Для того чтобы сформировать файл программы MS-DOS (типа exe или com), после компиляции исходных текстов отдельных модулей вы должны запустить редактор связей. Редактор связей соберет файл программы, включив в него все используемые в проекте модули. Фактически файл программы MS-DOS содержит весь код, который может потребоваться для ее выполнения. Единственное исключение - код обработчиков программных прерываний MS-DOS и BIOS, который не включается в файл программы, так как он всегда загружен в оперативную память. Подобный подход непригоден для мультизадачной среды, так как он приводит к неэкономному расходованию дорогостоящего ресурса - оперативной памяти. В самом деле, если несколько приложений используют один и тот же модуль, нет никакого смысла загружать этот модуль несколько раз для каждого приложения. Вместо этого лучше было бы загрузить такой модуль в оперативную память один раз и организовать к нему коллективный доступ со стороны всех "заинтересованных" приложений. Именно так и поступили разработчики Windows. Практически все модули Windows реализованы в виде так называемых библиотек динамической загрузки DLL (Dynamic Link Libraries). Когда приложения желают вызвать Windows для получения обслуживания, происходит обращение к единственной копии нужного модуля, находящейся в оперативной памяти (или загружаемой в оперативную память при обращении). Библиотеки динамической загрузки (или, иными словами, dll-библиотеки) находятся на диске в виде файлов с расширением имени dll, хотя может быть использовано и любое другое расширение. Обратите внимание на приложения Calculator и Clock. Загрузочные файлы для этих приложений имеют размеры 43072 и 16416 байт, что совсем немного (и даже подозрительно мало!), особенно если учесть сложность выполняемых этими приложениями функций. Это возможно только благодаря тому, что большинство кода, выполняемого этими приложениями, находится вне загрузочных файлов. И в самом деле, все, что относится к формированию изображения калькулятора или часов, к перемещению и изменению размеров окон, выполняется модулями, расположенными в библиотеках динамической загрузки Windows. Вы тоже можете создать свои собственные библиотеки динамической загрузки для использования вашими или другими приложениями. Использование библиотек динамической загрузки для предоставления сервиса приложениям со стороны операционной системы имеет преимущество, связанное с возможностью обновления версии библиотеки без повторной сборки загрузочного файла приложения. Если ваше приложение использует функции из dll-библиотеки, вы можете обновить версию dll-библиотеки простой заменой старого файла библиотеки на новый. Если новая dll-библиотека совместима со старой (а обычно так и бывает), для ее использования вам не потребуется вносить никаких изменений в загрузочный файл приложения. Из сказанного выше становится понятно, почему в среде Windows приложения не используют программные прерывания для получения обслуживания от операционной системы: механизм dll-библиотек обеспечивает большую гибкость и удобство в использовании. Так что при создании обычных приложений Windows вы можете забыть о программных прерываниях вообще и о переназначении аппаратных и программных прерываний в частности.

Интерфейс графических устройств GDI
Так как Windows является операционной системой с графическим интерфейсом, одно из важнейших мест в Windows занимает система графического ввода/вывода. В Windows реализована концепция графического интерфейса, независимого от аппаратной реализации используемого устройства ввода/вывода. Этот интерфейс называется GDI (Graphics Device Interface). В рамках этого интерфейса определены все функции для работы с графикой. Независимость от аппаратной реализации позволяет вам использовать одни и те же функции для рисования графических объектов (таких, как линии, окружности, прямоугольники и т. д.) как на экране видеомонитора, так и на бумаге, вставленной в матричный или лазерный принтер, в плоттер или другое устройство графического вывода, которое имеет драйвер для Windows.

Очереди сообщений
Иногда говорят, что работа операционной системы Windows основана на передаче сообщений (message). Что это за сообщения, кто, кому и зачем их передает? Передача сообщений - это способ, при помощи которого в Windows организован обмен информацией между отдельными подсистемами, приложениями или между отдельными модулями одного и того же приложения. Само по себе сообщение представляет собой структуру данных: typedef struct tagMSG { HWND hwnd; UINT message; WPARAM wParam; LPARAM lParam; DWORD time; POINT pt; } MSGMSG; Эта структура содержит уникальный для Windows код сообщения message и другие параметры, отражающие адресат (идентификатор получателя) сообщения hwnd, содержимое сообщения wParam и lParam, время отправления time и информацию о координатах pt. Windows содержит в себе системную очередь сообщений, куда последние могут поступать от драйверов устройств ввода/вывода (при завершении операции ввода/вывода) или от приложений, а также несколько очередей сообщений для каждого приложения. Когда вы нажимаете клавиши, перемещаете мышь по поверхности стола или нажимаете кнопки на корпусе мыши, соответствующий драйвер (клавиатуры или мыши) вырабатывает сообщения, отражающие выполняемые вами действия. Эти сообщения попадают вначале в общую системную очередь и затем распределяются в очереди отдельных приложений. Подробности распределения и обработки сообщений мы рассмотрим немного позже. Если вы обратите внимание на внешний вид приложений Windows, то обнаружите, что окно приложения содержит множество органов управления, таких, как кнопки, переключатели, полосы просмотра и т. д. Работа с этими органами управления подробно описана в руководстве пользователя Windows. Действие, выполненное вами над любым органом управления, приводит к генерации соответствующего сообщения и помещения этого сообщения в очередь приложения. Приложение Windows постоянно анализирует содержимое своей очереди сообщений. Когда в очереди появляется сообщение от какого-либо органа управления, приложение выполняет соответствующее действие. Такой механизм значительно упрощает программирование, так как приложение не занимается, например, отслеживанием текущих координат курсора мыши для того, чтобы определить, на какую кнопку вы нажали или какую выбрали строку в меню. Приложение получает готовое сообщение о том, что нажата кнопка с определенным идентификатором или выбрана строка из меню с определенным идентификатором, а вся остальная работа, связанная с отслеживанием текущих координат курсора и определением использованной кнопки, выполняется самой операционной системой Windows. Идентификаторы кнопок и других органов управления определяются программистом. Это просто числа, однозначно соответствующие органам управления. Обычно приложение имеет главное окно, в котором располагаются такие органы управления, как кнопки, меню, полосы просмотра, переключатели и т. д. Работая с приложением, вы выбираете строки меню, нажимаете кнопки или используете другие органы управления. Каждый орган управления (кнопка или строка меню) имеет свой идентификатор. Когда вы нажимаете на кнопку или выбираете строку меню, в очередь сообщений приложения Windows заносит сообщение, содержащее идентификатор использованного органа управления. Приложение анализирует очередь сообщений и выполняет обработку сообщений. Например, если вы нажали кнопку с надписью "Exit", приложение может завершить свою работу. Следует отметить, что в Windows используется многоуровневая система сообщений. Сообщения низкого уровня вырабатываются, когда вы перемещаете мышь или нажимаете клавиши на корпусе мыши или на клавиатуре. В эти сообщения входит информация о текущих координатах курсора мыши или кодах нажатых клавиш. Обычно приложения редко анализируют сообщения низкого уровня. Все эти сообщения передаются операционной системе Windows, которая на их основе формирует сообщения более высокого уровня. Когда вы нажимаете кнопку на диалоговой панели или выбираете строку из меню приложения Windows, ваше приложение получает сообщение о том, что нажата та или иная клавиша или выбрана та или иная строка в меню. Вам не надо постоянно анализировать координаты курсора мыши или коды нажимаемых клавиш - Windows сама вырабатывает для вас соответствующее сообщение высокого уровня. Таким образом, вы можете возложить на Windows всю работу, связанную с "привязкой" мыши и клавиатуры к органам управления. Но тем не менее ваше приложение может вмешаться и в обработку сообщений низкого уровня. Такая схема очень удобна и позволяет, с одной стороны, упростить приложение, возложив на Windows всю работу с сообщениями нижнего уровня, с другой стороны, позволяет при необходимости вмешаться в процесс обработки сообщений низкого уровня. Программы MS-DOS в "классическом" исполнении работают по другому. Как правило, такие программы выполняются линейно, ожидая от пользователя ввода той или иной команды и блокируя нежелательные на данный момент действия. Логика работы приложений Windows называется логикой, управляемой событиями. Под событием понимается обнаружение в очереди сообщений приложения того или иного сообщения. В любой момент времени вам разрешается использовать любые органы управления любого запущенного приложения (хотя приложение Windows при необходимости может выполнить блокировку отдельных органов управления). Операционная система Windows направляет сообщение от использованного органа управления в очередь того приложения, к которому принадлежит данный орган управления. Поэтому приложение не должно беспокоиться о том, что в любой момент времени вы можете приступить к работе с другим приложением. Просто каждое приложение занимается обработкой своей очереди сообщений, а Windows заботится о том, чтобы все сообщения попадали в нужную очередь. Так как все приложения используют совместно общий экран видеомонитора, работая каждое в своем окне, Windows обеспечивает обработку ситуаций, при которых одно окно перекрывает другое. Приложения не следят за тем, чтобы их окна не перекрывались окнами других приложений. Но они все должны быть способны обработать специальное сообщение, по которому необходимо перерисовать содержимое всего своего окна или части окна.

Управление шрифтами
Операционная система MS-DOS не содержит никакой серьезной поддержки для работы со шрифтами. В то же время Windows версии 3.1 использует передовую технологию масштабируемых шрифтов TrueType. Из руководства пользователя Windows вы знаете, что шрифты TrueType сохраняют свой внешний вид при изменении высоты букв. Поэтому они и называются масштабируемыми. Любое приложение Windows может использовать шрифты, зарегистрированные (или, иными словами, установленные) в операционной системе Windows. Для работы со шрифтами Windows предоставляет приложениям богатый набор функций, позволяющий выполнять все необходимые операции. Система управления шрифтами, встроенная в Windows, позволяет реализовать на практике режим редактирования документов, который носит название WYSIWYG - What You See Is What You Get (что вы видите, то и получите). Например, если вы используете для редактирования документов такой текстовый процессор, как Microsoft Word for Windows, вы можете выбрать для оформления любой из масштабируемых шрифтов. Система управления шрифтами обеспечит соответствие изображения текста на экране распечатке, полученной на принтере (особенно хорошие результаты получатся при использовании видеомонитора с высоким разрешением, а также струйного или лазерного принтера).

Ресурсы
media type="custom" key="11941898" Как мы говорили, приложения Windows используют новый формат файла загрузочного модуля. Одно из новшеств заключается в том, что файл загрузочного модуля кроме кода и обычных данных содержит так называемые ресурсы. В качестве ресурсов используются текстовые строки, пиктограммы, графические изображения, меню, диалоговые панели, шрифты или любые произвольные данные. Для создания ресурсов используются специальные программы, которые называются редакторами ресурсов. Такие программы поставляются в комплекте с компилятором. Они позволяют редактировать ресурсы без изменения кода, и в этом смысле можно говорить об относительной независимости ресурсов от программного кода приложения. Приложение Windows при необходимости может загрузить ресурс в оперативную память и использовать его, например, для вывода на экран. В качестве ресурса удобно оформить, например, все текстовые сообщения или меню. В этом случае вы сможете редактировать текст сообщений или строк меню без повторной сборки всего приложения. Это удобно, если вам нужно перевести все сообщения или меню на другой язык (например, с русского на английский или наоборот). Включение в ресурсы пиктограмм и других графических изображений позволит вам редактировать их отдельно, без повторной сборки приложения. Ресурсы могут загружаться в оперативную память сразу после запуска приложения или при необходимости. В последнем случае после запуска приложения ресурсы хранятся на диске. Если ресурсы не используются, то они не занимают места в оперативной памяти.

Динамический обмен данными DDE
Любая мультизадачная операционная система содержит систему, обеспечивающую взаимодействие работающих параллельно процессов. Операционная система Windows имеет механизм динамического обмена данными DDE, с помощью которого приложения Windows могут обмениваться различной информацией, такой, как текстовые строки, числа или блоки оперативной памяти. Сетевая операционная система Microsoft Windows for Workgroups использует DDE для организации взаимодействия и передачи данных между приложениями, работающими в сети на разных рабочих станциях.

Вставка и привязка объектов OLE
Операционная система Windows содержит сложный механизм вставки и привязки объектов OLE (Object Linking and Embedding), обеспечивающий интеграцию приложений на уровне объектов, таких, как документы, графические изображения или электронные таблицы. При использовании OLE документ, подготовленный, например, текстовым процессором Microsoft Word for Windows, может содержать в себе как объект изображение, созданное графическим редактором Paint Brush. Для редактирования такого объекта из среды текстового процессора Microsoft Word for Windows вызывается приложение Paint Brush, причем результат редактирования записывается обратно в тело документа.

Другие компоненты и подсистемы
Кроме перечисленных выше, операционная система Windows содержит другие компоненты и подсистемы. Некоторые из них входят в комплект Windows версии 3.1, некоторые нужно приобретать отдельно. В последнее время получают все более широкое распространение системы мультимедиа, обеспечивающие звуковой интерфейс между человеком и компьютером. Самые лучшие из таких систем способны (при наличии соответствующей аппаратуры) работать не только со звуком, но и с видеосигналом, поступающим с телевизионной камеры или видеомагнитофона. С точки зрения программиста системы мультимедиа реализованы в виде dll-библиотек, содержащих наборы функций для работы с устройствами ввода/вывода звука и изображения. Другая подсистема, устанавливаемая дополнительно, имеет отношение к управлению памятью и называется Win32s. Это подмножество 32-разрядного программного интерфейса операционной системы Windows NT, использующее сплошную несегментированную модель памяти. В этой модели памяти приложения обычно никогда не изменяют содержимого сегментных регистров процессора, так как они могут непосредственно адресовать огромные объемы виртуальной оперативной памяти. Эта подсистема имеет и другие интересные возможности, например отображение файлов на оперативную память, что значительно ускоряет и упрощает работу с ними. Система Win32s поставляется фирмой Microsoft отдельно вместе с соответствующими средствами разработки, а также входит в комплект поставки трансляторов Borland C++ версии 4.0 и Symantec C++ версии 6.0.

**20 ПОЛЕЗНЫХ УТИЛИТОВ для Windows 7**
media type="custom" key="11200756" media type="custom" key="11375038"
 * ДРАЙВЕРЫ ДЛЯ WINDOWS**

Полная информация об Windows - [электронный ресурс] доступ: [] Описание Windows Vista - [электронный ресурс] доступ**:** [] Антология операционных систем - [электронный ресурс] доступ: []