Работа с внешними устройствами

Описание страницы: работа с внешними устройствами - 2020 год от профессионалов для людей.

: Программирование в среде X Window на основе библиотеки Xlib :

С о д е р ж а н и е

Работа с внешними устройствами

Клавиатура

Клавиатура используется в большинстве программ, которые пишутся пользователями и для пользователей. В X Window, когда пользователь нажимает(отпускает) клавишу, сервер получает соответствующий сигнал, который преобразуется в событие и отправляется в очередь программы, имеющей фокус ввода (input focus).

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

Когда окно получает фокус, соответствующей программе посылается событие FocusIn , при потере — приходит событие FocusOut .

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

Оба этих события сопровождаются структурой типа XKeyEvent . Ее поле keycode содержит код нажатой клавиши, а поле state — состояние клавиш-модификаторов и кнопок мыши. Модификаторами называются такие клавиши, как Shift , Ctrl , Caps Lock . Кроме этого, X предусматривает наличие дополнительных модификаторов, которые обозначаются Mod1 , . Mod5 . Каждой нажатой клавише-модификатору и кнопке мыши соответствует флаг в поле state .

Коды, передаваемые через поле keycode структуры XKeyEvent , однозначно идентифицируют клавиши. Их конкретные значения зависят от типа машины и клавиатуры. Эти коды можно назвать физическими . Чтобы обеспечить переносимость программ, сервер устанавливает соответствие между физическими кодами клавиш, которые могут меняться от компьютера к компьютеру, и целочисленными константами — логическими кодами (символами). Они имеют предопределенные значения, которые приведены в файле /usr/include/X11/keysymdef.h и начинаются с префикса » XK_ «. Так, букве «a» соответствует символ XK_a , клавише ( ) — символ XK_Return и т.д.

Для разных алфавитов X поддерживает разные множества логических кодов. Возможные типы алфавитов перечисляются в файле /usr/include/X11/keysym.h .

Одному коду клавиши может соответствовать несколько символов в зависимости от состояния клавиш-модификаторов. Функция

позволяет по коду keycode получить соответствующий ему символ с номером index . Если index равен 0, то полученный символ соответствует просто нажатой клавише. Если index равен 1, то возвращается символ,соответствующий ситуации, когда клавиша нажата одновременно с Shift .

Функция XKeysymToKeycode() осуществляет обратное преобразование.

Программа может получить карту соответствия кодов и символов, обратившись к функции XGetKeyboardMapping() .

Изменяется соответствие физических и логических кодов функцией XChangeKeyboardMapping() . Следующая последовательность операторов ставит клавише в соответствие символ XK_F3 .

Здесь использована функция XStringToKeysym() , которая по строке » str » возвращает соответствующий символ XK_str .

Когда соответствие кодов меняется, всем работающим в настоящее время клиентам посылается событие MappingNotify .

Клавиши-модификаторы также имеют логические коды. Клавишам Shift сопоставлены символы XK_Shift_L и XK_Shift_R ; Caps Lock соответствует XK_CapsLock ; Control — XK_Control_L ; Mod1 — XK_Meta_L и XK_Meta_R . Символы остальных модификаторов ( Mod2 — Mod5 ) не определены. X содержит набор специальных функций, которые позволяют получить и установить соответствие код-символ для модификаторов. Эти функции следующие: XGetModifierMapping(), XInsertModifiermapEntry(), XDeleteModifiermapEntry(), XSetModifierMapping() .

X не останавливается на задании соответствия код клавиши — символы, а идет дальше. Система позволяет программе сопоставить любой комбинации модификаторов и клавиш (например, ) ASCII строку (например, » EXIT «). Для некоторых клавиш соответствующие строки задаются сервером по умолчанию. Так, символу XK_A соответствует строка » A «.

Макрос XRebindKeysym() берет символ, список модификаторов и сопоставляет им строку.

Функция XLookupString() , наоборот, берет событие о нажатии (отпускании) клавиши и возвращает соответствующие ему символ и строку. Последний ее параметр — указатель на структуру типа XComposeStatus . Дело в том, что некоторые клавиатуры имеют специальную клавишу Compose , которая позволяет печатать символы, которым нет соответствия среди клавиш. Специальная таблица указывает, какой символ должен быть создан, если обычна клавиша нажимается одновременно с Compose . Ссылка на эту информацию и возвращается в структуре XComposeStatus .

