Графические интерфейсы ОС семейств Windows и GNU/Linux
Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Дисциплина:
«Операционные системы»
Преподаватель:
Алексеев Кирилл Анатольевич
учебный год 2020/2021
online.mirea.ru
Тема 3
Графические пользовательские интерфейсы в
операционных системах
Занятие 3.1
лекция
Графические интерфейсы ОС семейств
Windows и GNU/Linux
online.mirea.ru
Графические пользовательские интерфейсы в
операционных системах
Учебные вопросы:
1) Графические пользовательские интерфейсы.
2) Графический интерфейс Win32 API.
3) Система X Window.
1)потоками
Литература
Основная:
1) Э. Таненбаум. Современные операционные системы.
Дополнительная:
1) А. Широков, С. Назаров. Современные операционные системы.
online.mirea.ru
1. Графические пользовательские интерфейсы
Оболочка операционной системы (от англ. shell «оболочка») – программа, предоставляющая
интерфейс для взаимодействия пользователя с функциями системы.
В общем случае различают оболочки с двумя типами интерфейса для взаимодействия с
пользователем: текстовый пользовательский интерфейс (text user interface, TUI) и графический
пользовательский интерфейс (graphical user interface, GUI).
Текстовый пользовательский интерфейс – разновидность
интерфейса пользователя, использующая при вводе-выводе и
представлении информации исключительно набор буквенноцифровых символов и символов псевдографики.
Программы с текстовым интерфейсом могут реализовывать
оконный
интерфейс,
чему
особенно
способствует
применение псевдографических символов.
Графический пользовательский интерфейс – система
средств
для
взаимодействия
пользователя
с
компьютером, основанная на представлении всех
доступных пользователю системных объектов и функций в
виде графических компонентов экрана (окон, значков,
меню, кнопок, списков и т. п.).
online.mirea.ru
1. Графические пользовательские интерфейсы
GUI компьютера Apple Lisa
online.mirea.ru
1. Графические пользовательские интерфейсы
Элементы графического пользовательского интерфейса (GUI) в совокупности
обозначаются аббревиатурой WIMP:
• окна – Windows
• значки – Icons
• меню – Menus
• указывающие устройства – Pointing device
Окна представляют собой прямоугольные области экрана, используемые для запуска
программ.
Значки являются небольшими обозначениями, на которых можно щелкать мышью с
целью выполнения каких-либо действий.
Меню представляют собой перечни действий, любое из которых может быть выбрано.
Указывающие устройства – это мыши, трекболы или другая аппаратура, используемая
для перемещения указателя по экрану с целью выбора элементов.
online.mirea.ru
1. Графические пользовательские интерфейсы
Каждый графический адаптер поддерживает определенное количество разрешений
экрана.
Общепринятые разрешения (по горизонтали × по вертикали в пикселах):
1280 × 960, 1600 × 1200 и 1920 × 1080, 2560 × 1600 и 3840 × 2160.
Многие разрешения на практике имеют соотношение сторон экрана 4:3, что
соответствует соотношению размеров экрана телевизионных приемников стандартов
NTSC и PAL и обеспечивает прямоугольность пикселов на тех же мониторах, которые
используются для телевизионных приемников.
Высшие разрешения предназначены для широкоэкранных мониторов с
соответствующим соотношением сторон. При разрешении 1920 × 1800 (размер видео
стандарта full HD) цветной дисплей, имеющий 24 бита на пиксел, требует около 6,2
Мбайт оперативной памяти для хранения всего лишь одного изображения, поэтому
при наличии 256 Мбайт и более графический адаптер может одновременно хранить
множество изображений.
online.mirea.ru
2. Графический интерфейс Win32 API
Графический интерфейс Win32 API поддерживается всеми 32-разрядными версиями
Windows.
Основным элементом экрана является прямоугольная область, называемая окном.
Позиция и размеры окна однозначно определяются за счет задания координат
(в пикселах) двух диагонально противоположных углов. Окно может содержать
небольшой заголовок, строку меню, cтроку инструментов, а также вертикальную и
горизонтальную полосы прокрутки.
online.mirea.ru
2. Графический интерфейс Win32 API
Основные особенности графического интерфейса Win32 API
Программы в ОС Windows должны получать информацию об изменениях размера
своих окон и должны быть готовы к перерисовке содержимого окон в любой момент
времени. Поэтому Windows-программы сориентированы на сообщения.
Действия пользователя, работающего с клавиатурой или мышью, перехватываются
системой Windows и превращаются в сообщения в адрес той программы, которой
принадлежит окно.
У каждой программы имеется очередь сообщений, куда посылаются все сообщения,
имеющие отношение ко всем ее окнам. Основной цикл программы состоит из
отлавливания очередного сообщения и его обработки путем вызова внутренней
процедуры для данного типа сообщений.
В некоторых случаях сама система Windows может непосредственно вызвать эти
процедуры, минуя очередь сообщений.
online.mirea.ru
Структура основной Windows-программы
c графическим интерфейсом Win32 API
online.mirea.ru
3. Система X Window
X Window System – оконная система, обеспечивающая стандартные
инструменты и протоколы для построения графического интерфейса
пользователя. Используется в UNIX-подобных ОС.
X Window System обеспечивает базовые функции графической среды:
отрисовку и перемещение окон на экране, взаимодействие с устройствами
ввода, такими как, например, мышь и клавиатура. X Window System не
определяет деталей интерфейса пользователя – этим занимаются менеджеры
окон, которых разработано множество. По этой причине внешний вид
программ в среде X Window System может очень сильно различаться в
зависимости от возможностей и настроек конкретного оконного менеджера.
online.mirea.ru
3. Система X Window
Пользовательский интерфейс практически всех UNIX-систем базируется на
системе X Window System (которую часто называют просто X), разработанной в
1980-е годы в Массачусетском технологическом институте (MIT). Она обладает
хорошей переносимостью и работает целиком в пользовательском
пространстве.
Первоначально она предназначалась для подключения большого количества
удаленных пользовательских терминалов к центральному вычислительному
серверу, поэтому логически разбита на клиентское и серверное программное
обеспечение, которое потенциально может работать на разных компьютерах.
На современных персональных компьютерах обе ее составляющие могут
работать на одной и той же машине. В Linux-системах популярные среды
рабочих столов Gnome и KDE работают поверх X-системы.
online.mirea.ru
3. Система X Window
Когда X-система работает на одной машине, программное обеспечение,
которое собирает входящую информацию с клавиатуры и мыши и выводит
выходную информацию на экран, называется X-сервером. Х-сервер должен
отслеживать, какое из окон выбрано в данный момент (в каком из них
находится указатель мыши), поэтому он знает, какому именно клиенту
отправлять весь клавиатурный ввод.
Он обменивается информацией с работающими программами (возможно, по
сети), называемыми X-клиентами.
X-сервер отправляет им информацию, получаемую с клавиатуры и мыши, и
принимает от них команды на отображение информации.
online.mirea.ru
Структура графической системы X Window
Xlib – библиотека процедур для доступа к функциональности X-системы. Эти процедуры
формируют основу X Window System, примитивны для непосредственного доступа к ним
пользовательских программ.
online.mirea.ru
Структура графической системы X Window
Для облегчения программирования в среде X-системы в качестве ее составной части
предоставляется инструментарий под названием Intrinsics. На этом уровне
осуществляется управление кнопками, полосами прокрутки и другими элементами
online.mirea.ru
графического интерфейса, именуемыми виджетами (widgets).
Структура графической системы X Window
Для создания настоящего графического интерфейса пользователя с универсальными
восприятием и поведением необходим другой уровень (или несколько уровней). Один из
примеров — Motif — является основой для общей среды рабочего стола — Common
Desktop Environment, используемой в Solaris и других коммерческих UNIX-системах. Во
многих приложениях используются вызовы к Motif, а не к Xlib.
В среде рабочего стола Gnome используется библиотека GTK+, а в KDE — библиотека Qt.
online.mirea.ru
Менеджер окон X Window System
Управление окнами не является частью самой X-системы.
Этим занимается отдельный процесс X-клиента под названием менеджер
окон. Он управляет созданием, удалением и перемещением окон на
экране. Для управления окнами он посылает команды X-серверу,
предписывая, что нужно делать. Зачастую он работает на той же машине в
качестве X-клиента, но может работать на удаленном сетевом узле.
Менеджер окон I3
Менеджер окон AWESOME WM
online.mirea.ru
Менеджер окон X Window System
Менеджер окон X Window System – приложение, работающее
«поверх» X Window System и определяющее интерфейс и
взаимодействие с пользователем. В Unix-подобных операционных
системах пользователь может выбрать любой оконный менеджер по
своему усмотрению.
Менеджеры окон могут отличаться по таким показателям, как:
• возможности настройки внешнего вида и функциональности
• способы запуска различных приложений
• средства настройки и управления окружением
• наличие и взаимодействие с несколькими рабочими или
виртуальными столами
• потребление оперативной памяти и прочих ресурсов компьютера
• степень интеграции со средой рабочего стола, предоставляющей
более полный набор средств для взаимодействия с операционной
средой и различными пользовательскими приложениями online.mirea.ru
Принцип работы системы X Window
При запуске X-программа создает подключение к одному или
нескольким X-серверам, назовем их рабочими станциями, даже
если они будут сосуществовать на одной и той же машине с
самой X-программой. X-система рассматривает эти подключения
как надежные в том смысле, что потерянные и
продублированные сообщения обрабатываются сетевым
программным обеспечением и не нужно заботиться об ошибках
обмена данными. Обычно для связи между клиентом и
сервером используется протокол TCP/IP.
При обмене данными используются четыре вида сообщений:
1. команды вывода графики от программы к рабочей станции;
2. ответы рабочей станции на программные запросы;
3. извещения о событиях клавиатуры, мыши и других устройств;
4. сообщения об ошибках.
online.mirea.ru
Принцип работы системы X Window
Большинство команд на вывод графики посылаются из
программ к рабочим станциям в виде одностороннего
сообщения, на которое не ожидается никакого ответа.
Как и Windows, X-система является в высокой степени
управляемой событиями.
События поступают от рабочей станции к программе, зачастую в
качестве ответа на какие-нибудь действия человека, например
нажатие клавиш, перемещение мыши или окна, находящегося
на первом плане. Каждое сообщение о событии занимает 32
байта, где в первом байте дается тип события, а в следующем 31
байте предоставляется дополнительная информация.
online.mirea.ru
Принцип работы системы X Window
Ключевым понятием в X-системе является ресурс. Он
представляет собой структуру данных, в которой содержится
определенная информация. Прикладные программы создают
ресурсы на рабочих станциях. Ресурсы могут совместно
использоваться несколькими процессами, запущенными на
рабочей станции. Ресурсы настроены на короткий период
существования и не в состоянии пережить перезагрузку рабочей
станции. Типичными ресурсами являются окна, шрифты,
цветовые карты (палитры), карты элементов изображений
(растровые изображения), курсоры и графические контексты.
online.mirea.ru
Структура программы, использующей интерфейсы
графической системы X Window
online.mirea.ru
Среды рабочего стола ОС семейства GNU/LINUX
Среда рабочего стола (также графическое окружение рабочего
стола, англ. desktop environment) – разновидность графических
интерфейсов пользователя, основанная на метафоре рабочего
стола.
Такая среда обеспечивает пространство, называемое рабочим
столом, на котором появляются окна, пиктограммы, панели и
другие элементы. Обычно поддерживаются механизмы,
объединяющие разные части среды, – например, drag-n-drop
(перенос данных между окнами с помощью указательного
устройства). Назначение рабочего окружения – создание
интуитивного способа взаимодействия пользователя с
компьютером.
online.mirea.ru
Примеры сред рабочего стола ОС семейства
GNU/LINUX
online.mirea.ru