Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на экзаменационные вопросы.doc
Скачиваний:
45
Добавлен:
01.05.2014
Размер:
888.32 Кб
Скачать

18. Концепция процесса. Понятия алгоритма и процесса. Объективная потребность введения понятия «процесс».

Алгоритм – это совокупность (последовательность) директив. Алгоритм есть триада:

  • средства (С, Паскаль…) и методы описания алгорита (схемы, алгоритмические языки, содержательное описание);

  • механизмы выполнения алгоритма (человек, машина…);

  • реализация (процесс) - реализация порождает процесс.

Языки описания алгоритмов: высокого уровня (машинно-независимые) и низкого уровня (принцип «один в один»: один оператор языка – одна машинная команда).

Алгоритмы могут быть линейными, ветвящимися, циклическики, а процесс – это протокол выполнения алгоритма; обязательное линеен.

Определить концепцию процесса – значит выразить его через формальные модели, которые и породят процесс. (Красюк ни когда не говорил до конца)

Процесс это (из моего конспекта лекции 16.02.2004):

  • последовательная смена состояний, стадий развития;

  • совокупность последовательности действий для достижения определённого результата;

  • последовательная смена состояний, тесная связь закономерно следующих друг за другом стадий развития, представляющих непрерывное единое движение;

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

Состояние – совокупность значений некоторых системных параметров либо характеристик.

Действие – изменение неких условий внутри системы, приводящих к изменению одного или нескольких системных параметров, определяющих состояние.

Если время выполнения действия стремится к нули, то это событие.

Объективная потребность введения понятия процесс – смотри вопрос 17.

19. Основные проблемы параллельного программирования

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

Этот вопрос похоже идет лесом… Надо спрашивать Красюка…

21. Проблемы планирования, диспетчеризации и масштабирования в параллельном программировании

По материалу http://subscribe.ru/archive/comp.soft.othos.osmaker/200501/06010534.text.

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

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

А вообще хотелось бы услышать мнение Красюка по данному вопросу…