Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
AOS_otvety_1.docx
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
3 Мб
Скачать
☆
  1. Обзор семейства операционных систем Microsoft Windows.

Microsoft Windows – операционные системы корпорации Microsoft, различные версии которых предназначены для широкого класса устройств – от суперкомпьютеров до встроенных систем. Microsoft Windows установлена на большинстве персональных компьютеров: по разным данным от 88 до 92%.

Существует несколько семейств (family) операционных систем Windows, предназначенных для использования на разных типах компьютеров:

  • семейство клиентских операционных систем Windows NT (Windows XP, Windows Vista, Windows 7, Windows 8 и др.);

  • семейство серверных операционных систем Windows NT Server (Windows Server 2003, Windows Server 2008 и др.);

  • семейство мобильных операционных систем Windows Mobile и Windows Phone (Windows Mobile 6, Windows Phone 7 и др.);

  • семейство встроенных операционных систем реального времени Windows CE (Windows CE 7.0 и др.).

Кроме того, в прошлом выпускались

  • 16 разрядные операционные системы (Windows 1.0, Windows 2.х, Windows 3.х) и

  • семейство операционных систем Windows 9x (Windows 95, Windows 98, Windows Me).

История развития семейств операционных систем Windows

1. Первой Windows была Windows 1.0, выпущенная в ноябре 1985 года. Это была не полноценная операционная система, а надстройка над операционной системой MS-DOS. Windows 1.0:

  • предоставляла пользователю графический оконный интерфейс и

  • возможность запускать несколько приложений одновременно (и то и другое отсутствовало в MS DOS).

Сначала эту программу хотели назвать Interface Manager, но затем склонились к названию Windows ("окна"), как более точно отражающему суть работы с новой программой . Минимальные системные требования к памяти ограничивались 256 КБ.

2. В Windows 2.0 (декабрь 1987 года) были введены некоторые улучшения графического интерфейса (в частности поддержка перекрывающихся окон) и работы с памятью. Также для большего удобства стали использоваться комбинации клавиш.

В мае 1988 года и в марте 1989 года появляются соответственно Windows 2.10 и Windows 2.11, поддерживающие новые на то время процессоры Intel 80286 и Intel 80386 [16].

3. В мае 1990 года выходит Windows 3.0 с улучшенной графикой и поддержкой виртуальной памяти.

В 1992 1993 гг. появляются версии Windows for Workgroups 3.1 и 3.11, в которых имеется поддержка работы в одноранговых сетях и сетях под управлением сервера. Это были последние версии 16 разрядных Windows.

Windows 9x

4. В августе 1995 года выпускается Windows 95 – 32 разрядная клиентская операционная система, в которой была встроенная поддержка работы с Интернетом (браузер Internet Explorer) и модемными сетями, а также технология Plug-and-Play ("подключи и работай"), позволяющая быстро подключать к компьютеру различные устройства. Впервые появилась кнопка Пуск (Start) и Панель задач (Taskbar). Windows 95 требовала минимум 4 МБ оперативной памяти [7].

4. На смену Windows 95 в июне 1998 года приходит Windows 98 с множеством программ для работы с Интернетом (Internet Explorer 4, Outlook Express и др.), поддержкой DVD и USB, первым появлением Панели быстрого запуска программ (Quick Launch bar). Windows 98 была последней операционной системой, основанной на MS DOS.

5. Последней версией в семействе 9x стала Windows Me (Millennium Edition, сентябрь 2000 года). Эта система была нацелена на домашних пользователей, и, следовательно, имела широкую поддержку работы с мультимедиа (Windows Media Player 7, Windows Movie Maker), Интернетом и домашними сетями.

Другим направлением развития операционных систем Windows в 90 е годы стало семейство NT.

Windows NT

В июле 1993 года была выпущена первая операционная система семейства NT – Windows NT 3.1. Есть разные варианты объяснения названия NT, самый распространенный вариант – это аббревиатура от New Technology ("новая технология").

