Е.Ю.Чернова,студентка 6 курса МФТИ
Л.Г.Тарасенко, кандидат физ-мат наук, доцент
В настоящее время проблема защиты данных достаточно актуальна. Растёт быстродействие машин, усложняются задачи и используемые в них структуры данных. Программисту становится трудно проследить за правильностью работы алгоритма. Значит, увеличивается количество ошибок и усложняется отладка программы. Таким образом, необходимы средства, гарантирующие правильную работу с данными. Другими словами, нужен режим, обеспечивающий более эффективную отладку больших и сложных задач.
Один из возможных подходов – аппаратная поддержка защищённого режима. Однако встаёт вопрос о переносимости написанных ранее программ на машины, работающие в защищённом режиме. Целью данной работы является анализ проблем переносимости и адаптация задач к защищенному режиму.
Для изучения подходов к адаптации и их реализации были выбраны пакеты задач SPEC. Это большие задачи, составленные из реальных программных проектов (компиляторов, интерпретаторов), которые используются для сравнения быстродействия всех современных процессоров и транслируются всеми трансляторами в мире. В рамках этих задач была проведена классификация проблем и предложен ряд приёмов защищённого программирования на языке C.
Выделены и реализованы основные направления адаптации: инициализация всех объявляемых данных, контроль выхода за границу массива и строгая работа с указателями.
В настоящий момент около 20 задач из пакетов SPEC92, SPEC95 и SPEC2000 полностью адаптированы к защищённому режиму. Их тестирование проводилось на программе-симуляторе машины, работающей в защищённом режиме.
Литература
- Бабаян Б.А., Компьютеры – история и перспективы (Лекция в Научно-Образовательном Центре ФТИ им. А. Ф. Иоффе): [http://edu.ioffe.ru/lectures/babajana/], 27.10.2000.
- Programming languages – C. International Standard ISO/IEC 9899.
- Официальный сайт Standard Performance Evaluation Corporation: [http://www.spec.org].

