Вступление: Статьи пишу сам, или собираю частями с других материалов!
Виды программирования
В зависимости от архитектуры целевого компьютера и назначения, подходы к написанию программ можно разделить на 3 группы.
1. Последовательное программирование. Программа исполняется на одном процессоре в виде одного процесса, состоящего из одной задачи. Поведение программы детерминировано. Результат работы не зависит от временных характеристик компьютера, таких, как производительность процессора, скорость переключения задач, время реакции на внешние события.
2. Параллельное программирование. Различают квазипараллельные программы, состоящие из нескольких независимых процессов, и истинно-параллельные программы, состоящие из нескольких связанных между собой параллельно работающих процессов или/и задач. Конечное состояние программы может зависеть от временных характеристик компьютера, когда процессы или/и задачи могут завершаться в разном порядке.
3. Программирование для систем реального времени. Является по необходимости параллельным, поскольку на одном компьютере обычно работают несколько процессов и задач, управляющих оборудованием, находящимся в одной технологической цепочке, ограничения и при этом обеспечить максимально высокую скорость выполнения.