Я прохожу курс "Операционная система Unix" и после тестов, вижу в отчете, что этот тест сдало еще 25 человек. Почему так мало, это ведь реально хороший и полезный урок. Здесь естьи теория и практичесские материалы. Сам курс написан хорошо, живым языком. И здесь я получил ответы на вопросы по Linux, которые боялся спросить. Наверное это из-за того, что в названии курса написано не Linux, а Unix и это многих отпугивает. |
Интерфейс
Что такое удобство?
В лекции, посвященной операционным средам, мы отмечали, что главное требование к ОС - это требование к интерфейсу системы, иными словами, к способу взаимодействия человека и машины в человеко-машинной системе. Именно от того, как пользователю предлагается "общаться" с компьютером, зависит его субъективное мнение о системе вообще. Причем в случае системы проективной, а значит - познаваемой, он может весьма неплохо представлять и что происходит в машине между сеансами взаимодействия, и чем продиктован тот или иной предлагаемый вид интерфейса - и все равно будет недоволен, если работать с системой "неудобно".
С этим "неудобно" следует обращаться предельно осторожно. С одной стороны, удобство - понятие субъективное. Нет возможности организовать интерфейс так, чтобы удобно было всем. Кое-каких успехов на этом поприще можно добиться в процедурных системах. Для начала взаимодействие с пользователем надо организовать так, чтобы оно как можно больше походило на работу с некомпьютерным, привычным инструментом (например, рисовать на графическом устройстве кнопки, задвижки, переключатели и пр.). Это возможно, потому что, согласно принципам организации процедурных систем, разговор с пользователем должен идти на языке прикладной области, частью которой этот привычный инструмент и является.
Смоделированные компьютером "инструменты" лишены многих естественных ограничений, что были у их физических прототипов, и удобство пользователя будет в некоторых случаях поистине несравненным (не трещит! не чадит! работает быстро!). Наконец, обратимость изменений объекта (за счет восстановления из резервной копии) позволяет заменить принцип "семь раз отмерь - один раз отрежь" другим: "семь раз отрежь - шесть раз undo".
Организация подобного рода интерфейса требует, как правило, значительных ресурсов для имитации пользовательского инструмента, и многие требования, предъявляемые компьютеру, оказываются требованиями интерфейса, а не самой пользовательской задачи. В первую очередь это относится к системам с непременным графическим интерфейсом, в которых даже для отправки текстового сообщения требуются устройства графического ввода и вывода: мышь, видеоадаптер, графический дисплей. Причем последние должны обладать определенными техническими характеристиками.
Погоня за удобством вполне естественна для процедурных систем, ориентированных, как мы помним, на немедленное освоение. Однако в проективных системах такой подход к организации интерфейса, скорее всего, неприемлем. Тут возникает необходимость взглянуть на вопрос с другой стороны, попытаться объективно выяснить, что такое субъективное понятие " удобство ". Если судить по результату, интерфейс тем удобнее, чем меньше пользовательских и машинных ресурсов регулярно расходуется при решении задачи. Слово "регулярно" подчеркивает тот факт, что в проективной системе решению задачи обычно предшествует период освоения, когда и затрачивается главный пользовательский ресурс - время. Но З гарантирует нам, что так понимаемое удобство не пострадает: ведь освоение происходит однократно, а проективное решение задачи само является машиной для решения целых классов задач. Если пользователь уже решил мыслительную задачу, а значит, завершил основную часть своей работы, долг системы - предоставить ему интерфейс, удобный для быстрой и надежной формализации решения и для передачи его машине в качестве проекта. Можно сказать, что интерфейс удобен, если он не противоречит принципам построения системы.
Требования к интерфейсу UNIX
Как устроен интерфейс, т. е. основной канал взаимодействия между человеком и машиной, в UNIX?
Элементарные - а значит, самые распространенные - пользовательские действия должны быть реализованы как можно проще. Чем меньше пользователь тратит времени на элементарные действия, чем меньше ему приходится их контролировать, тем более свободен он для решения основной - мыслительной - задачи (работает З ). Подобный подход может завести довольно далеко, в том числе и от действительного удобства, однако У всегда будет на страже, не давая перегружать диалог неудобоваримыми сокращениями и магическими знаками. Идеальное устройство окружения (подмножества используемых элементов интерфейса ) должно быть таким, чтобы для решения каждой конкретной задачи пользователь основную часть инструментария знал, а правила применения некоторых специфических инструментов подглядел в руководстве.
Из чего сразу следует, что операция "подглядел в руководстве" - как раз одно из распространенных пользовательских действий, и она должна быть организована удобным для пользователя способом. Этого и следовало ожидать, раз уж первым принципом построения проективных систем мы выбрали И. Тут уж места для объективности и того меньше, однако стоит заметить, что организация альтернативного интерфейса для просмотра документации умножит количество сущностей и в системе, и в голове пользователя (что противоречит не только У, но и У. Оккаму). Было бы неплохо и командовать системой, и получать от нее необходимую информацию одними и теми же интерфейсными средствами.
Превращение элементарных пользовательских действий в знак ни в коей мере не должно мешать реализации сложных, структурированных действий. В конце концов, именно они суть решения пользовательских задач, именно из-за них и затевалась организация диалога человека и машины. Пользователь должен не только иметь возможность решить любую свою задачу, но и сделать это аккуратно, быстро, и опять-таки с максимальным удобством. Для чего (см. "Следствие 1" в лекции 2) необходим гибкий инструментарий достаточно высокого уровня.
Как ни странно, условие использования для такого интерфейса минимального количества дополнительной аппаратуры оказывается выполнимым. В компьютере есть устройства передачи данных? Замечательно! Давайте воспользуемся одним из них для управления системой. Какими дополнительными способностями такое устройство должно обладать? Почти никакими. Пускай только умеет передавать байты. К линии, по которой это устройство обменивается данными с внешним миром, присоединяется терминал (т. е. оконечное устройство, умеющее обмениваться информацией с человеком). Все. С системой можно работать. Подробнее о терминалах рассказано в лекции 8.