Компания ALT Linux
Опубликован: 14.12.2004 | Доступ: свободный | Студентов: 12209 / 1418 | Оценка: 4.19 / 3.84 | Длительность: 18:18:00
ISBN: 978-5-9556-0019-1
Лекция 7:

Интерфейс

< Лекция 6 || Лекция 7: 1234 || Лекция 8 >
Аннотация: Понятие интерфейса. Требования к интерфейсу UNIX и их реализация в виде интерфейса командной строки. Свойства командного интерпретатора по организации взаимодействия с пользователем.
Ключевые слова: интерфейс, удобство (usability), undo, очередь, мышь, дисплей, слово, пользовательский ресурс, пользователь, формализация решений, Unix, окружение, инструментарий, командная строка, команда, интерпретатор командной строки (shell, оболочка), оболочка, программа, терминал, командный интерпретатор, поиск, обмен данными, параметр команды, класс решаемых, остановка системы, текущий каталог, система текстов, ключ команды, style, утилита, список, аргумент, каталог, long, аббревиативность, GNU, свободное программное обеспечение, ALL, файл, параметрический ключ, перенаправление вывода, корневой каталог, файловая система, адрес, полное имя файла (полный путь), имя файла, полный путь, относительное имя файла (относительный путь), relative, pathname, working directory, print, родительский каталог, домашний каталог, Си, подкаталог, remove, шаблон, целый, класс, произвольное, значение, место, запись, shell, путь, минимум, вероятность, Copy, генерация имён файлов, interactive, закавычивание, экранирование, стандартный ввод, редактирование командной строки, терминальная линия, IBM, PC, компьютер, управляющие, backward, forward, binding, previous, NEXT, история команд, синтаксис, wing, FACS, classify, сценарий, сокращение команд (alias), интерпретатор, текстовый редактор, достраивание имён (completion), Command

Что такое удобство?

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

С этим "неудобно" следует обращаться предельно осторожно. С одной стороны, удобство - понятие субъективное. Нет возможности организовать интерфейс так, чтобы удобно было всем. Кое-каких успехов на этом поприще можно добиться в процедурных системах. Для начала взаимодействие с пользователем надо организовать так, чтобы оно как можно больше походило на работу с некомпьютерным, привычным инструментом (например, рисовать на графическом устройстве кнопки, задвижки, переключатели и пр.). Это возможно, потому что, согласно принципам организации процедурных систем, разговор с пользователем должен идти на языке прикладной области, частью которой этот привычный инструмент и является.

Смоделированные компьютером "инструменты" лишены многих естественных ограничений, что были у их физических прототипов, и удобство пользователя будет в некоторых случаях поистине несравненным (не трещит! не чадит! работает быстро!). Наконец, обратимость изменений объекта (за счет восстановления из резервной копии) позволяет заменить принцип "семь раз отмерь - один раз отрежь" другим: "семь раз отрежь - шесть раз undo".

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

Погоня за удобством вполне естественна для процедурных систем, ориентированных, как мы помним, на немедленное освоение. Однако в проективных системах такой подход к организации интерфейса, скорее всего, неприемлем. Тут возникает необходимость взглянуть на вопрос с другой стороны, попытаться объективно выяснить, что такое субъективное понятие " удобство ". Если судить по результату, интерфейс тем удобнее, чем меньше пользовательских и машинных ресурсов регулярно расходуется при решении задачи. Слово "регулярно" подчеркивает тот факт, что в проективной системе решению задачи обычно предшествует период освоения, когда и затрачивается главный пользовательский ресурс - время. Но З гарантирует нам, что так понимаемое удобство не пострадает: ведь освоение происходит однократно, а проективное решение задачи само является машиной для решения целых классов задач. Если пользователь уже решил мыслительную задачу, а значит, завершил основную часть своей работы, долг системы - предоставить ему интерфейс, удобный для быстрой и надежной формализации решения и для передачи его машине в качестве проекта. Можно сказать, что интерфейс удобен, если он не противоречит принципам построения системы.

Требования к интерфейсу UNIX

Как устроен интерфейс, т. е. основной канал взаимодействия между человеком и машиной, в UNIX?

Элементарные - а значит, самые распространенные - пользовательские действия должны быть реализованы как можно проще. Чем меньше пользователь тратит времени на элементарные действия, чем меньше ему приходится их контролировать, тем более свободен он для решения основной - мыслительной - задачи (работает З ). Подобный подход может завести довольно далеко, в том числе и от действительного удобства, однако У всегда будет на страже, не давая перегружать диалог неудобоваримыми сокращениями и магическими знаками. Идеальное устройство окружения (подмножества используемых элементов интерфейса ) должно быть таким, чтобы для решения каждой конкретной задачи пользователь основную часть инструментария знал, а правила применения некоторых специфических инструментов подглядел в руководстве.

Из чего сразу следует, что операция "подглядел в руководстве" - как раз одно из распространенных пользовательских действий, и она должна быть организована удобным для пользователя способом. Этого и следовало ожидать, раз уж первым принципом построения проективных систем мы выбрали И. Тут уж места для объективности и того меньше, однако стоит заметить, что организация альтернативного интерфейса для просмотра документации умножит количество сущностей и в системе, и в голове пользователя (что противоречит не только У, но и У. Оккаму). Было бы неплохо и командовать системой, и получать от нее необходимую информацию одними и теми же интерфейсными средствами.

Превращение элементарных пользовательских действий в знак ни в коей мере не должно мешать реализации сложных, структурированных действий. В конце концов, именно они суть решения пользовательских задач, именно из-за них и затевалась организация диалога человека и машины. Пользователь должен не только иметь возможность решить любую свою задачу, но и сделать это аккуратно, быстро, и опять-таки с максимальным удобством. Для чего (см. "Следствие 1" в лекции 2) необходим гибкий инструментарий достаточно высокого уровня.

Как ни странно, условие использования для такого интерфейса минимального количества дополнительной аппаратуры оказывается выполнимым. В компьютере есть устройства передачи данных? Замечательно! Давайте воспользуемся одним из них для управления системой. Какими дополнительными способностями такое устройство должно обладать? Почти никакими. Пускай только умеет передавать байты. К линии, по которой это устройство обменивается данными с внешним миром, присоединяется терминал (т. е. оконечное устройство, умеющее обмениваться информацией с человеком). Все. С системой можно работать. Подробнее о терминалах рассказано в лекции 8.

< Лекция 6 || Лекция 7: 1234 || Лекция 8 >
Andranik Avakian
Andranik Avakian

41. УК РФ и Комментарии (ст. 273)

М. 2000 г. Издательство: ALT Linux, Институт Логики

Уголовный Кодекс РФ и комментарии к нему?

По ссылке открывается сайт документации Linux, раздел Linux Installation and Getting Started

Сергей Петровский
Сергей Петровский

У Вас написано:

ls -dt1 `grep -il отчет *` | head -1

если знания по шелу мне не изменяют, то должно быть:

ls -dt | `grep -il отчет *` | head -1

Марина Дайнеко
Марина Дайнеко
Россия, Moscow, Nope, 2008
Тарас Конюков
Тарас Конюков
Россия