Чтение онлайн

ЖАНРЫ

Windows XP для бывалого бойца

Ахметов Камилл

Шрифт:

Графический интерфейс

В оконном интерфейсе каждой выполняемой программе отводится экранное окно, способное занимать весь экран или его часть. Практическое значение многооконности в том, что в такой среде можно реализовать принцип многозадачности, то есть одновременного выполнения нескольких программ. Услышав о многозадачности, пользователи MS-DOS обычно говорили: «Я не делаю несколько дел одновременно», – хотя в течение рабочего сеанса приходилось многократно выгружать одни программы и загружать другие, так как напрямую переходить из одной программы в другую было нельзя.

В многооконной среде, напротив, вид экрана с окнами разных приложений наглядно демонстрирует возможности одновременного использования нескольких программ (рис. 1.1). Вы работаете с приложением, находящимся в самом верхнем окне, но простым щелчком

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

Рис. 1.1.


В концепции таких ОС, как Microsoft Windows, важное место занимает графический режим, который имеет мало общего со знакоместным графическим режимом, доступным, например, в текстовом процессоре Microsoft Word для MS-DOS и оболочке MS-DOS Shell. Последние всегда размещают на экране стандартное количество символов, например 80 х 25 или 80 х 43. Этим программам графический режим нужен для правильного отображения специальных значков, шрифтовых выделений и других специальных целей. Иное дело, когда Word для MS-DOS по команде просмотра перед печатью отображает на экране уменьшенную копию листа бумаги с распечаткой, но это просмотровый режим, а не рабочий. Перемещая (например, в Word или Norton Utilities для MS-DOS) мышью окно или диалоговую панель по экрану, вы можете добиться позиционирования этих объектов только с точностью до знакоместа.

Рис. 1.2.


Windows (а значит, и любая Windows-программа) позиционирует графические объекты с точностью до минимального графического элемента изображения – пиксела. Размеры таких объектов Windows, как элементы окон, кнопки и значки, стандартизированы. Для отображения системных сообщений и наименований команд меню Windows применяет растровые (матричные) шрифты разных типоразмеров для работы в режимах низкого и высокого разрешения. В документах, содержащих текст, Windows позволяет применять масштабируемые шрифты как для экранного вывода, так и для печати на принтере. Поэтому на экране документ выглядит практически так же, как и на бумаге, – это так называемый принцип WYSIWYG (What You See Is What You Get – что видишь, то и получаешь), или принцип точного отображения.

Сравните три изображения окна текстового процессора (рис. 1.2). Видеосистема компьютера, на котором они сделаны, позволяет работать с разрешениями 640 х 480, 1024 х 768 и 1280 х 1024 соответственно.

Унификация драйверов

Второй крупный недостаток MS-DOS – необходимость поддержки огромного количества всевозможных устройств. DOS-программам приходилось напрямую поддерживать множество типов принтеров и мониторов, и при появлении на рынке новых моделей устройств вывода разработчики были вынуждены соответствующим образом менять коды программ. Большая часть известных DOS-программ, таких как WordPerfect, Microsoft Word, Lotus 1-2-3, Quattro Pro, общались с принтерами через специальные драйверы – программные модули, предназначенные специально для того, чтобы переводить поток данных от программ на язык, «понятный» конкретному принтеру. Это позволяло при появлении новой модели принтера не переписывать программу, а лишь добавлять к ней новый драйвер. В комплект поставки упомянутых программ приходилось включать десятки и сотни драйверов…

Одним словом, новая операционная система должна была решить и эту проблему. Забегая вперед, скажем, что Windows-программы для вывода на печать пользуются услугами ОС Windows, а та уже работает с драйверами. Таким образом, Windows избавила и пользователей, и разработчиков от многих хлопот, связанных с поддержкой устройств. В Windows 3.1 был реализован аппаратно-незави-симый драйвер принтера, в дополнение к которому разработчики должны были писать только мини-драйверы для поддержки аппаратно-зависимых операций. В Windows 95 появились мини-драйверы экрана и диска. В Windows NT была реализована архитектура мини-драйвера диска (он называется порт-драйвером).

В Windows 98 была впервые введена поддержка нового класса драйверов, соответствующих модели WDM (Win32 Driver Model). WDM использует послойную архитектуру, в которой каждый слой изолирует часть сервисов, нужных для драйвера устройства.

Использование оперативной памяти

Сразу предупреждаю: в этом разделе упоминаются объемы оперативной памяти ПК, измеряемые в килобайтах (Кбайт), и это не опечатка, так как