Разработка системы, основанной на новом ядре (не MS DOS), началась в 1989 году. К новой операционной системе предъявлялись следующие основные требования [5]:

  • 32 разрядность;

  • поддержка многопроцессорных систем;

  • поддержка вытесняющей многозадачности и виртуальной памяти;

  • высокая производительность;

  • возможность работы в качестве сервера и клиента;

  • переносимость;

  • совместимость с другими версиями Windows и MS DOS, а также частичная совместимость с UNIX;

  • безопасность;

  • надежность;

  • поддержка Unicode.

Windows NT 3.1 соответствовала всем этим требованиям, а на ядре этой системы (конечно, с изменениями) основаны все современные версии Windows, включая Windows 8.

Windows NT 3.1 поддерживала процессоры Intel 80386, Intel 80486, MIPS R4000 и DEC Alpha [5]. Существовали клиентская и серверная версии системы – Windows NT и Windows NT Advanced Server. Windows NT, помимо других файловых систем, поддерживала специально разработанную в Microsoft файловую систему NTFS (New Technology File System).

В 1994 1996 годах последовательно выходят операционные системы Windows NT 3.5, Windows NT 3.51 и Windows NT 4.0. Целями разработки Windows NT 3.5 были повышение производительности и надежности, а также уменьшение размера системы. В Windows NT 3.51 была включена поддержка процессора IBM PowerPC. Windows NT 4.0 обладала таким же графическим интерфейсом как и система Windows 95 [5].

6. Windows 2000, вышедшая в декабре 1999 года, разрабатывалась в качестве системы для профессиональных пользователей, объединяющей два направления – Windows 9x и Windows NT [7]. Система Windows 2000 включала Active Directory (служба и базу данных ресурсов для управления большими сетями) и поддержку значительного числа Plug-and Play устройств, в том числе беспроводных сетей, USB, IEEE 1394 и др.

Существовало 4 версии Windows 2000 – одна клиентская (Professional) и три серверных (Server, Advanced Server и Datacenter Server). Windows 2000 была последней системой, для которой выпускались одновременно клиентские и серверные версии.

7. Следующим шагом стало объединение обоих направлений клиентских систем: и систем для профессиональных пользователей (Windows 2000 Professional), и систем для домашних пользователей (Windows Me). Результатом такого объединения стала операционная система Windows XP (август 2001 года). Благодаря своей стабильности, скорости и удобному интерфейсу, Windows XP стала (и до сих пор является) одной из самых распространенных операционных систем в мире. Важным шагом явилось появление 64 разрядных версий Windows XP (Windows XP 64-bit Edition). Количество строк кода в Windows XP – 45 миллионов [7].

8. В марте 2003 года выходит серверная операционная система Windows Server 2003, имеющая большую производительность и поддерживающая более мощное оборудование, чем Windows 2000. Система имеет 4 основные версии: Web, Standard, Enterprise и Datacenter. Например, версия Datacenter поддерживает 64 процессора и до 64 ГБ оперативной памяти (до 512 ГБ на 64 разрядных платформах).

9. Клиентская операционная система Windows Vista вышла в ноябре 2006 года. Акцент при разработке этой системы был сделан на безопасность – контроль учетных записей пользователей (User Account Control), шифрование дисков (BitLocker Drive Encryption), антишпионское программное обеспечение (Windows Defender) и др. В Windows Vista был также изменен пользовательский интерфейс, в частности поменяла вид кнопка Пуск (Start).

В феврале 2008 года появилась операционная система Windows Server 2008, основанная на коде Windows Vista – поэтому большая часть нововведений Windows Vista перешла и в Windows Server 2008.

10. В июле 2009 года выходит Windows 7, отличающаяся расширенной поддержкой ноутбуков и планшетов. Основные особенности Windows 7 – новые приемы работы с окнами, мгновенный поиск информации на компьютере, поддержка сенсорных экранов (Windows Touch), большие возможности по настройке оформления рабочей среды.

11. В 2012 году Microsoft выпускает новейшие версии операционных систем – клиентскую Windows 8 (октябрь 2012 года) и серверную Windows Server 2012 (сентябрь 2012 года).

