- •Тема 8. Интерфейсы операционных систем
- •8.1.Интерфейс прикладного программирования
- •8.1.1. Основные определения
- •8.1.1. Основные определения
- •8.1.1. Основные определения
- •8.1.1. Основные определения
- •8.1.1. Основные определения
- •8.1.1. Основные определения
- •8.1.1.Основные определения
- •8.1.1. Основные определения
- •8.1.1. Основные определения
- •8.1.1. Основные определения
- •8.1.1. Основные определения
- •8.1.1. Основные определения
- •8.1.1. Основные определения
- •8.1.1. Основные определения
- •8.1.1. Основные определения
- •8.1.1. Основные определения
- •8.1.1. Основные определения
- •8.1.1. Основные определения
- •8.1.1. Основные определения
- •8.1.1.Основные определения
- •8.1.1.Основные определения
- •8.1.1. Основные определения
- •8.1.1. Основные определения
- •8.1.1. Основные определения
- •8.1.1. Основные определения
- •8.1.1. Основные определения
- •8.1. Интерфейс прикладного программирования
- •8.1.2. Классификация системных вызовов
- •Основные функции управления синхронизацией
- •Основные функции управления виртуальной и физической памятью
- •Основные функции управления виртуальной и физической памятью
- •Функции механизма отображения файла в память
- •Основные функции для файлового ввода-вывода
- •Основные функции управления каталогами
- •Некоторые категории вызовов GUI
- •Основные функции управления защитой
- •Основные функции управления реестром
- •Основные функции управления консолью
- •8.1.Интерфейс прикладного программирования
- •8.1.3. Программирование системных вызовов
- •8.1.3.Программирование системных вызовов
- •8.1.3. Программирование системных вызовов
- •8.1.3. Программирование системных вызовов
- •8.1.3.Программирование системных вызовов
- •8.1.3.Программирование системных вызовов
- •8.1.Интерфейс прикладного программирования
- •8.1.4. Реализация интерфейса прикладного программирования
- •8.1.4. Реализация интерфейса прикладного программирования
- •8.1.4. Реализация интерфейса прикладного программирования
- •8.1.4. Реализация интерфейса прикладного программирования
- •8.1.4. Реализация интерфейса прикладного программирования
- •8.1.4. Реализация интерфейса прикладного программирования
- •8.1.4. Реализация интерфейса прикладного программирования
- •8.1.4. Реализация интерфейса прикладного программирования
- •8.1.4. Реализация интерфейса прикладного программирования
- •8.1.4. Реализация интерфейса прикладного программирования
- •8.1.4. Реализация интерфейса прикладного программирования
- •8.1.4. Реализация интерфейса прикладного программирования
- •8.1.4. Реализация интерфейса прикладного программирования
- •8.1.4. Реализация интерфейса прикладного программирования
- •8.1.4. Реализация интерфейса прикладного программирования
- •Способы реализации ИПП
- •8.1.4. Реализация интерфейса прикладного программирования
- •8.1.4. Реализация интерфейса прикладного программирования
- •8.1.4. Реализация интерфейса прикладного программирования
- •8.1.4. Реализация интерфейса прикладного программирования
- •8.1.4. Реализация интерфейса прикладного программирования
- •8.1.4. Реализация интерфейса прикладного программирования
- •8.1.4. Реализация интерфейса прикладного программирования
- •На рис. позицией 1 обозначен вызов обработчика ловушки и диспетчера базовых сервисов. Позиции
- •8.1.4. Реализация интерфейса прикладного программирования
- •8.2. Интерфейс пользователя
- •8.2.1.Типы интерфейсов
- •8.2.1. Типы интерфейсов
- •8.2.1.Типы интерфейсов
- •8.2.1. Типы интерфейсов
- •8.2.1. Типы интерфейсов
- •8.2.1.Типы интерфейсов
- •8.2.1. Типы интерфейсов
- •8.2.Интерфейс пользователя
- •8.2.2.Консоль
- •8.2.2. Консоль
- •8.2.2. Консоль
- •8.2.2. Консоль
- •8.2.2. Консоль
- •8.2.2.Консоль
- •8.2.Интерфейс пользователя
- •8.2.3. Графическая среда
- •8.2.3. Графическая среда
- •8.2.3. Графическая среда
- •8.2.3. Графическая среда
- •8.2.Интерфейс пользователя
- •8.2.Интерфейс пользователя
- •8.2.Интерфейс пользователя
- •8.2.5. Архитектура, управляемая событиями
- •8.2.5. Архитектура, управляемая событиями
- •8.2.5. Архитектура, управляемая событиями
- •8.2.5. Архитектура, управляемая событиями
8.2.1.Типы интерфейсов
ВUNIX-подобных системах (UNIX , Linux) графический интерфейс строится на основе стандарта X Window System.
Система X Window построена на модели «клиент/ сервер».
Основой подсистемы является так называемый Х-сервер, который работает на компьютере пользователя и обеспечивает вывод изображения на экран монитора, а также ввод данных от пользователя (через клавиатуру, мышь и т. п.).
Приложения выступают в роли клиентов. Для общения с сервером клиентам предоставляется библиотека XLib, содержащая функции низкоуровневого взаимодействия.
Х-сервер предоставляет способ манипулирования окнами, но не определяет, как в действительности осуществляются эти операции.
Управлением пространством экрана занимается клиент Х-сервера, называемый менеджером окон. Эта программа решает, где размещать окна, дает пользователю средства управлять видом, положением и размером окон.
81
8.2.1. Типы интерфейсов
Разработано множество различных менеджеров окон, пользователь может использовать любой из них по своему вкусу. Разные менеджеры окон могут обеспечивать различный вид окон за счет использования различных рамок и оконных меню. Но все они используют одну и ту же базовую графическую утилиту Х-сервер.
Клиент и сервер являются отдельными процессами, поэтому они могут работать на разных компьютерах и взаимодействовать по сети. Приложение можно запустить, например, на большой машине, а окна будут выводиться на экран персонального компьютера. Эта особенность системы X Window является одним из основных отличий от ОС Windows.
Следующий уровень в реализации интерфейсных возможностей в UNIX-подобных системах представлен интегрированными графическими средам. В состав этих сред помимо служебных программ входит множество прикладных программ для решения различных задач.
Существует большой список интегрированных графических сред разных производителей.
82
8.2.Интерфейс пользователя
8.2.2.Консоль
Всистемах UNIX и Linux, использование командных языков продолжает оставаться традиционным способом взаимодействия пользователя с этими системами.
Особенно это справедливо для администраторов и системных программистов.
После входа пользователя в систему для него запускается один из командных интерпретаторов. Обычно в системе поддерживается несколько командных интерпретаторов с похожими, но различающимися своими возможностями командными языками.
Общее название для любого командного интерпретатора ОС UNIX - shell. Интерпретатор представляет собой внешнее окружение ядра системы и является ее оболочкой.
83
8.2.2.Консоль
ВMS DOS интерпретатор также является оболочкой системы; он представлен только одним файлом - COMMAND.COM.
Сторонними производителями программного обеспечения были разработаны и другие оболочки, например - NC, VC или FAR, но они являются оболочкой скорее интерпретатора команд, нежели операционной системы, так как для выполнения системных команд вызывают COMMAND.COM. Перечисленные выше программы значительно удобнее командной строки.
Как в UNIX-подобных системах, так и в MS DOS вызванный командный интерпретатор выдает приглашение на ввод пользователем командной строки, которая может содержать простую команду или конвейер команд.
После выполнения очередной команды и выдачи на экран консоли соответствующих результатов интерпретатор снова выдает приглашение на ввод команды, и так до тех пор, пока пользователь не завершит свой сеанс работы путем ввода соответствующей команды (например, exit).
84
8.2.2. Консоль
Командные языки, используемые в ОС UNIX, можно использовать и для написания сложных программ.
Последняя возможность опирается на механизм командных файлов - сценариев оболочки (shell scripts), которые могут содержать произвольные последовательности команд. При запуске командного файла на выполнение интерпретатор читает из файла строку за строкой и последовательно интерпретирует команды.
Мощной возможностью ОС является перенаправление стандартного ввода-вывода. Реализация механизма основывается на том, что в ОС UNIX и MS DOS любой ввод-вывод трактуется как ввод из некоторого файла и вывод в некоторый файл.
Клавиатура и экран терминала тоже интерпретируются как файлы (первый можно только читать, а во второй можно только писать). Поскольку во всех случаях поддерживается потоковый ввод-вывод, то нет никаких препятствий для перенаправления потока. Например, весь вывод информации в консоль (т. е. на экран) можно перенаправить в файл на магнитный диск.
Еще одна возможность ОС - конвейеризация команд, при которой вывод одной программы автоматически становится вводом другой
программы. |
85 |
|
8.2.2. Консоль |
|
Команды изменения файловой системы |
Имя |
Назначение |
ср |
копирует файлы |
mv |
переименовывает файлы или перемещает их в другой каталог |
In |
предоставляет дополнительное имя для индексного элемента в |
|
файловой системе |
touch |
создает пустой файл |
rm |
удаляет файлы и каталоги |
rmdir |
удаляет пустые каталоги |
mkdir |
создает каталоги |
86
|
8.2.2. Консоль |
|
Команды сохранения данных |
Имя |
Назначение |
tar |
в зависимости от опций записывает содержимое указанных файлов |
|
и каталогов в архив или выводит данные из архива |
cpio |
архивирует файлы и извлекает их из архива |
87
|
8.2.2. Консоль |
|
Команды получения информации о файлах/каталогах |
Имя |
Назначение |
cd |
указанный или входной каталог становится текущим |
pwd |
выводит абсолютное имя текущего каталога |
ls |
выводит информацию о файлах или содержимое из текущего каталога |
file |
выводит тип указанных файлов |
we |
выводит число символов, строк и слов |
cat |
выводит содержимое указанных файлов |
pg |
выводит содержимое указанных файлов постранично |
tail |
выводит последние 10 строк файла |
nl |
выводит содержимое указанных файлов, пронумерованное построчно |
sort |
сортирует строки текстового файла |
tr |
выполняет трансляцию указанных символов файла, заменяя их новыми |
tee |
выводит две или более копий |
88
8.2.2. Консоль
Команды получения информации о файлах/каталогах
Имя |
Назначение |
hd |
выводит данные в шестнадцатеричном формате |
od |
выводит данные в восьмеричном формате |
diff и emp |
сравнивают два текстовых файла |
grep |
просматривает указанные файлы по всем строкам, которые содержат |
|
данные, соответствующие шаблону, и выводит найденные строки |
find |
просматривает, начиная с указанного каталога, все элементы, |
|
соответствующие критериям поиска, и затем выполняет указанные |
|
действия |
89
8.2.2. Консоль
Команды получения информации о внутренней структуре файловой системы
Имя |
Назначение |
df |
определяет степень загрузки диска |
du |
выводит размер областей диска, занятых указанным файлом, или всех |
|
файлов указанного каталога и всех каталогов ниже указанного |
90