Ниже приводится фрагмент программы, которая распознает функциональные клавиши — , и при их нажатии печатает соответствующую строку. Программа также сопоставляет комбинации строку » EXIT «. Эта комбинация используется для завершения программы.

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

Поле key_click_percent указывает, имеет ли нажатие клавиши звуковое сопровождение; значения поля задаются в %; 0 — звукового сопровождения нет, 100 — громкий звук. Поле bell_percent , bell_pitch и bell_duration указывают, какую силу, частоту и продолжительность имеет предупреждающий сигнал, возникающий при нажатии некоторых клавиш.

Некоторые клавиатуры используют для клавиш-модификаторов световую подсветку. Поле led_mask представляет собой комбинацию флагов, показывающую, для каких клавиш эта подсветка используется.

Когда клавиша нажата и удерживается, то сервер может автоматически имитировать ее повторное нажатие. Поле global_auto_repeat определяет, делает это сервер или нет. Особенностью X является то, что автоматическую генерацию событий о нажатии можно разрешать или запрещать для отдельных клавиш. Массив auto_repeats содержит информацию о том, для каких клавиш автоповтор включен, а для каких нет. Каждый бит массива соответствует клавише с определенным физическим кодом. Если бит установлен, то генерация разрешена, если сброшен, то запрещена. Каждый байт N массива содержит биты для клавиш с кодами от 8N до 8N+7 .

Изменить параметры клавиатуры можно с помощью XChangeKeyboardControl() .

Желаемые установки передаются через переменную, которая указывает на структуру типа XKeyboardControl , определяемую следующим образом:

Первые четыре поля совпадают с аналогичными полями структуры XKeyboardState . Поля led и led_mode позволяют сообщить серверу, какие из клавиш-модификаторов должны сопровождаться подсветкой. Если поле led не задано, и led_mode равно LedModeOn , то изменяется состояние всех клавиш, для которых поддерживается световое сопровождение. Если led_mode равно LedModeOff , то состояние клавиш не меняется. Если поле led задано, то это есть комбинация флагов, указывающих, для каких клавиш подсветку включить ( led_mode равно LedModeOn ) или выключить ( led _mode равно LedModeOff ).

Читайте так же:  Решение суда о снижении размера алиментов

Поля key и auto_repeat_mode определяют, для какой клавиши (клавиш) включить ( auto_repeat_mode равно AutoRepeatModeOn ) или выключить ( auto_repeat_mode равно AutoRepeatModeOff ) режим автоматического повтора. Если поле key задано, то автоматический повтор включается или выключается только для клавиши с кодом key .

Источник: http://dfe.petrsu.ru/koi/posob/X/keyboard.htm

Лабораторная работа. Работа с внешними устройствами. Перенаправление ввода-вывода

Цель работы

Научиться работать с внешними устройствами в среде MS-DOS и перенаправлять ввод или вывод программ.

Ход работы

1) Запустите Pascal;

2) Наберите ниже представленный текст программы;

write (‘Vvedite x => ‘);

3) Сохраните файл с именем prog.pas;

4) Проведите компиляцию файла;

5) Закройте Pascal;

6) Запустите командную строку MS-DOS;

7) Создайте каталог vvod_vivod;

8) Переместите файл prog.exe в каталог vvod_vivod;

9) В командной строке введите: prog.exe > 1.txt;

10) Результат занесите в отчет;

11) Создайте в каталоге vvod_vivod командный файл com.bat, запишите в нем команду Dir;

12) В командной строке введите: com.bat nul (при этом сообщения никакие не выводятся);

15) Составьте отчет.

Содержание отчета

2) Подробное описание выполнения каждого пункта работы, т.е. для каждого пункта необходимо отразить последовательность команд и результат их выполнения.

3) Распечатка ввода и вывода информации.

4) Вывод о проделанной работе.

Вопросы для защиты работы

1) Определение ОС.

2) ОС MS-DOS: назначение, достоинства и недостатки, системные файлы.

