Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции ОС.doc
Скачиваний:
325
Добавлен:
10.06.2015
Размер:
978.94 Кб
Скачать

4 Микроядерная архитектура (модель клиент-сервер)

Эта модель является средним между двумя предыдущими моделями.

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

В этой модели вводятся два понятия:

  • Серверный процесс (который обрабатывает запросы)

  • Клиентский процесс (который посылает запросы)

Взадачу ядра входит только управление связью между клиентами и серверами.

Модель клиент-сервер

Преимущества:

  • Малый код ядра и отдельных подсистем, и как следствие меньшее содержание ошибок.

  • Ядро лучше защищено от вспомогательных процессов.

  • Легко адаптируется к использованию в распределенной системе.

Недостатки:

  • Уменьшение производительности.

5 Обобщение сравнения моделей

Сравнения моделей.    

Тема 1.2.Интерфейс пользователя

Интерфе́йс (от англ. interface — поверхность раздела, перегородка) — совокупность средств, методов и правил взаимодействия между элементами системы.

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

Интерфейс двунаправленный — устройство, получив команды от пользователя и исполнив их, выдаёт информацию обратно, наличествующими у неё средствами (визуальными, звуковыми и т. п.), приняв которую, пользователь выдаёт устройству последующие команды предоставленными в его распоряжение средствами (кнопки, переключатели, регуляторы, сенсоры, голосом, и т. д.).

Чаще всего термин применяется по отношению к компьютерным программам, однако под ним может подразумеваться любая система взаимодействия с устройствами, способными к интерактивному общению с пользователем. Несколько широко распространённых примеров:

  • меню на экране телевизора — пульт дистанционного управления;

  • дисплей электронного аппарата (автомагнитолы, часов) — набор кнопок и переключателей для настройки;

  • приборная панель (автомобиля, самолёта) — рычаги управления.

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

Программный интерфейс— функциональность, которую некоторый программный компонент предоставляет другим программным компонентам. Можно различать два вида такой функциональности: та, что используется при создании прикладных программ, и та, что используется при создании системных компонентов. Первая обычно называется интерфейсом программирования приложений (API, англ. application programming interface), вторая может называться интерфейсом программирования компонентов операционной системы или интерфейсом системного программирования (SPI, англ. system programming interface). Кроме того, программные интерфейсы могут быть разноуровневыми, относясь либо к уровню программного кода (API и SPI), либо к уровню кода машинного (ABI, англ. application binary interface, и SBI, англ. system binary interface).

Как любое техническое устройство, компьютер обменивается информацией с человеком посредством набора определенных правил, обязательных как для машины, так и для человека. Эти правила в компьютерной литературе называются интерфейсом. От интерфейса зависит технология общения человека с компьютером.

Можно выделить следующие виды интерфейса: командный интерфейс, графический WIMP-интерфейс, SILK-интерфейс.

1. Командный интерфейс. Этот интерфейс называется так потому, что в этом виде интерфейса человек подает команды компьютеру, а компьютер их выполняет и выдает результат человеку. Командный интерфейс реализован в виде пакетной технологии и технологии командной строки.

2. Графический WIMP-интерфейс (Window- окно, Image - образ, Menu - меню, Pointer - указатель). Характерной особенностью этого вида интерфейса является то, что диалог с пользователем ведется не с помощью команд, а с помощью графических образов - меню, окон, других элементов.

3.   SILK-интерфейс (Speech - речь, Image - образ, Lanquage - язык, Knowlege - знание). Этот вид интерфейса наиболее приближен к обычной, человеческой форме общения. В рамках этого интерфейса идет речевое общение человека и компьютера. При этом компьютер находит для себя команды, анализируя человеческую речь и находя в ней ключевые фразы. Результат выполнения команд он также преобразует в понятную человеку форму.

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

Отличительные особенности этого интерфейса.

  • Выделение областей экрана.

  • Переопределение клавиш клавиатуры в зависимости от контекста.

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

  • Широкое использование цветных мониторов.