Windows 8 – операционная система, одинаково рассчитанная как на обычные настольные компьютеры и ноутбуки, так и на планшетные компьютеры, завоевавшие в последнее время существенную долю всего рынка персональных компьютеров (см. лекцию 3 "Windows 8").

Windows CE

Windows CE – операционная система реального времени для встраиваемых систем. Символы "CE", по утверждению Microsoft, обозначают "Compact, Connectable, Compatible, Companion, Efficient"1 . В настоящее время эта система имеет официальное название Windows Embedded Compact (http://www.microsoft.com/windowsembedded).

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

Первая версия Windows CE 1.0 появилась в 1996 году и была разработана как урезанная версия Windows 95. В дальнейшем команда разработчиков Windows CE сотрудничала с командой Windows 2000, затем Windows CE развивалась как независимая система.

На сентябрь 2012 года последней версией является Windows CE 7.0.

Windows Mobile и Windows Phone

Windows Mobile – операционная система для смартфонов и карманных персональных компьютеров (КПК, Personal Digital Assistant – PDA), основанная на Windows CE.

Первые версии операционных систем этого семейства назывались Pocket PC (2000 год). С 2003 года утвердилось наименование Windows Mobile – были выпущены операционные системы Windows Mobile 2003, Windows Mobile 5, Windows Mobile 6. Последней версией с таким названием стала система Windows Mobile 6.5 (2009 год).

С октября 2010 года Microsoft выпустила новую операционную систему для мобильных устройств – Windows Phone 7, несовместимую с Windows Mobile, хотя и основанную также на Windows CE. В Windows Phone 7 появился новый пользовательский интерфейс, в настоящее время называемый Modern UI.

В октябре 2012 года ожидается выход Windows Phone 8, основанной на ядре Windows NT.

Windows 8 – новейшая операционная система от корпорации Microsoft, предназначенная для использования на персональных компьютерах, в том числе с сенсорными дисплеями.

Разработка Windows 8 началась в 2009 году и впервые система была анонсирована в январе 2011 года. Официальная дата начала продаж назначена на 26 октября 2012 года.

Ядро Windows 8 имеет номер версии 6.2 и его код основан на коде ядра Windows 7 (имеющего номер версии 6.1) с небольшими изменениями.

Основные особенности

Интерфейс

  • Самым заметным отличием новой системы от Windows 7 является, конечно, интерфейс Modern UI, который используется при старте системы вместо привычного рабочего стола

  • Другим изменением в интерфейсе стало использование Ribbon Interface (Ленточный интерфейс) в Проводнике Windows

Учетные записи

  • На компьютер под управлением Windows 8 можно войти, используя учетную запись Microsoft (Live ID). При этом становятся доступны все связанные с учетной записью сервисы – SkyDrive, Outlook.com, Microsoft Messenger, Facebook, LinkedIn, Twitter и др

  • С помощью использования Live ID доступна функция семейной безопасности и родительского контроля (Microsoft Family Safety).

Безопасность

  • Программа Защитник Windows (Windows Defender), которая ранее обладала только антишпионскими функциями, теперь стала ещё и антивирусом

  • Поддерживается механизм безопасной загрузки на системах с UEFI (Unified Extensible Firmware Interface – унифицированный расширенный интерфейс для встроенного программного обеспечения; стандарт, предназначенный для замены BIOS), путем проверки целостности загрузчика Windows. Таким образом, предотвращаются попытки вредоносных программ перехватить управление до загрузки системы.

Диспетчер задач

  • Диспетчер задач (Task Manager) существенно изменен по сравнению с предыдущими версиями: добавлены подробности по текущему использованию ресурсов, добавлена вкладка Автозапуск (Startup), добавлена вкладка истории использования приложениями различных ресурсов (App history) (рис.3.3).

История файлов

  • Функция История файлов (File history) автоматически сохраняет копии изменяемых файлов, так что при необходимости можно откатить изменения и вернуться к старым версиям файлов.

Восстановление системы

  • Добавлены две функции по восстановлению системы без использования носителей с дистрибутивом – Обновление (Refresh) и Сброс (Reset). При Обновлении система переустанавливается с сохранением пользовательских файлов и настроек; при Сбросе диск форматируется и система устанавливается с нуля.

Storage Spaces

  • Функция Storage Spaces позволяет объединять физические диски, построенные по разным технологиям (SATA, USB, SAS), в единый виртуальный диск с автоматическим резервированием информации.

Версии Windows 8

Планируется выпуск четырех версий Windows 8:

  • Windows 8 – базовая версия для 32 разрядных (x86) и 64 разрядных (x64) платформ;

  • Windows 8 Pro – версия для продвинутых и бизнес-пользователей. В неё будут добавлены поддержка доменов Windows, групповые политики, шифрование файлов, технологии виртуализации;

  • Windows 8 Enterprise – версия для корпоративных пользователей. Присутствуют все возможности Windows 8 Pro и добавляются следующие технологии: Windows To Go (возможность загрузки с переносных устройств – внешних жестких дисков и флеш дисков), DirectAccess (простой и безопасный доступ к ресурсам корпоративной сети через Интернет), BranchCache (кэширование файлов корпоративной сети), AppLocker (гибкое управление разрешениями на запуск приложений);

  • Windows RT – версия, которая будет поддерживать мобильные процессоры ARM. Будет доступна только как предварительно установленная операционная система на компьютерах с ARM процессорами. В состав системы будет входить пакет Microsoft Office Home & Student 2013 RT.

Базовая архитектура Windows 2000.

С Windows 2000 с точки зрения архитектуры организована как многоуровневая система модулей. Система поддерживает защищенный (системный) режим, в котором выполняются

  • HAL,

  • ядро и

  • исполнительная подсистема (executive).

В пользовательском режиме исполняется набор подсистем, среди которых - подсистемы окружения, эмулирующие различные ОС, с целью совместимости приложений.

Подсистемы защиты реализуют различные функции безопасности.

Исполнительная система и ядро системы.

Ядро Windows 2000

Ядро в системе является основой функционирования исполнительной подсистемы (executive) и подсистем, выполняемых в пользовательском режиме. Отказы страниц в ядре исключены. Его исполнение никогда не прерывается.

Ядро выполняет следующие основные функции:

  • Планирование потоков

  • Обработка прерываний и исключений

  • Низкоуровневую синхронизацию процессов

  • Восстановление после отказов электропитания.

Особенно важной и принципиально новой в операционных системах особенностью является то, что ядро системы Windows - объектно-ориентированное.

Ядро использует два набора объектов:

  • Объекты-диспетчеры - - объекты, управляющие диспетчеризацией и синхронизацией (события, мьютексы, семафоры, потоки, таймеры).

  • Управляющие объекты - асинхронные вызовы процедур, обработчики прерываний, объекты нотификации об электропитании, объекты состояния электропитания, объекты профилирования.

Поддержка потоков и процессов в ядре.

Процесс имеет адресное пространство в виртуальной памяти, информацию (например, базовый приоритет) и тесную связь с одним или несколькими процессами.

Потоки – единицы исполнения, планируемые диспетчером ядра. Каждый поток имеет свое собственное состояние, включая приоритет, связь с процессором и статистическую информацию. Поток может быть в следующих состояниях: ready, standby, running, waiting, transition и terminated.

Планирование в ядре.

Диспетчер использует 32-уровневую схему приоритетов для определения порядка выполнения потоков. Приоритеты разбиты на два класса:

  • Класс real-time содержит потоки с приоритетами от 16 до 31.

  • Класс variable содержит потоки с приоритетами от 0 до 15.

Характерными чертами стратегии приоритетов Windows 2000 являются следующие:

  • Хорошее время ответа для потоков, использующих мышь и окна.

  • Предоставление возможности потокам, связанным с вводом-выводом, обеспечивать занятость устройств ввода-вывода.

Планирование выполняется, когда поток переходит в состояние ready или wait, когда поток завершается, либо когда приложение изменяет приоритет потока или связь с процессором.

Потокам реального времени отдается предпочтение при выделении процессора; но ОС не гарантирует, что поток начнет выполняться в течение какого-либо определенного интервала времени (такой подход известен как soft real-time ).

Обработка прерываний в ядре

Ядро обеспечивает обработку прерываний, если исключения и прерывания генерируются аппаратурой и программным обеспечением. Таким образом, в Windows 2000 введены средства обработки исключений (exceptions) – более высокоуровневый механизм обработки ошибок, чем сигналы в UNIX.

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

Диспетчер прерываний в ядре обрабатывает прерывание либо путем вызова подпрограммы, обслуживающей прерывание (например, драйвера устройства), либо путем вызова внутренней подпрограммы ядра.

Ядро использует блокировщики (spin locks,буквально – вертящиеся замки),находящиеся в основной памяти, для взаимного исключения процессов.

Исполнительная подсистема (executive) ОС Windows 2000

Менеджер объектов.

Как уже было сказано, Windows 2000 использует объекты для управления всеми своими службами и для представления сущностей. Менеджер объектов исполнительной подсистемы управляет использованием всех объектов. Основные функции менеджера объектов:

  • Генерация object handle - ссылки на объект ядра Windows 2000;

  • Выполнение проверок безопасности при работе с объектом;

  • Слежение за использованием каждого объекта процессами.

Объекты управляются стандартным набором методов: create, open, close, delete, query name, parse, security.

Модуль executive поддерживает именование объектов. Имя может быть постоянным или временным. Имена объектов структурируются как имена путей доступа к файлам в MS-DOS или UNIX.

Реализованы объекты-символические ссылки, которые подобны символическим ссылкам в UNIX и дают возможность иметь несколько синонимов для одного файла.

Процесс получает ссылку на объект при его создании, при открытии уже существующего объекта, при получении скопированной ссылки от другого процесса, либо путем наследования ссылки от процесса-родителя.

Каждый объект защищен списком управления доступом.

Менеджер виртуальной памяти в executive.

При проектировании менеджера виртуальной памяти предполагалось, что процессор поддерживает для отображения виртуальных адресов в физические механизм страничной организации, прозрачный кэш для многопроцессорных систем, а также алиасы для виртуальных адресов.

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

Используется двухуровневая схема выделения памяти:

  • На первом шаге резервируется часть адресного пространства процесса.

  • На втором шаге данное выделение поддерживается выделением пространства в файле откачки (paging file).

Используются иерархические двухуровневые таблицы страниц.

Трансляция виртуальных адресов в Windows 2000 использует несколько структур данных.

Каждый процесс имеет справочник страниц (page directory),содержащий 1024 элемента справочника страниц размером по 4 байта.

Каждый элемент справочника страниц ссылается на таблицу страниц, которая содержит 1024 элемента таблицы страниц (page table entries - PTEs) размером по 4 байта.

Каждый PTE ссылается на фрейм страницы (4 KB) в физической памяти.

Ссылка на элемент всегда занимает 10 битов (0..1023). Это свойство используется при трансляции виртуальных адресов в физические.

Страница может находиться в следующих состояниях:

  • valid (корректна),

  • zeroed (обнулена),

  • free standby (свободна),

  • modified (модифицирована),

  • bad (некорректна).

Менеджер процессов executive.

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

Важный элемент менеджера процессов – механизм локального вызова процедуры (LPC). LPC передает запросы и результаты между клиентским и серверным процессами на локальной машине. В частности, он используется для запросов к сервисам различных подсистем ОС.

При создании канала для LPC должно быть указано сообщение одного из трех типов.

  • Первый тип – маленькие сообщения, до 256 байтов; в качестве промежуточной памяти используется очередь сообщений порта, и сообщения копируются от одного процесса к другому.

  • Второй тип – во избежание копирования больших сообщений, передаются ссылки на разделяемые объекты, содержащие сообщения.

  • Третий тип - быстрый LPC – используется графическими подсистемами Win32.

Менеджер ввода-вывода в executive.

Менеджер ввода-вывода отвечает за следующие компоненты и действия ОС:

  • Файловые системы

  • Управление кэш-памятью

  • Драйверы устройств

  • Сетевые драйверы.

Менеджер ввода-вывода следит за тем, какие файловые системы загружены, и управляет буферами для запросов на ввод-вывод.

Он также взаимодействует с менеджером виртуальной памяти для обеспечения ввода-вывода в файлы, отображаемые в память.

Менеджер ввода-вывода управляет кэш-менеджером, который обеспечивает кэширование для всей системы ввода-вывода.

Менеджер ввода-вывода поддерживает как синхронные, так и асинхронные операции, обеспечивает тайм-ауты для драйверов, поддерживает механизмы для вызова одного драйвера другим.

Монитор безопасности в executive.

Объектно-ориентированная архитектура Windows 2000 обеспечивает использование единого механизма для контроля доступа во время выполнения и аудита всех объектов системы.

Каждый раз, когда процесс получает ссылку на объект, монитор безопасности проверяет маркер безопасности процесса и список управления доступом к объекту для проверки, имеет ли процесс необходимые права.

Менеджер Plug-and-Play.

Менеджер Plug-and-Play (PnP) используется для распознавания изменений в конфигурации оборудования и адаптации к ним (установки соответствующих драйверов).

Когда добавляются новые устройства (например, PCI или USB), менеджер PnP загружает соответствующий драйвер.

Менеджер PnP также следит за ресурсами, используемыми каждым устройством.

Компоненты системы Windows 2000 режима пользователя.

Подсистемы окружения в Windows 2000

Над executive надстраиваются процессы пользовательского режима, обеспечивающие исполнение программ, разработанных для других ОС.

Windows 2000 использует подсистему Win32 как основное операционное окружение. Подсистема Win32 используется для запуска всех процессов. Она же обеспечивает средства работы с мышью, клавиатурой и средства графики.

Окружение MS-DOS обеспечивается приложением Win32, называемым Virtual Dos machine (VDM),процессом пользовательского уровня, для которого поддерживается страничная организация и диспетчеризация, как и для всех других потоков.

Окружение для 16-битовых Windows обеспечивается VDM, которая содержит подсистему Windows on Windows. Последняя предоставляет процедуры ядра Windows 3.1 для менеджера окон и функций GDI.

Подсистема POSIX спроектирована для исполнения POSIX-приложений, следующих POSIX.1 – стандарту, который базируется на модели UNIX.

Подсистема OS/2 выполняет OS/2 - приложения.

Подсистема входа и безопасности аутентифицирует пользователей, входящих в систему Windows 2000. Требуется, чтобы пользователи имели учетную запись с логином и пароль. Пакет аутентификации подсистемы безопасности аутентифицирует всех пользователей, которые пытаются осуществить доступ к какому-либо объекту системы. Windows 2000 использует Kerberos как пакет аутентификации по умолчанию.

Ключевые термины

Plug-and-Play (PnP) – механизм автоматического распознавания изменений в конфигурации оборудования и адаптации к ним (установки соответствующих драйверов).

Virtual Dos Machine (VDM) - процесс пользовательского уровня, обеспечивающий совместимость с приложениями MS-DOS.

Блокировщик (spin lock, буквально – вертящийся замок ) – системный механизм синхронизации, используемый для взаимного исключения процессов ядра Windows.

Исполнительная подсистема (executive) – основная часть ядра Windows, исполняемая в защищенном режиме, реализующая базовые системные сервисы.

Локальный вызов процедуры (LPC) – системный механизм вызова процедур Windows, передающий запросы и результаты между клиентским и серверным процессами на локальной машине; используется для запросов к сервисам различных подсистем ОС.

Объект-диспетчер - системный объект в Windows, управляющий диспетчеризацией и синхронизацией.

Объектная ссылка (object handle) - ссылка на системный объект ядра Windows.

Управляющий объект - системный объект Windows, управляющий асинхронным вызовом процедуры, обработкой прерывания, нотификацией об электропитании или профилированием.

Уровень абстрагирования от аппаратуры (hardware abstraction layer, HAL) – динамически линкуемая библиотека Windows, инкапсулирующая код, зависящий от конкретного процессора, - тем самым обеспечивающая независимость от аппаратуры всего остального кода Windows.

Поддержка прикладного интерфейса(User, GDI, Kernel).

Первые версии Windows состояли из трёх модулей — KERNEL, GDI и USER. Первый из них предоставлял вызовы управления памятью, запуском .EXE-файлов и загрузкой .DLL-файлов, второй — графику, третий — окна.

Интерфе́йс по́льзователя, он же по́льзовательский интерфейс (UI — англ. user interface) — разновидность интерфейсов, в котором одна сторона представлена человеком (пользователем), другая — машиной/устройством. Представляет собой совокупность средств и методов, при помощи которых пользователь взаимодействует с различными, чаще всего сложными, машинами, устройствами и аппаратурой.

Весьма часто термин применяется по отношению к компьютерным программам, однако под ним может подразумеваться набор средств, методов и правил взаимодействия любой системы, управляемой человеком.

GDI

GDI (Graphics Device Interface, Graphical Device Interface) — один из трёх основных компонентов или «подсистем», вместе с ядром и Windows API, составляющих пользовательский интерфейс (оконный менеджер GDI) Microsoft Windows.

GDI — это интерфейс Windows для представления графических объектов и передачи их на устройства отображения, такие, как мониторы и принтеры.

GDI отвечает за отрисовку линий и кривых, отображение шрифтов и обработку палитры. Он не отвечает за отрисовку окон, меню и т. п., эта задача закреплена за пользовательской подсистемой, располагающейся в user32.dll и основывающейся на GDI. GDI выполняет те же функции, что и QuickDraw в Mac OS.

Одно из преимуществ использования GDI вместо прямого доступа к оборудованию — это унификация работы с различными устройствами. Используя GDI, можно одними и теми же функциями рисовать на разных устройствах, таких, как экран или принтер, получая на них практически одинаковые изображения. Эта возможность лежит в центре всех WYSIWYG-приложений для Windows.

Простые игры, которые не требуют быстрой графики, могут использовать GDI. Однако GDI не обеспечивает качественной анимации, поскольку в нём нет возможности синхронизации с кадровым буфером. Также в GDI нет растеризации для отрисовки 3D-графики. Современные игры используют DirectX или OpenGL, что даёт программистам доступ к большему количеству аппаратных возможностей.

USER

User - подсистема управления окнами и пользовательским интерфейсом операционной системы Windows, одна из трех исторически первых компонент этой ОС.

Реализует

  • объект «окно» (HWND),

  • списки окон, в том числе по Z-orderу, и

  • управление регионами отсечения окон,

Имеет богатый набор вызовов по созданию и управлению окнами.

Также реализует

  • отрисовку стандартной рамки окна (DefWindowProc) и

  • несколько стандартных элементов пользовательского интерфейса (кнопки, чекбоксы, радио-кнопки, полосы прокрутки, списки, комбобоксы и диалоговые окна с потомками внутри).

При создании окна указывается:

  • координаты,

  • строка (заголовок, или строка рядом с кнопкой),

  • флаги стиля и

  • окно-родитель.

  • В вызове RegisterClass также указывается «оконная процедура» (WNDPROC).

Управление размерами и Z-orderом уже созданного окна производится специальными вызовами.

Что же касается управления, зависимого от разновидности окна (например, взвод/сброс чекбокса, или добавление строк в список) — оно осуществляется вызовом SendMessage, где указываются 2 кода сообщения (например, WM_COMMAND+LB_ADDSTRING) и параметр.

Что про кернел – понятия не имею. Ну ядро это, ядро же... Что там такого особенного? В общем, буду рассказывать про обычное ядро Виндовс.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]