3) Определение файла.

4) Определение каталога.

5) Определение дерева каталога.

6) Перечислите внутренние и внешние команды MS-DOS.

Методические указания

К именам устройств относятся:

— con – при вводе информации подразумевается клавиатура, при выводе – дисплей;

— prn или LPT1(2,3) – принтер или любое устройство, подключенное к параллельному порту.

— COM1(2,3,4) – внешнее устройство, подключенное к последовательному порту.

— nul – нулевое устройство (пустое); все операции ввода-вывода для этого устройства игнорируются (при чтении с него программе сообщается о конце файла, а при выводе на него информация на самом деле никуда не выводится, но программе, которая делает вывод, сообщается, что вывод произошел успешно).

Для перенаправления ввода-вывода информации используются символы >, >, | .

— команда > имя файла — перенаправление в файл сообщений, выводимых с помощью указанной команды. Если файл уже существовал, то он заменяется новым;

— команда >> имя файла — перенаправление в файл сообщений, выводимых с помощью указанной команды. Если файл уже существовал, то сообщения добавляются в конец этого файла;

0 – стандартный ввод с консоли (обычно клавиатура);

1 – стандартный вывод на консоль (обычно экран дисплея);

2 – устройство вывода ошибок (всегда дисплей);

3 – внешнее устройство обмена AUX (асинхронный адаптер COM1);

4 – стандартный принтер (первый параллельный порт LPT1).

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

Последнее изменение этой страницы: 2017-02-06; Нарушение авторского права страницы

Источник: http://infopedia.su/17xc868.html

Лекция: РАБОТА С ВНЕШНИМИ УСТРОЙСТВАМИ

Как уже говорилось ранее, модель «Е97» отражает наиболее простые методы обмена с внешними устройствами из тех, что свойственны современным компьютерам.

Как и в реальных микропроцессорах, «общение» с периферийными устройствами осуществляется через порты ввода-вывода. Для учебной ЭВМ принята наиболее простая модель, когда каждому из имеющихся внешних устройств соответству ет два порта —порт данных и порт состояния. Можно считать, что каждый порт представляет собой 16-разрядный регистр, находящийся в контроллере. Через порт данных происходит обмен информацией. Порты состояния позволяют управлять процессом обмена данными, так как предоставляют процессору сведения о текущем состоянии внешнего устройства. Реальная синхронизация ввода-вывода является достаточно сложной проблемой и существенно зависит от типа периферийного устройства. Поэтому в «Е97» регистр состояния устроен максимально просто: в нем имеется единственный используемый бит — бит готовности. В обсуждаемом учебном компьютере бит готовности помещается в седьмом разряде регистра состояния.

Все порты являются 16-разрядными, но реальная информация всегда располагается в их младшем байте. Содержимое битов с 8-го по 15-й в выходные порты формально заносится, но никакого влияния на устройство вывода не оказывает.

Каждому порту соответствует свой номер (адрес). В «Е97»из шестнадцати возможных используются следующие порты:

— порт состояния клавиатуры (только чтение);

1 — порт данных клавиатуры (только чтение);

2 — порт состояния дисплея (только чтение);

3 — порт данных дисплея (только запись).

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

Вот как может выглядеть правильная программа вывода одиночного символа из R0 на дисплей (именно так она реализована в ПЗУ «Е97»):

Е401 сравнить с 0 R1b

2DFA если 0, PC — 6 (к повторению проверки)

0В03 R0 => порт 3

Первые три команды считывают и проверяют бит готовности в порту 2, а последняя команда обеспечивает собственно вывод требуемого символа на дисплей.

Обратите внимание на команду с «короткой константой» 0, котораяобязательно должна проверять знаковый разрядмладшего байта, а не всего слова в целом.

Мы подробно рассмотрели программирование процедуры вывода символа; ввод осуществляется совершенно аналогично.

Источник: http://ronl.org/lektsii/informatika/886796/

Работа системы с внешними устройствами в ОС Linux

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

Для успешной и правильной работы стороннего оборудования необходимы драйвера (специальные программы, которые обеспечивают работоспособность соответствующего оборудования с некоторой операционной системой).

На свете существует масса разнообразного оборудования с абсолютно не совпадающей аппаратной «начинкой», программным обеспечением и следовательно своими индивидуальными драйверами.

В Linux понятие драйвера следующее:
Драйвер — это модуль ядра, говорящий шине, как правильно обращаться с определённым устройством подключённым к ПК.

Читайте так же:  Как узнать отказ в кредите

Взаимодействие системы ПК с подключённым к ней оборудованием можно описать в три этапа:
1) Определение типа подключённого устройства;
2) Управление устройством (например: включить, перезапустить, отключить);
3) Принятие данных с устройства или же передача данных на устройство;

Таким нехитрым образом мы познакомились с «работой системы с внешними устройствами в ОС Linux«!

Источник: http://nikulux.ru/linux-spravochnik/rabota-sistemy-s-vneshnimi-ustrojstva/

Модели синхронизации при обмене с внешними устройствами

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

Синхронная организация обмена

Процессор подает запрос внешнему устройству и ожидает завершения выполнения запроса.

Системы с синхронной организацией работы ВУ неэффективны с точки зрения использования времени работы центрального процессора. Процессор часто «ожидает» выполнения запроса. Наиболее подходит для однопрограммных специализированных вычислительных систем.

Асинхронная организация обмена

При обработке запроса к ВУ происходит разделение выполнения на три части:

1) передача ЦП запроса на выполнение работ. После этого процессор может выполнять другие команды.

2) параллельно работе ЦП происходит выполнение запроса к ВУ (т.е. в это время процессор может выполнятьдругие машинные команды).

3) выполнение работы ЦП прерывается и ему передается информация о завершении выполнения запроса. ЦП может также приостановить работу в случае обращения в область ОЗУ, находящуюся в обмене.

Асинхронная организация работы с ВУ более эффективна, но требует наличия развитого аппарата прерываний.

Билет. Иерархия памяти

ЦП: РОН, КЭШ L1 ; КЭШ L2 ; ОЗУ ; ВЗУ прямого доступа с внутр. Кэш буферизацией ; ВЗУ прямого доступа без внутр. Кэш буферизации ; ВЗУ долговременного хранения данных

Данная иерархия строится с позиций близости к ЦП, стоимости памяти и системной составляющей.

· Т. е. есть ЦП и элементами памяти в ЦП являются регистры общего назначения и КЭШ 1-го уровня.

· Следующий уровень– это уровень устройства, которое называется КЭШ 2-го уровня, которое находится между ЦП и ОЗУ, т.е. обычно это устройство, которое быстрее ОП, но может быть медленнее и дешевле КЭШа 1-го уровня, а также может обладать немножко большими размерами чем КЭШ 1-го уровня, соответственного схема работы с КЭШем 2-го уровня аналогично схеме работы с КЭШем 1-го уровня.

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

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

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

Видео (кликните для воспроизведения).

БИЛЕТ. Аппаратная поддержка ОС и систем программирования

Мультипрограммный режим

-режим при котором возможна организация переключения выполнения с одной программы на другую.

Аппаратные средства компьютера, необходимые для поддержания мультипрограммного режима:

· Аппарат защиты памяти.Если выполняется одна программа, то надо, чтобы она не смогла испортить память, занятую другой. Надо выделить каждой программе по «куску» памяти, установить права доступа до каждого куска и, если программа залезает не в свой кусок, выдавать прерывание.

· Специальный режим операционной системы: все множество машинных команд разбивается на 2 группы. Первая группа – команды, которые могут исполняться всегда (пользовательские команды). Вторая группа – команды, которые могут исполняться только в том случае, если ЦП работает в режиме ОС. Если

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

Некоторые проблемы:

Дата добавления: 2018-08-06 ; просмотров: 97 ; ЗАКАЗАТЬ РАБОТУ

Источник: http://studopedia.net/7_10524_modeli-sinhronizatsii-pri-obmene-s-vneshnimi-ustroystvami.html

Работа с внешними устройствами

Программы

HP All-in-One Printer Remote 55.0

HP All-in-One Printer Remote — приложение для принтеров производства компании Hewlett-Packard, которое позволяет печатать документы и фотографии.

Бесплатная | 10 | 3.81 MB

