Принятые обозначения

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

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

Ниже везде неявно подразумевается описанная интерпретация вычислительной системы.

  1. Обозначим S - множество всех конечных последовательностей натуральных чисел, . Таким образом элемент S может обозначать либо набор файлов данных, либо набор файлов программ, закодированных при помощи натуральных чисел.
  2. Обозначим e - вычислимую инъективную функцию из S×S на с вычислимой обратной функцией, . По тому же принципу, что и программы и данные, натуральными числами могут кодироваться и состояния системы. Функция e взаимно однозначно ставит в соответствие набору данных и программ натуральное число. Иными словами e - однозначная нумерация состояний системы.

Нотация предназначена для обозначения состояния системы и фактически является кодом этого состояния, представленным натуральным числом.

  1. Для всех частичных функций Любая программа переводит систему из одного состояния в другое, учитывая, что состояния кодируются натуральными числами, можно считать любую программу функцией из в .
  2. Для всех частичных функций примем обозначение f(n) f(n) определена
  3. Для всех частичных функций примем обозначение f(n) f(n) не определена

Определение 2.26. Для всех частичных функций выполняется одно из условий:

  1. f(s,t) и g(s,t) , либо
  2. f(s,t) и g(s,t) и f(s,t) = g(s,t)

Определение служит для уточнения понятия тождественности программ, представленных в виде частичных функций.

Определение 2.27. для всех частичных функций : :

  1. z=z', и
  2. p=p', и
  3. , и
  4. либо
    • q=q', либо
    • h(qi) и h(qi)=q'i

Если раньше для обозначения действия программы на систему использовались коды состояний, то в этом определении используется детализированное описание состояния и по сути вводится отношение между чистым и зараженным состоянием системы. Зараженное состояние характеризуется тем, что при прочих равных в нем некоторые программы изменены вирусом (функция h).

Определение 2.28. Для всех частичных функций , , и

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

Определение 2.29. Для всех частичных функций , или

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

Определение 2.30. Для всех геделевских нумераций частичных рекурсивных функций , общерекурсивная функция v будет вирусом по отношению к выполняется либо:

  1. Повреждение:
  2. Заражение или имитация:

В данном определении выбор переменных d и p в явном виде указывает на их природу - данные (информация не подверженная заражению) и программы (информация подверженная заражению).

Здесь необходимы комментарии:

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







Дата добавления: 2015-06-12; просмотров: 537;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.