Главная страница  Цифровые системы 

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [ 75 ] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90]

Глава 10. Программирование CMCTetwi реального (ремен Заключение

10.8. Заключение

Операционная система пред-оставляет процессам логическую сзреду, состоеду! и времени ЦП и оперативной пам.яти. Операционные системы для м:гногопользо1ательс ких приложений и приложений реального времени имеют много общего, но ехника программирования должна быт ь разной - приложения реального» времени мсгут тре бовать времени реакции порядк;а 1 мс. При программировании в реальном вренениис пользуются специальные функ;ции для координации работы различных процессов Дляобычныхпрограммэти фун кции не требуются. Кроме этого, программы решьного времени управляются прерывашиями и могут явно ссылаться на вземя.

Центральная проблема многозадачного профаммирования и программирования в реальном времени - координация доступа к защищенным ресгурсам. Существует много общего между pacпpeдeJ»Ieниeм процессорного времени, з-ащитой рес/рсов и управлением доступом к общей шине. Во всех этих случаях ресурс - проце(сорное время, память, шина - в определенном смысле ограни-чен и должен распределяться между различными объектами безопасно, эффективно и справедл иво. Стратешя разделения ресурсов, которая мож,ет основываться на про стом циклгическом илз сложном динамическом механизме планирования, должна позволять избегать тушков и блокировок, обеспечивать выд еление ресурсов всем запрашивающим объектам и максимальную эффективность исполнения процессов. На нижнем уровне шиболее простым средством синхронизации является инструкция test ancd set. Наиболее часто используемые методы синхронизации и связи - это семафор: ы и почтовье ящики, которые в разных операционных системах реализуются по-рагзному.

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

равные понятия мультипрограммирования, например семафоры и нотация cobegin-coend. Другими классическими изданиями по мультипрограммированию являются [Ben-Ari, 1990] и [Brinch Hansen, 1973]. Проблемы тупиков и их предотвращения обсуждаются в [Coffmann/Elphick/Shoshani, 1971] и [Coffmann/Denning, 1973]. Обзор надежности программного обеспечения приводится в [Littlewood/Strigini, 1992].

Справочники и учебники по языкам программирования насчитываются сотнями для каждого языка. По операционным системам, кроме Windows и UNIX, их выбор существенно меньше. Наилучшей (и единственной) справочной литературой может быть оригинальная документация, поставляемая с пакетом программ или системой реального времени. Однако такие материалы не всегда написаны так, что они понятны неспециалистам.

Информация по Windows NT и ее работе в сетевой среде содержится в [Sinha, 1996]. [Loukides, 1990] рассматривает проблему работы системы UNIX применительно к приложениям реального времени и вопросы ее настройки для повышения производительности.

Рекомендации по дальнейшему чтению

[TanenbauTi/Woodhull, 1997 ] является очень авторитетной книгой по оперщион-ным системам. Она содержит как устоявшиеся, так и новые идеи! в достаточю подробном изложении. [ТапепЬаппж, 1995] рассматривает детально теорию и разр1ботку распределенных операционных -систем. Солидное введение в операционные с1стемы на основе архитектуры VAX можно найти в [Levy/Eckkouse, 1980].

[Young, 1982] описывает теоретические основы разработки я зыков программ" рования реального времени, а та кже языки ADA, Modula и RTL/2.. Книга в осговном посвящена языковым средствам, а не их применению в пршкладных эгдача [Glass, 1983] федставляет собой собрание различных материалов, посвящениях cH:-темам реального времени, ориентированное на управл ение проц:;ессом разрсбот"" Эта книга является хорошим до полнением к другим учебникам, глесмотря нато что некоторые сведения в ней устарели.

Проблемы и решения в области защиты ресурсов и нараллелызого програлХР" вания обсуждаются в очерке [Dijkstra, 1968], в котором впервы е введены .чпог"

Имеет русский перевод - см. список литературы. - Примеч. ред.



Человеко-машинный интерфейс

Модели поведения. Взаимодействие человека и сложной системы. Принципы проектирования и оборудование человеко-машинного интерфейса

Обзор

Человеко-машинный интерфейс (Man-Machine Interface - MMI), или интерфейс пользователя (User Interface), - это важнейший элемент технических систем. Как следует из названия, назначение этого интерфейса - обеспечить обмен информацией между оператором/пользователем и технической системой. Хорошо организованный интерфейс не только делает рабочую обстановку более комфортной, но и помогает уменьшить число ошибок и таким образом ограничить возможный ущерб хш управляемой системы. Более того, хороший интерфейс дает человеку возможность понять функции технической системы.

Первая часть главы - введение в предмет проектирования человеко-машинного интерфейса. В разделе 11.2 рассмотрены наиболее важные подходы к проблемам восприятия информации человеком в их современном понимании. Раздел 11.3 посвящен представлениям пользователей о сложных системах и формированию у них «ысленных моделей. Понятие мысленных моделей дает некоторые ориентиры при разработке человеко-машинного интерфейса. Обзор оборудования для интерфейса пользователя дан в разделе 11.4; в разделе 11.5 приведены некоторые основные "Ринципы построения интерфейса пользователя в виде коротких практических совета. Раздел 11.6 дает краткое введение в современное состояние прикладного про-Фаммного обеспечения, связанного с интерфейсом пользователя, и в системный про-™колХ Window.

•1- Человеко-машинный интерфейс как элемент системы управления

""была" долгого времени с момента появления ВТ основным объектом внима-но и ЭВМ. Все усилия их создателей были направлены на то, чтобы эффек- существующие технологии, а не на то, чтобы пользователям Мог "° Только специадисты с глубоким знанием внутренних механизмов Что ею управлять. Постепенно широкое распространение ВТ привело к то-онев "" стали пользоваться неспециалисты. В современных условиях " наоб°°*° сотни миллионов пользователей стали специалистами по

ервое°° должны были стать проще.

Челов,°°°™° исследование в США по эффективному использова-нау!"** способностей в технической среде относится к 1940-м годам --Юги "взывалась "человеческий фактор" (human factors). Разработанная leat ""Ользовалась для того, чтобы отобрать персонал для выполнения Ь1Х задач, например для управления военными самолетами. Позднее



Глава 11. Человеко-машинный интерфад i.l. Человеко-машинный интерфейс как элемент системы управления

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

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

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

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

Разработка интерфейса пользователя не сводится просто к применению не - ких правил. Эргономика в первую очередь указывает на то, что не нужно "gca бы не перейти границ обычного человеческого восприятия. Разработка интерф

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

В любом техническом процессе можно выделить три составляющие (рис. 11.1):

- цели, задачи;

- пользователь/оператор;

- техническая система/процесс (инструмент).


техническая\ система \ (инструмент)/


Рис. 11.1. Взамосвязи между человеком-пользователем, целями и технической системой (инструментом)

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

Однако в автоматизированном процессе управляющее оборудование и ЭВМ не *<огут по определению быть "прозрачными", поскольку, хотя они и являются интерфейсом между пользователем и процессом, в то же время самостоятельно влияют на Роцесс. Как определить, что вводится с клавиатуры - опорные значения или коман-

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

J ЭВМ л (инструмент)


цели, задачи


ис. 11.2. Применение ЭВМ в управлении технической системой

представленную на рис. 11.1, нужно расширить, чтобы отделить соб-ино техническую систему от управлящего оборудования - вместе они формиру-"овый инструмент для пользователя (рис. 11.2), т. е. число составляющих равно




[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [ 75 ] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90]

0.0125