ScanPapyrus 16.7

ScanPapyrus — Описание разработчика: «Купили сканер или МФУ? Какой программой лучше сканировать? Ваш выбор — программа ScanPapyrus.

Условно-бесплатная | XP/Vista/7/8/10 | 13.73 MB

Личный Кабинет МегаФон (Windows 8.1)

Личный Кабинет МегаФон (Windows 8.1) — инструмент с простой навигацией и понятным интерфейсом для контроля за расходами и подключёнными опциями.

Бесплатная | 8 | 5.39 MB

[email protected]

[email protected] — С данной программой любой сканер в офисе или дома может быть превращен в полноценный сетевой сканер, поддерживающий легкое удаленное.

Бесплатная | XP/Vista/7/8/2000/2003/2008/2012 | 3.32 MB

USB Image Tool 1.72

USB Image Tool — утилита для создания образов USB флэш-накопителей, MP3-плееров, цифровых камер, мобильных телефонов и любых других устройств.

Бесплатная | XP/Vista/7/8 | 365.2 KB

Microsoft Mouse and Keyboard Center 2.7.133.0

Microsoft Mouse and Keyboard Center — приложение, которое помогает максимально полно использовать возможности клавиатуры и мыши от Microsoft.

Бесплатная | 8/10 | 42.18 MB

Free USB Guard 1.57

Free USB Guard — бесплатная (для дома и работы) утилита, которая предупреждает при выключении ПК или выходе из системы о наличии подключенных.

Бесплатная | XP/Vista/7/8 | 124.39 KB

ScanTool (Portable) 1.0.1

ScanTool (Portable) — Описание разработчика: «ScanTool — бесплатная программа для быстрого сканирования документов.

Бесплатная | XP/Vista/7/8/2003/2008 | 1.47 MB

PrnControl 1.5

PrnControl — программа, которая ведет лог (открытый, через значок в трее, или скрытый — по желанию пользователя) работы принтера, подключенного к.

Читайте так же:  Воинский учет постановка и снятие

Условно-бесплатная | XP/Vista/7 | 395.62 KB

PaperScan Pro 3.0.13

PaperScan Pro — программа для работы со сканером: сканирование, редактирование, отправка на печать. Поддерживаются любые TWAIN и WIA сканеры.

Условно-бесплатная | XP/Vista/7/8/10 | 38.84 MB

Port II

Port II — Предназначена для работы с последовательным (RS-232) портом компьютера.

Бесплатная | XP/Vista/7 | 335.47 KB

CDSlow (Portable) 4.0

CDSlow (Portable) — Описание разработчика: «программа для управления скоростью CD/DVD/Blu-ray приводов.

Бесплатная | XP/Vista/7 | 203.99 KB

PaperScan Free 3.0.13

PaperScan Free — программа для работы со сканером: сканирование, редактирование, отправка на печать.

Бесплатная | XP/Vista/7/8/10 | 23.88 MB

MonitorInfoView (Portable) 1.20

MonitorInfoView (Portable) — крохотная утилита, выдающая подробную информацию о подключенном к ПК монитору.

Бесплатная | XP/Vista/7/2003 | 44.01 KB

ScanLite 1.0

ScanLite — Описание разработчика: «ScanLite — бесплатная программа для сканирования документов и фотографий, позволяющая быстро получать копии.

Бесплатная | XP/Vista/7/2000/2003 | 2.42 MB

Mouse Control

Mouse Control — Эта программа в первую очередь предназначена для тех, к кого есть компьютерные мыши с дополнительными кнопками.

Бесплатная | XP/Vista/7/2000/2003/2008 | 1.23 MB

KeyBoard Control

KeyBoard Control — Данная утилита создана для того, чтобы пользователь смог назначить горячие клавиши для каких-либо действий.

Бесплатная | XP/Vista/7/2000/2008 | 1.83 MB

zUSB — Программа для отключения определения USB-накопителей.

Бесплатная | XP/Vista/7/2000/2003/2008 | 44.62 KB

MCU Interface Studio

MCU Interface Studio — MCU Interface Studio — программа для создания программ для персонального компьютера без написания кода и с возможностью.