в начале 80-х годов многие полноценные приложения «умещались» в 16–64 Кбайт ОЗУ. Так вот, базовая, или стандартная, память (conventional memory) IBM PC-совмести-мых компьютеров представляла собой «целых» 640 Кбайт оперативной памяти, а всего микропроцессоры 8086/88 могли адресовать до 1 Мбайт, или 1024 Кбайт памяти. Для обращения к базовой памяти не были нужны никакие дополнительные драйверы, поскольку MS-DOS изначально была создана для работы в адресах 0–640 Кбайт.

Это казалось очень много, и именно в этом заключалась третья проблема MS-DOS. Ведь для создания ядра операционной системы, способной обеспечить графический пользовательский интерфейс и унифицированный доступ ко всем устройствам ввода-вывода для всех приложений, нужно было очень много памяти для программного кода и данных – гораздо больше, чем 640 Кбайт.

Первые три поколения Windows

В ходе самостоятельных разработок в области графического интерфейса Microsoft стремилась к тому, чтобы оконная среда не только была оболочкой для MS-DOS, позволяющей работать с файлами и запускать программы, но и предоставляла разработчикам собственный интерфейс прикладного программирования (Application Programming Interface, API).

Существовавшие тогда IBM PC-совместимые компьютеры не могли обеспечить полноценного функционирования графической среды, поэтому Windows 1.0 (1985 г.) выглядела довольно бледно и была примечательна преимущественно тем, что была первой. Она работала в реальном режиме процессора 8086, имела графический интерфейс с неперекрывающимися окнами, обеспечивала совместную работу графических Windows-приложений и одного приложения MS-DOS.

В 1987-88 годах появлялись уже вполне работоспособные реализации Windows/286 и Windows/386 (Windows 2.x). В интерфейсе этих ОС окна приложений могли перекрываться; свернутые окна приложений, работающих в фоновом режиме, выглядели как небольшие значки в нижней части экрана. Тогда же был реализован механизм динамического обмена данными (DDE). В Windows/286 можно было запустить в один момент времени лишь одно MS-DOS-приложение. Windows/386 (1988 г.) уже могла выполнять одновременно несколько приложений MS-DOS в отдельных виртуальных машинах благодаря механизму вытесняющей многозадачности.

Среда Windows имела свой API для работы с приложениями, но до появления Windows 3.0 была способна задействовать только нижние 640 Кбайт памяти MS-DOS и до 32 Мбайт так называемой отображаемой памяти, которая отображалась 16-килобайтными страницами на непрерывный страничный блок размером 64 Кбайт, находящийся выше стандартных 640 Кбайт – в области старших адресов (ухищрение разработчиков, к счастью, давно забытое). До версии 3.0 эта графическая среда особенного успеха на рынке не имела, так как практически не давала преимуществ ни разработчикам, ни пользователям.

Оболочкой ранних версий Windows служила MS-DOS Executive (рис. 1.3). Эта программа позволяла мышью или клавишами управления курсором отыскивать файл или каталог, легко открывать его, выбирать дисковод и переходить в над-каталог, нажав клавишу Backspace. Вот и все плюсы этой однооконной программы, не поддерживавшей, кстати, и перетаскивания мышью (drag-and-drop, «перетащи и отпусти»).

Рис. 1.3.


Одновременно с разработкой Windows во второй половине 80-х годов Microsoft (совместно с IBM) вела разработки графического интерфейса Presentation Manager для будущей операционной системы OS/2, которая должна была прийти на смену MS-DOS, и приложений для компьютеров Macintosh фирмы Apple. Собственно, свои первые программы с графическим интерфейсом – текстовый процессор Word и электронную таблицу Excel – Microsoft выпустила именно для Macintosh. «Мы тесно сотрудничали с Apple в процессе создания Macintosh… – пишет Билл Гейтс. – Разработка графических программ потребовала немалого воображения».

Неудивительно, что к 1990 году Microsoft добилась серьезных успехов в разработке графического интерфейса. И только тогда Apple подала на Microsoft в суд, усмотрев в интерфейсе Windows 3.0 сходство с интерфейсом ОС компьютеров Macintosh!

Инженерам Microsoft, кроме того, удалось самостоятельно решить проблему доступа ко всей оперативной памяти программ, использующих Windows API. Руководство Microsoft хорошо понимало, что встраивание этой находки в будущую версию Windows положит конец совместному проекту IBM и Microsoft в отношении OS/2.

Поделиться с друзьями: