Сопрограмма - Большая Энциклопедия Нефти и Газа, статья, страница 1
Если из года в год тебе говорят, что ты изменился к лучшему, поневоле задумаешься - а кем же ты был изначально. Законы Мерфи (еще...)

Сопрограмма

Cтраница 1


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

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

Сопрограммы и подрограммы имеют много общего: и те и другие объединяют данные и выполняют операторы. Однако имеются и существенные различия.  [3]

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

Сопрограммы, напротив, начинают выполняться с той точки, где были приостановлены. Они обычно выполняются некоторый период времени, после чего передают управление какой-лвбо ивой сопрограмме. Подпрограммы атакуют задачу впрямую, то время как сопрограммы подразумевают опосредованный подход.  [5]

Сопрограмма, обратившаяся к IOTRANSFER, этим самым объявляет себя обработчиком прерывания.  [6]

Сопрограммы обеспечивают две организационные структуры, отличные от тех, что предоставляются обычной иерархией подпрограмм.  [7]

Сопрограммы оказываются незаменимыми, когда программа разделяется на два основных задания, которые должны быть между собой скоординированы, но при этом их слишком тесная взаимосвязь ведет к излишним усложнениям. Программа, с задания которой начинается работа, занесет адрес второй ячейки в стек. В дальнейшем, как только одной программе требуется помощь другой, она вызывает ее командой JSR PC, ( SP) - j - Системные программы часто выполняют столь переплетенные функции, что в них приходится использовать сопрограммы. На рис. 3.6 показана упрощенная схема взаимодействия двух процессов - чтения и интерпретации, которые протекают внутри ассемблера, когда он расшифровывает мнемонику очередной команды.  [8]

9 Выполнение вызванной процедуры всегда начинается с самого начала этой процедуры. [9]

Сопрограммы обычно используются для того, чтобы производить параллельную обработку данных на одном процессоре. Каждая сопрограмма работает как бы параллельно с другими сопрограммами, как будто у нее есть собственный процессор. Такой подход упрощает программирование некоторых приложений. Он также полезен для проверки программного обеспечения, которое потом будет работать на мультипроцессоре.  [10]

Сопрограммы хорошо известны в программировании, однако на практике применяются значительно реже двух предыдущих случаев.  [11]

Сопрограммы представляют собой встроенное в Модулу-2 средство. С их помощью можно писать обработчики прерываний, системы поддержки времени выполнения, управляемые прерываниями программы и даже целые операционные системы. Сопрограммы - примитив, который позволяет справляться с ситуациями, когда несколько действий происходят ( или могут происходить, или удобно считать, что происходят) одновременно.  [12]

Сопрограммы используются для организации программ, в которых управление может быть передано с одной задачи на другую.  [13]

14 Более детальная схема программы Теги. Поток управления показан сплошной линией, переходы от сопрограммы к сопрограмме изображены пунктиром. Сопрогамма Bain обслуживает локальные клавиатуру и экран. Сопрограмма RemlO управляет взаимодейтвием с удаленной системой. [14]

Сопрограмма RemlO используется для обмена данными с удаленным компьютером. RemlO считывает регистр состояния последовательного порта. Литера передается, если есть что передавать и буфер для передачи пуст. Если интерфейс находится в состоянии ожидания, то происходит считывание литеры.  [15]



Страницы:      1    2    3    4