Бесплатная | XP/Vista/7/2000/2003/2008 | 366.21 KB

ModemSE 2.0

ModemSE — терминальная программа для одновременной работы с двумя модемами и программным обеспечением использующим модем.

Бесплатная | XP/Vista/7/2000 | 1.44 MB

WinScan2PDF (Portable) 3.11

WinScan2PDF (Portable) — крохотная бесплатная программа для сканирования документов и их сохранения в формате PDF.

Бесплатная | XP/Vista/7/8/10 | 31.17 KB

Restartusb

Restartusb — Программа перезапускает, включает все USB устройства, включая те, что были извлечены с помощью безопасного удаления устройства, очищает.

Бесплатная | XP/Vista/7/2003/2008 | 61 KB

Scanitto Pro 3.12

Scanitto Pro — легкое, быстрое и не перегруженное массой ненужных функций программное обеспечение для сканирования.

Условно-бесплатная | XP/Vista/7/8/10/2003/2008 | 10.36 MB

STermPro

STermPro — Com port (RS-232) терминал нового поколения с поддержкой протоколов и интуитивно понятным интерфейсом.

Условно-бесплатная | XP/2000 | 2.69 MB

Key Manager

Key Manager — Key Manager — открывает новые возможности клавиатуры и мыши, позволяя значительно сэкономить время и силы при работе за компьютером.

Условно-бесплатная | XP/Vista/7 | 1.98 MB

HartMonitor 1.0.3

HartMonitor — программа для динамического просмотра параметров различных вторичных приборов, которые оборудованы Hart — интерфейсом (Bell-202).

Бесплатная | N/A | 1.44 MB

ComRead v.1.0

ComRead v.1.0 — Описание программы ComRead v.1.

Бесплатная | N/A | 1.47 MB

ComPort v.1.0

Бесплатная | N/A | 1.55 MB

NHSMS

NHSMS — Программа предназначена для автоматизации — отправки сообщений из командных файлов, скриптов или приложений, например, проводящих диагностику.

Бесплатная | N/A | 243 KB

Fast Printer Chooser 2.0

Fast Printer Chooser — Многие пользователи имеют несколько принтеров.

Условно-бесплатная | XP/Vista/2000/2003 | 707.36 KB

Источник: http://www.thevista.ru/softlist-system_devices

1.1.6. Работа с внешними устройствами

Одна из основных задач процессора — это взаимодействие с внешними устройствами. Если процессор не будет взаимодействовать с внешними устройствами, то какая от него польза? Теперь следует привести схему процессорной системы, немного отличную от той, которая была рассмотрена выше, в разделе 1.1.1 (см. рис. 1.4).

Все стрелки на схеме — это шины; некоторые из них находятся на системной шине, а некоторые — на шинах, связывающих устройства с процессором.

Процессор взаимодействует с внешними устройствами через порты ввода/ вывода (не путайте их с портами LPT, PS/2 и т. д.) и через спроецированные на память регистры устройств. Это взаимодействие основано на том, что процессор выводит какие-либо данные в порты либо в определённые ячейки памяти, на которые спроецированы регистры устройств. На вышеприведённом рисунке посредником между процессором и устройствами выступает контроллер ввода-вывода (это общий случай; иногда посредником между процессором и внешним устройством может выступать какой-либо другой контроллер).

Но как процессор «узнаёт» о том, что устройство обработало данные или получило новые данные от пользователя? Если внешнее устройство хочет что-то «сказать» процессору (например, что оно обработало запрос или приняло от пользователя какие-либо данные), то оно через контроллер прерываний передаёт процессору сигнал о прерывании.

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

1.1.7. Резюме

В этом разделе мы познакомились с понятием «процессор», изучили основные режимы и принципы его работы. В разделе 1.2 речь пойдёт об основах ассемблера.

Рис. 1.4. Работа процессора с внешними устройствами

Источник: http://ozlib.com/865517/informatika/rabota_vneshnimi_ustroystvami

Тема №10.Работа с внутренними и внешними устройствами компьютера средствами операционной системы.

Настройка устройств в MS DOS.

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

Драйвер

