Глава9. задачиСозданный более 15-и лет назад язык Ада уже тогда включал средства параллельной обработки, что выделяло его среди других универсальных языков программирования. Сегодня, когда можно говорить о начале широкого практического применения параллельных вычислительных систем, наличие в Аде средств программирования параллельных процессов придает языку еще большую ценность. Язык предоставляет развитые средства для программирования параллельных процессов. Программа представляется в виде модулей, которые могут выполняться параллельно на множестве процессоров или на одном процессоре в режиме разделения времени. При этом модули могут взаимодействовать между собой, синхронизироваться или обмениваться информацией. Такие модули в Аде называются задачами. Они предназначены для реализации абстракции процесса. Понятие задачи ( процесса ) является фундаментальным в языке, так как выполнение Ада программы - это выполнение одной или нескольких задач. При этом каждая задача имеет собственную нить управления, выполняется независимо и параллельно. Задачи, как и остальные модули, имеют две части: спецификацию и тело задачи. Однако задача не является компилируемым модулем. Поэтому задачи размещаются в описательной части пакета или подпрограммы. В Аде 95 средства параллельной обработки получили дальнейшее развитие в двух направлениях. Это во-первых, появление в язьпсе еще одного механизма работы с процессами - защищенных модулей, а во-вторых - специальное приложение к языку "Распределенные системы". Защищенные модули будут детально рассмотрены в Главе 13. В настоящем разделе рассматриваются средства работы с заданными модулями (task units). |
| Оглавление| |