
- •Московский институт
- •Лабораторная работа 1.
- •Краткие теоретические сведения
- •Определение типа э в м.
- •Определение объема оперативной памяти.
- •Определение типа адаптера дисплея.
- •Ревизия периферийных устройств.
- •Домашнее задание.
- •Пример вызывающей программы
- •Режим графики
- •Определение времени работы программы
- •Домашнее задание
- •Лабораторная работа 4 Методы защиты программ и данных краткие теоретические сведения
- •Шифрование путем замены.
- •Шифрование путем перестановок.
- •Шифрование с помощью ключа.
- •Домашнее задание
- •Порядок выполнения работы
- •Лабораторная работа 5 Отладчик d e b u g. Краткие теоретические сведения
- •Что такое debug
- •Рабочие регистры
- •Регистры сегментов
- •Регистры смещения
- •Регистр флагов
- •Команды debug
- •Некоторые команды ассемблера
- •Небольшие примеры
- •Домашнее задание
- •Порядок выполнения работы
- •Лабораторная работа 6 Вывод точечной графики для ega адаптера. Циклы и процедуры в ассемблере. Краткие сведения о видеосистемах ibm pc.
- •Программа на ассемблере
- •Пример программы
- •Порядок выполнения работы
- •Лабораторная работа 7 Генерация звука краткие теоретические сведения
- •Пример программы
- •Домашнее задание
- •Небольшие примеры Создание файла
- •Домашнее задание
- •Общие Сведения о системе Вход в систему:
- •Выход из системы:
- •Команда man (оперативный справочник)
- •Команды mount, umount
- •Маршрутные имена файлов
- •Команда who
- •Команда cd
- •Команда pwd
- •Команда mkdir.
- •Команда rmdir.
- •Команда ls.
- •Команда cp.
- •Требуется указать как минимум два аргумента - источник и приемник
- •Команда more и cat
- •Команда mv.
- •Команда chmod
- •Порядок выполнения работы
- •Фильтры и регулярные выражения Команды, изучаемые в данной лабораторной работе:
- •Команда cat
- •Команда tee
- •Команда wc
- •Команда spell
- •Команда sort
- •Команда cut
- •Команда diff
- •Команда grep и fgrep.
- •- I игнорирует регистр - с выводит только число, соответствующее количеству строк с заданным образцом
- •Регулярные выражения
- •Порядок выполнения работы
- •Лабораторная работа 11. Интерпретатор команд Bourne Again Shell (bash). Команды, изучаемые в данной лабораторной работе:
- •Программирование в Bourne Again Shell
- •Команды echo и read
- •Коды завершения
- •Команда test
- •Команды exit и return
- •Команда let
- •Оператор Описание
- •Команда if-then
- •Команда case
- •Команда while
- •Команда for-in
- •Порядок выполнения работы
- •Лабораторная работа 12
- •Shell-программирование: сигналы и прерывания.
- •Хранение файлов во внешней памяти.
- •Общие сведения о системе
- •Команда kill
- •Команда trap
- •Виды действий с сигналами прерываний :
- •Размещение команды trap в программе
- •Выполнение команд в фоновом режиме.
- •Запуск заданий в фоновом/оперативном режиме
- •Команда tar
- •Команда cpio
- •Использование команды find при резервном копировании
- •Порядок выполнения работы
Режим графики
В СИ есть функции, позволяющие выводить графическую информацию на экран. Рассмотрим только некоторые из них.
INITGRAPH ( &driver, &mode, "D:\TC\BGI") инициализирует графический режим,
где driver - тип графического адаптера: CGA, EGA, ... DETECT, параметр DETECT устанавливает тип графического адаптера автоматически;
mode - тип видеорежима;
"D:\TC\BGI" - обратный путь расположения графических драйверов
PUTPIXEL (int x, int y, color) - рисует точку цвета color в позиции x, y.
Непосредственная адресация видеопамяти в графическом режиме для EGA возможна, но довольно трудна. Мы рассмотрим этот вопрос в лабораторной работе 6.
Определение времени работы программы
Для сравнения различных методов управления выводом на экран можно воспользоваться функцией clock();
#include <time.h>
clock_t START, END;
double F;
START = clock();
{ПРОГРАММА}
END = clock()
F = (END-START)/CLK_TCK;
где F - время работы программы (участка) в секундах.
Подумайте о том, с какой точностью можно измерять с помощью этого метода.
Домашнее задание
1. Составить краткий конспект лабораторной работы.
2. Составить программу(ы), которая выполняла бы следующие действия:
а) с помощью функций СИ выводила на весь экран (80х25) символы с кодами от 15 до 254, изменяя у каждого следующего символа его цвет, а через 8 символов меняя цвет фона;
б) задача а), но с помощью непосредственной адресации видеобуфера (pokeb);
в) рисовала на экране цветными точками прямоугольник 10<X<90, 10<Y<120 с помощью функции putpixel;
г) задача в), но с помощью функции 0CH прерывания 10H;
д) определяла время решения всех задач.
ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
1. Получить у преподавателя допуск к лабораторной работе.
2. Отладить программу на ЭВМ.
3. Сравнить время решения задач различными методами, выводы записать в конспект.
4. Защитить лабораторную работу.
Лабораторная работа 4 Методы защиты программ и данных краткие теоретические сведения
Одной из функций операционной системы является задача обеспечения избирательного доступа к программам и данным. Наиболее распространенным методом, обеспечивающим персонифицированный вход в систему и доступ к информации, является система паролей. Она достаточно просто реализуется, однако не обеспечивает полноценной защиты данных. В тех случаях, когда к степени защищенности предъявляются высокие требования (банковское дело, оборона, разведка и т.п.) необходимым становится специальное кодирование (шифрование) данных (или программного кода). При этом пользователь, несанкционированно проникший в систему, не сможет воспользоваться программами и данными, не имея специального средства декодирования (тщательно засекреченного).
Рассмотрим некоторые методы шифрования данных.
Шифрование путем замены.
В этом методе необходимо иметь таблицу замены, где каждому элементу кода данных (например, байту) ставится в соответствие некоторый код. Пример таблицы замены:
Символ |
A |
B |
C |
.... |
m |
n |
o |
Код символа |
65 |
66 |
67 |
.... |
109 |
110 |
111 |
Код замены |
110 |
109 |
111 |
.... |
43 |
45 |
47 |
Символ |
M |
N |
o |
.... |
+ |
- |
/ |
Шифрование производится путем замены байтов в исходных данных кодом из таблицы замен.
Еще один метод шифрования, основанный на замене, называется ROT13 (частный случай алгоритма “шифр Цезаря”). Он основан на том, что символ в исходном тексте заменяется на символ, расположенный в алфавите на 13 позиций правее.
К недостаткам методов шифрования, использующих простую замену, следует отнести легкость их “взлома” при помощи частотного анализа появления в тексте различных символов и сравнения с частотным словарем.