— это программа, которая организует взаимодействие операционной системы с устройством. Для организации памяти и установки драйверов DOS имеются два важных файла, относящихся к операционной системе — CONFIG.SYS и AUTOEXEC.BAT.

Файл config.sys начинает работать после загрузки в оперативную память файлов io.sys и msdos.sys, но в отличие от них этот файл не является обязательным для ОС. Он предназначен для задания некоторых системных параметров и загрузки драйверов различных устройств(MS DOS не умеет автоматически настраивать устройства, не поддерживает режим Plug&Play).

Перечислим основные Команды файла CONFIG.SYS:

  • Device= имя-файла-драйвера [параметры] — загрузка драйвера в обычную память(память, которая в DOS ограничена 640 Кб).
  • Devicehigh= имя-файла-драйвера [параметры] — загрузка драйвера в верхнюю память(остаток памяти между 1 Мб и 640 Кб. ПК использует эти 384 Кб для обслуживания аппаратного обеспечения).
  • Shell= полное-имя-файла-командного-процессора [параметры] — позволяет указать имя и размещение командного процессора(интерпретатора команд) MS DOS.
  • Rem [любые символы] — комментарии.

После обработки config.sys в DOS загружается командный интерпретатор command.com, отвечающий за такие задачи, как прием и выполнение команд,загрузк в память программ, выполнение пакетных(командных) файлов(файлов с расширением .bat, в которых записана последовательность команд).

Читайте так же:  Основной отпуск сотрудника полиции сколько дней

С помощью command.com обрабатывается и самый главный из пакетных файлов — autoexec.bat. Он предназначен для запуска резидентных программ DOS, для выполнения каких-либо команд или установки некоторых системных параметров — в общем он является дополнением файла config.sys и так же не является обязательным. Как правило, в autoexec.bat используют следующие команды:

  • Install(Installhigh) — загрузка резидентных программ в обычную(верхнюю) память.
  • SET — команда для установки переменных окружения
  • PATH — установка путей для поиска запускаемых программ;
  • PROMPT — установка формата приглашения DOS.

Обычно в этом файле располагаются следующие параметры:
@Echo off — отключение вывода информации на экран при выполнении autoexec.bat.
Prompt $p$g — стандартный вид приглашения DOS.(загружается по умолчанию).
Path=C:WINDOWS;C:WINDOWSCOMMAND;C:DOS;C:NC; — поиск исполняемых файлов(файлов с расширениями .com, .bat, .exe) в каталогах Windows, Command, DOS, NC и т.д.
Set Temp=C:TEMP — установка значения переменной окружения Temp — путь к папке временных файлов.
загрузка различных драйверов устройств, которые устанавливаются совершенно по разному в зависимочти от модели устройства. Например:
загрузка драйвера клавиатуры — keyb ru,,C:WINCOMMANDkeybrd3.sys
загрузка драйвера мыши — C:MOUSEMOUSE.COM
загрузка драйвера звуковой карты типа Sound Blaster —
LH c:blasterSB16SET/M:255/voc:200/cd:200/MIDI:200/LINE:200/TREBLE:200/BASS:127/SPK:200/MIC:200
Set Sound=C:BLASTER
Set Blaster=A220 17 DI H5 P330 T6

загрузка драйвера CD-ROM:
Devicehigh=C:CDROMMTMCDS.SYS/D:MSCD001/P:260/E
Installhigh=C:DOSMSCDEX.EXE/D:MSCD001/M:15/E

Настройка устройств в Windows.

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

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

За программную установку устройств отвечает та же Панель управления. Если ОС что-то знает об устройстве(если устройство поддерживает режим Plug and Play, то Windows автоматически его настроит при первом запуске), то необходимо пользоваться значком Система, а если ОС не удалось обнаружить устройство, то значком Установка оборудования. При запуске этого приложения запускается Мастер установки оборудования, который поможет провести полную проверку по поиску новых устройств ПК.

Если мастеру не удалось обнаружить устройство, то необходимо продолжить работу в программе Установка оборудования и вручную указать системе(выбрать из списка) тип устанавливаемого устройства и конкретную модель устройства. Если ничего похожего на устанавливаемое устройство нет, тогда необходимо нажать кнопку Установить с диска. . Затем указать Windows, где находится драйвер устройства.

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