Появление этого типа интерфейса совпало с широким распространением операционной системы MS DOS. Типичным примером использования этого вида интерфейса является файловая оболочка Norton Commander и текстовый процессор Microsoft Word for Dos.

Вторым этапом в развитии графического интерфейса стал «чистый» интерфейс WIMP. Он характеризуется следующими особенностями.

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

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

  • Все действия с объектами осуществляются с помощью меню. Хотя меню появилось на первом этапе становления графического интерфейса, оно не имело в нем главенствующего значения, а служило лишь дополнением к командной строке. В чистом WIMP- интерфейсе меню становится основным элементом управления.

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

Важнейшей особенностью этого интерфейса является его понятность и простота в усвоении.

Поэтому сейчас WIMP-интерфейс стал стандартом де-факто. Ярким примером программ с графическим интерфейсом является операционная система Microsoft Windows.

SILK-интерфейс

С середины 90-х годов XX  в связи с появлением звуковых карт и широкого распространения технологий распознавания речи начинается активное развитие и применение «речевой технологии» SILK -интерфейса. При этой технологии команды подаются голосом путем произнесения специальных зарезервированных слов - команд. Такими основными командами (по правилам системы речевого ввода «Горыныч») являются:

  • «Проснись» - включение голосового интерфейса.

  • «Отдыхай» - выключение речевого интерфейса.

  • «Открыть» - переход в режим вызова той или иной программы. Имя программы называется в следующем слове

  • «Буду диктовать» - переход из режима команд в режим набора текста голосом.

  • «Режим команд» - возврат в режим подачи команд голосом

  • и некоторые другие.

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

Пользователь, как правило, не интересуется деталями устройства аппаратного обеспечения компьютера, он видится ему как набор приложений. Приложение можно написать на каком-то из языков программирования. Чтобы упростить эту задачу имеется набор системных программ, некоторые из которых называют утилитами, с их помощью реализуется часто исполнение Функции, которые помогают при создании пользовательских программ в работе с файлами и управление устройствами ввода/вывода. Программист использует эти средства при разработке этих программ, а приложения во время выполнения обращаются к утилитам для выполнения определённых функций. Наиболее важной из системных программ являются операционные системы, которые скрывает от программиста детали аппаратного обеспечения и предоставляет удобный интерфейс для исполнения системы операционной среды. Может включать несколько интерфейсов:

1)      пользовательский;

2)      программный

Например, система Linux им. для пользователя как интерфейсные команды (различные оболочки): C-Shell, K-Shell, B-Shell, bash-shell.

ИНТЕРФЕЙС ТИПА Midnight Commander.

Так и графические интерфейсы (X Windows). В нём могут быть различные менеджеры окон (KDE Grome).

Что касается программных интерфейсов, то операционная система Windows программы может обращаться как операционная система за соответствующими сервисами и функциями, так и к графической подсистеме. С точки зрения архитектуры процессора, вторая программа, созданная для работы в Linux использует те же команды и форматы данных, что и программа, созданная для работы в среде Windows. Однако в первом случае имеет место обращение к операционной среде, во втором — к другой. Таким образом, операционная среда — это то системное программное обеспечение, в котором могут выполняться программы, созданные по правилам работы этой среды.

Типичные операционные системы предоставляют следующие сервисы:

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

2)      исполнение программ. Для запуска программы требуется выполнить ряд действий. Следует загрузить в основную память команды и данные, инициализировать устройства. Операционная система выполняет рутинную работу;

3)      доступ к устройствам ввода/вывода. Для управления работой каждым устройством ввода/вывода нужен свой набор команд или контролируемый сигнал. Операционная система предоставляет пользователю единообразный интерфейс, который вскрывает все эти детали и обеспечивает программисту доступ к устройствам ввода/вывода с помощью простых команд чтения и записи;

4)      контролируем доступ к файлам. При работе с файлами, управление его стороны операционной системы предназначено не только понимание природы устройств ввода/вывода и знание структур данных записанные в файлах. Многопользовательские операционные системы, кроме того, обеспечивают работу механизмов защиты при обращении к файлам;

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

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

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