Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИДЗ на тему Пользовательский интерфейс UNIX подобной ОС.doc
Скачиваний:
11
Добавлен:
20.06.2014
Размер:
232.96 Кб
Скачать

2.1.1. Управляющие символы

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

Часть управляющих символов вводится специальными клавишами, предусмотренными для управления вводом текста, такими как Backspace и Enter. Управляющих символов может быть больше, чем нетекстовых клавиш на клавиатуре, в этом случае их необходимо извлекать с помощью какого-либо клавиатурного модификатора, например, Ctrl.

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

Специальные управляющие символы могут быть также зарезервированы для команд межпроцессного взаимодействия (передачи сигналов). В частности, для завершения командной оболочки можно использовать символ конца ввода Ctrl-D. Эту команду интерпретирует при вводе с терминала система. Она же превращает некоторые другие управляющие символы (например, Ctrl-C — «прерывание» или Ctrl-Z — «засыпание») в соответствующие сигналы.

Одной из полезных особенностей терминала является возможность его «прокрутки» с помощью клавиш Shift-PgUp и Shift-PgDn. Это может быть полезно, если вывод программы занимает больший объём, чем размер экрана.

Каждое устройство или программа, выполняющие функции терминала, имеет свои возможности по вводу и выводу информации. Примерами таких возможностей являются: число цветов отображения, способность перемещать курсор и изменять размер экрана, набор управляющих символов и т. п. При этом для операционной системы важна возможность работать с любыми терминалами одинаковым способом. Для этого в операционных системах семейства UNIX вводится понятие тип терминала: каждый тип сводится к набору возможностей, регламентированных в специальном конфигурационном файле. Информация о всех существующих типах терминалов хранится в специализированной базе данных (terminfo или termcap). Примерами типов являются: tty (телетайп) или xterm (графический терминал).

2.1.2. Одновременный доступ к системе

То, что UNIX — многопользовательская и многозадачная система, проявляется не только в разграничении прав доступа, но и в организации рабочего места: ничто не препятствует подключить к операционной системе произвольное число терминалов одновременно, в особенности, если функции терминала выполняет программа. Благодаря этому каждый компьютер, на котором работает UNIX, предоставляет возможность зарегистрироваться и получить доступ к системе с нескольких терминалов одновременно. Даже если в распоряжении всех пользователей есть только один монитор и одна системная клавиатура, эта возможность небесполезна: одновременная регистрация в системе на нескольких терминалах позволяет работать поочередно с несколькими задачами без необходимости каждый раз их завершать и затем возобновлять.

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

В операционной системе Linux переключение между виртуальными консолями в текстовом режиме производится с помощью комбинации клавиш Alt-F1, Alt-F2 и т. п. При этом каждая виртуальная консоль обозначается специальным именем: «tty1», «tty2» и т. д. По умолчанию в Linux доступно не менее шести виртуальных консолей, переключаться между которыми можно при помощи сочетания клавиши Alt с одной из функциональных клавиш (F1-F6). С каждым сочетанием связана соответствующая по номеру виртуальная консоль. Виртуальные консоли обозначаются «ttyN», где «N» — номер виртуальной консоли. На самом деле, каждая из таких конcолей связана с собственным терминалом, который характеризуется файлом устройства с соответствующим именем (например, /dev/tty1).

Также существует возможность запуска нескольких графических подсистем, тогда переключение между ними будет осуществляться аналогично переключению между виртуальными консолями — комбинацией клавиш Ctrl-Alt-F1.