Источник: http://gost.webservis.ru/lecture/theme10/os.htm

Работа с внешними USB устройствами в Andro >

Хотел бы задать пару вопросов касательно работы с устройствами подключаемые через USB.

На данный момент, под рукой нет android-устройства. Можно ли в эмуляторе как то тестировать? К примеру к компу подключить устройство, увидит ли его эмулятор?

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

Вот и вопрос: Можно ли в эмуляторе работать с USB устройствами?

И так же есть еще вопрос, как на время разработки можно эмулировать какое-то устройство?

То есть, к примеру под рукой нету пока что реального устройство (принтер будет), с которым должен будет работать планшетник.

Может не все ясно написал, если что спрашивайте, я уточню что я имел в виду в вопросе))

Источник: http://toster.ru/q/35787

Работа микропроцессора с внешними устройствами

Выше было описано, как процессор обменивается информацией с ее наиболее важным и оперативным источником — памятью. Рассмотрим теперь, как МП может принять данные или передать их внешним устройствам. Способ решения этой задачи в зависимости от конструкции ЭВМ (подчеркнем: не от конструкции МП, а от конструкции всей ЭВМ!) может быть одним из двух указанных ниже:

1) устройства ввода-вывода включаются в общее адресное пространство;

2) устройства ввода-вывода имеют собственное адресное пространство.

В первом случае при обращении к определенным адресам памяти вместо обмена с ОЗУ происходит аппаратное подключение того или иного внешнего устройства. При этом для «общения» с внешними устройствами и с памятью используются одни и те же команды МП, хотя, конечно, обмен с внешним устройством протекает по более сложному протоколу, чем с памятью.

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

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

В одном и том же компьютере могут встречаться оба способа адресации устройств ввода-вывода одновременно. Так, в ПЭВМ «Ямаха» накопитель на магнитных дисках включен в общее адресное пространство памяти, а печатающее устройство оформлено в виде нескольких портов. Некоторые порты этого компьютера служат для подключения к небольшому 64-килобайтному адресному пространству 128 кбайт ОЗУ и многочисленных ПЗУ. При этом все ресурсы памяти разбиваются на отдельные страницы по 16 кбайт каждая, и «активными» в каждый момент времени могут быть только четыре из них.

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

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

Читайте так же:  Исковые о незаконном увольнении

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

Конечно, реальный диалог современного компьютера с печатающим устройством сложнее. Вот пример. Вы, наверное, заметили, что описанный выше алгоритм «зациклится», если принтер не подключен или не готов к работе: процессор будет ждать сигнала о готовности принтера, а того не будет. Выход — ожидать сигнала готовности в течение какого-то времени, а затем выдать пользователю сообщение о неготовности принтера к работе. При этом желательно проверить содержимое других битов порта состояния (например, отвечающих за наличие бумаги и т.п.) и уточнить, если потребуется, диагностическое сообщение.

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

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

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

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

Реальная картина, конечно, еще сложнее: прерывания от разных устройств имеют разные уровни приоритета, существует возможность маскировки прерываний и т.п. Однако сути дела все это существенно не меняет.

В последнее время необходимость понимания механизма работы прерываний сильно возросла в связи с возникновением идеологии программирования по событиям. Она связана с распространением среды «Windows» и лежит в основе систем типа «Visual Basic» или «Delphi». Приведем примеры нескольких событий, на которые программа может реагировать: сдвинута мышь, нажата (или отпущена) клавиша мыши, нажата клавиша «ввод», выбран тот или иной пункт меню, открыто новое окно на экране и многие-многие другие. Полный перечень событий занимает в описании несколько страниц. Интересно, что программа на таком языке уже не является единым целым: на каждое событие пишется своя собственная программа, хотя все они и могут быть связаны между собой.

Итак, мы рассмотрели наиболее общие принципы работы микропроцессоров вне зависимости от их модели. Теперь познакомимся с конкретными процессорами.

Видео (кликните для воспроизведения).

Источник: http://csaa.ru/rabota-mikroprocessora-s-vneshnimi-ustrojstvami/

Работа с внешними устройствами
Оценка 5 проголосовавших: 1

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here