Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по ОСПО.doc
Скачиваний:
29
Добавлен:
02.05.2014
Размер:
910 Кб
Скачать
  1. Диверсификация и n-кратный просчет.

Способы реализации гарантоспособных вычислений

1. n-кратное программирование – диверсификация.

Метод заключается в создании нескольких версий ПО, выполняющих одну и ту же прагматическую задачу. При написании этих программ возможны варианты:

  • выбор различных языков программирования

  • коллектив программистов

  • н аписание алгоритмов различной сложности

А1, А2, А3 – алгоритмы.МЭ – мажорирующий элемент – это программа, осуществляющая выбор на основании анализа результатов работы группы конкурирующих программ А1-А3, наиболее соответствует прагматике решения, количество конкурирующих программ нечётное.

  1. n- кратный просчёт алгоритма

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

Rt1 – результат в момент времени t1.

  1. Д ирективы резервирования памяти в ассемблере.

db – резервирование памяти данных размером 1 бит.

dw – резервирование для данных размером 2 байт.

dd – резервирование для данных размером 4 байт

dq – резервирование для данных размером 8 байт.

df – резервирование для данных размером 6 байт.

dp – резервирование для данных размером 6 байт.

dt – резервирование для данных размером 10 байт.

  1. Директивы сегментации в ассемблере: Model.

Опираются на наличие типовых моделей памяти программ.

модель

тип кода

тип данных

назначение

TINY

Near

near

код и данные определены в одну группу DGROUP. Используется для создания com программ.

SMALL

Near

near

Код занимает отдельный сегмент а все данные объединены в группу DGROUP. Самая распространенная модель.

MEDIUM

Far

near

Характерно для программ, содержащих объёмные коды и небольшое количество данных. Код располагается в нескольких сегментах, а данные в одном.

COMPACT

Near

far

Характерно для программ, работающих с большим объёмом данных. Код в одном сегменте; данные располагаются в нескольких сегментах

LARGE

Far

far

Код состоит из нескольких сегментов как и данные.

Дальний тип(far) состоит в том, что программист должен указать адрес сегмента и смещение в нём, для адресации к данным или командам. При адресации внутри одного сегмента возможно использование типа near(ближний), что означает использование лишь смещения.

Директива указания модели памяти.

MODEL ТИП MODEL LARGE

Упрощенные директивы определения сегмента.

1) .CODE [имя] – начало или продолжение сегмента кода

2) .DATA – начало или продолжение сегмента данных(модель SMALL)

3) .CONST – начало или продолжение сегмента констант

4) .DATA ? – начало или продолжение неинициализированных данных

5) .STACK [размер] – начало или продолжение сегмента стека модуля

6) .FAR DATA – начало или продолжение сегмента инициализированных данных типа far

7) .FAR DATA ? – начало или продолжение сегмента неинициализированных данных типа far

.DATA

L1 BB

.CODE Prog

MOV AL,L1

.DATA