
- •Московский институт
- •Лабораторная работа 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 при резервном копировании
- •Порядок выполнения работы
Московский институт
ЭЛЕКТРОННОЙ ТЕХНИКИ
С.А. ЛУПИН
СБОРНИК ЛАБОРАТОРНЫХ РАБОТ
по курсу
ОПЕРАЦИОННЫЕ СИСТЕМЫ ЭВМ
Кафедра “Вычислительной техники”
МИЭТ 2007
Автор выражает благодарность студентам кафедры ВТ, принявшим активное участие в подготовке лабораторных работ.
Для выполнения лабораторных работ Вам потребуются следующие программные средства:
- транслятор Си (работы 1 - 4);
- отладчик Debug (работа 5);
- транслятор ассемблера (работы 6-8).
- операционная система Linux (работы 9-12)
Описание лабораторных работ в формате MS WORD и тексты примеров программ в формате MS DOS можно получить у преподавателя.
Список литературы приведен в конце сборника. Если Вы хотите более глубоко изучить рассматриваемые в работах вопросы, то необходимо прочитать и дополнительную литературу.
Студенты, имеющие дома компьютер могут выполнить лабораторные работы самостоятельно, согласовав условия сдачи работ с преподавателем.
Лабораторная работа 1.
Определения конфигурации вычислительной системы для IBM PC.
Краткие теоретические сведения
При выполнении программы пользователя, зачастую необходимо уметь определить какие системные ресурсы могут быть ей доступны.
Под системными ресурсами будем понимать следующее:
1 - тип ЭВМ;
2 - объем оперативной памяти;
3 - номер версии MS-DOS;
4 - тип адаптера дисплея;
5 - состав и параметры периферийного оборудования.
Существует несколько методов, которые позволяют провести ревизию системных ресурсов:
1 - использование соответствующих функций языка программирования;
2 - использование средств операционной системы;
3 - использование функций BIOS;
4 - непосредственный анализ содержимого ячеек памяти, в которых хранятся интересующие нас значения.
В настоящей лабораторной работе мы рассмотрим последние три.
Определение типа э в м.
Определение типа ЭВМ необходимо из-за того, что существует проблема программной совместимости различных типов IBM.
Информация о типе ЭВМ хранится в ПЗУ BIOS по адресу F000:FFFE.
Для доступа к ячейке памяти (байту) воспользуемся функцией языка Си peekb, которая возвращает содержимое байта памяти, расположенного по указанному адресу.
Функция peekb имеет следующий вид:
unsigned char peekb (unsigned int seg, unsigned int offset) , где seg - сегмент памяти, offset - смещение.
Для различных типов IBM определены следующие константы:
FF - ЭВМ типа IBM PC;
FE - ЭВМ типа IBM PC/XT;
FD - ЭВМ типа IBM PCjr;
FC - ЭВМ типа IBM PC/AT.
ОПРЕДЕЛЕНИЕ ВЕРСИИ MS-DOS.
По мере развития MS-DOS ее возможности расширялись. Программы, использующие функции старших версий операционной системы могут не работать под управлением начальных версий.
Для определения версии операционной системы служит функция 30h прерывания 21h. Вызов прерывания в Си производится с помощью функции geninterrupt (int intr_num), определенной в файле dos.h ( intr_num - номер прерывания).
Для получения номера версии DOS в регистр _ AH необходимо послать номер функции ( 30h ) и выполнить прерывание 21h. После выполнения прерывания старший номер версии DOS возвращается в регистр _AL, а младший в _AH.
В языке Си зарезервированы переменные osmajor и osminor, которые возвращают старший и младший номер версии DOS, а также переменная version, возвращающая полный номер версии DOS. Эти переменные имеют тип - unsigned char.