Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СРВ complete edition епта.docx
Скачиваний:
18
Добавлен:
24.09.2019
Размер:
488.03 Кб
Скачать
  1. В чём различие между истинным- и псевдопараллелизмом?

Псеводпараллелизм – у компьютера в основном только один процессор. Происходит очень быстрое переключение между процессами, потому и кажется, что они выполняются параллельно (Пример: в классе 20 учеников(процессов) и один учитель(процессор). Учитель подходит к каждому ученику, отвечает на вопрос и переходит быстро к следующему. Конкурентный подход).

Истинный паралеллизм – процессы выполняются в один момент времени на разных процессорах (Пример: В классе 20 учеников(процессы) и 20 учителей(процессоры). У каждого ученика свой учитель, который не покидает ученика. Параллельный подход).

  1. Что такое эффект гонок в многозадачной среде?

Состоя́ние го́нки (англ. race condition) — ошибка проектирования многозадачной системы, при которой работа системы зависит от того, в каком порядке выполняются части кода.

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

Гонки – если одна из задач захватывает ресурс и в течение длительного времени не обеспечивает доступ для всех задач, на узле функционирования возникают ошибки, которые называются гонками за ресурсами. «Гонка» - ситуация по захвату доступа к ресурсу задачей с немаксимальным приоритетом. Понятие «гонка» связано с операционной системой реального времени. В данной ситуации необходимо обеспечить распределение ресурсов или сервер ресурсов.

  1. В чём причины возникновения гонок в многозадачной среде

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

  1. Знаменитые аварии вызванные эффектом гонок

Аппарат лучевой терапии Therac-25 был первым в США медицинским аппаратом, в котором вопросы безопасности были возложены исключительно на программное обеспечение. Этот аппарат работал в трёх режимах:

Электронная терапия: электронная пушка напрямую облучает пациента; компьютер задаёт энергию электронов от 5 до 25 МэВ.

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

В третьем режиме никакого излучения не было. На пути электронов (на случай аварии) располагается стальной отражатель, а излучение имитируется светом. Этот режим применяется для того, чтобы точно навести пучок на больное место.

Эти три режима задавались вращающимся диском, в котором было отверстие с отклоняющими магнитами для электронной терапии, и мишень с рассеивателем для рентгеновской. Из-за состояния гонки между управляющей программой и обработчиком клавиатуры иногда случалось, что в режиме рентгеновской терапии диск оказывался в положении «Электронная терапия», и пациент напрямую облучался пучком электронов в 25 МэВ, что вело к переоблучению. При этом датчики выводили «Нулевая доза», поэтому оператор мог повторить процедуру, усугубляя ситуацию. В результате погибли как минимум четыре пациента.

Часть кода была взята из Therac-6 и Therac-20. При этом в Therac-6 не было рентгеновской терапии, а в Therac-20 были аппаратные меры безопасности, которые не давали включить излучение, когда диск был в неправильном положении.