Лабораторный практикум по курсу Операционных систем
Лаборатоная работа №1. Адресация памяти в ОС семейства DOS
В рамках лабораторной работы “Адресация памяти в ОС семейства DOS” требуется самостоятельно создать программу просмотра фрагментов содержания (дампов) оперативной памяти.
Требования к программе:
•программа использует текстовый режим работы монитора;
•весь вывод на экран производится посредством прямой записи в видеопамять (в диапазон памяти адаптера CGA – сегмент $b800);
•программа выполняется в окне, которое исчезает после ее исполнения, при этом восстанавливается исходное содержимое экрана;
•окно состоит из двух полей: поля просмотра дампа памяти и поля ввода базового адреса;
•после нажатия на ключевую комбинацию клавиш (например клавиша 'Ins' для сегментной части адреса и клавиша 'Del' для смещения) программа позволяет ввести базовый адрес (с которого начинается отображаемый диапазон);
•нажатие на стрелки вверх и вниз вызывает прокрутку содержимого оперативной памяти в окне просмотра;
•нажатие на клавиши 'PgUp' и 'PgDn' вызывает ускоренную прокрутку содержимого;
•в окне отображения выводится несколько строк формата: <адрес> - <серия слов>;
•детали ввода базового адреса и вывода дампа памяти оговариваются в вариантах.
Требования к процедуре сдачи программы:
•перед началом выполнения работы студент должен узнать у преподавателя свой вариант задания;
•программа должна быть представлена в исходных файлах на языке Pascal или C/C++, допускаются ассемблерные вставки;
•исходные файлы должны содержать достаточный комментарий, а именно: каждый файл должен начинаться с шапки, поясняющей назначение файла, каждая подпрограмма и каждая глобальная переменная должны сопровождаться объяснением их назначения;
•в момент сдачи программа должна быть успешно откомпилирована и запущена;
•студент дожен вкратце пояснить структуру исходного текста программы и процесс ее выполнения;
•студент должен ответить на всевозможные вопросы как по исходному тексту программы, так и по ее работе;
•программа должна быть сделана и сдана в сроки оговоренные преподавателем;
Варианты ввода базового адреса:
1.Базовый адрес задается в шестнадцатиричном виде двумя компонентами: сегментом и смещением.
2.Базовый адрес задается в десятеричном виде двумя компонентами: сегментом и смещением.
3.Базовый адрес задается в шестнадцатиричном виде одним компонентом – абсолютным номером ячейки.
4.Базовый адрес задается в десятеричном виде одним компонентом – абсолютным номером ячейки.
Варианты вывода содержимого памяти:
1.Содержимое выводится в шестнадцатиричном виде сериями по 8 двухбайтовых слов.
2.Содержимое выводится в десятеричном виде сериями по 8 двухбайтовых слов.
3.Содержимое выводится в шестнадцатиричном виде сериями по 16 однобайтовых слов.
4.Содержимое выводится в десятеричном виде сериями по 16 однобайтовых слов.
5.Содержимое выводится в символьном виде сериями по 2 восьмибайтовых слова.
6.Содержимое выводится в символьном виде сериями по 16 однобайтовых слов.
7.Содержимое выводится в восьмеричном виде сериями по 8 двухбайтовых слов.
8.Содержимое выводится в восьмеричном виде сериями по 16 однобайтовых слов.