ГОТОВЫЕ ДИПЛОМНЫЕ РАБОТЫ, КУРСОВЫЕ РАБОТЫ, ДИССЕРТАЦИИ И РЕФЕРАТЫ
Практическое задание по дисциплине - Операционные среды, системы и оболочки. | |
Автор | Ольга |
Вуз (город) | Москва |
Количество страниц | 7 |
Год сдачи | 2008 |
Стоимость (руб.) | 1100 |
Содержание | Контрольная работа №1
Изучить структуру системных таблиц реального режима Windows и организацию цепочек блоков памяти Познакомиться с работой одной из программ, позволяющих просмотреть содержимое ОЗУ в виде шестнадцатеричного дампа - PEEK.COM. Найти в памяти таблицу таблиц (для получения ее адреса запустить lol.com), познакомиться с ее содержимым и посмотреть указатель на 1 MCB. Проследить в памяти цепочку блоков, определяя их принадлежность и сравнивая с информацией из карты памяти. Написать отчет с описанием процесса нахождения блоков MCB. В отчете указать цепочку блоков памяти с их адресами и размерами. |
Список литературы | Список использованной литературы
1. Гук М. Аппаратные средства IBM PC. Энциклопедия. СПб.: Издательство "Питер", 2000. - 816 c. 2. Дейтин Г. Введение в операционные системы. Перевод с английского. В 2-х томах, М., Мир, 1987 г. 3. Роберт Журден. Справочник программиста на персональном компьютере фирмы IBM. 4. Операционная система MS-DOS. Руководство разработчика 5. Операционная система MS-DOS (версия 6.0). Справочное руководство. 6. Питер Абель. Ассемблер и программирование для IBM PC 7. Справочная система Tech Help. 8. Фигурнов В.Э. IBM PC для пользователей. М.:ИНФРА,1997г. |
Выдержка из работы | Исследование цепочки блоков основной памяти
MCB – это управляющий блок, который DOS использует при распределении, модификации и освобождении блоков системной памяти. Формат блока: Смещ. Длина Содержимое ▀▀▀▀▀ ▀▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ┌───┐ ┌──► 'M'(4dH) - за этим блоком есть еще блоки +0 1 │Тип├──┴──► 'Z'(5aH) - данный блок является последним ├───┴───┐ +1 2 │Владелец параграф владельца (для FreeMem); 0 = владеет собой ├───┴───┤ +3 2 │Размер │ число параграфов в этом блоке распределения ├───┴───┴───────┐ +5 3 │зарезервировано│ └───┴───┴───-───┘ +8 8 ASCIIZ имя хозяина +10H ? Блок памяти начинается здесь и имеет длину (Размер*10H) байт. Замечания: блоки памяти всегда выровнены на границу параграфа ("сегмент_блока"); блоки M-типа: следующий блок находится по (сегмент_блока+Размер):0000; блоки Z-типа: (сегмент_блока+Размер):0000 = конец памяти. Сегмент первого блока в цепочке MCB-блоков хранится по смещению -2 в таблице таблиц (векторной таблице связи) MS-DOS. В векторной таблице связи есть полезная информация, открывающая доступ практически ко всем внутренним структурам данных операционной системы. Таблица 1 – Формат векторной таблицы связи Смещение, байт Размер, байт Имя поля Описание -2 2 mcb_seg Сегмент первого блока памяти MCB 0 4 dev_cb Указатель на первый блок управления устройствами MS-DOS (MS-DOS Device Control Block) 4 4 file_tab Указатель на таблицу файлов MS-DOS 8 4 clock_dr Указатель на драйвер CLOCK$ , установленный в файле config.sys или резидентный 12 4 con_dr Указатель на драйвер CON , установленный в файле config.sys или резидентный 16 2 max_btbl Максимальный размер блока (в байтах) для устройства, выполняющего передачу данных отдельными блоками 18 4 disk_buf Указатель на структуру, описывающую дисковые буферы 22 4 drv_info Указатель на массив информации об устройствах 26 4 fcb_tabl Указатель на таблицу FCB 30 2 fcb_size Размер таблицы FCB 32 1 num_bdev Число устройств, выполняющих передачу данных отдельными блоками 33 1 lastdriv Значение LASTDRIVE в файле config.sys (по умолчанию равно 5) 34 ? null_dr Начало драйвера NUL. Этот драйвер всегда первый в списке драйверов MS-DOS Предварительно загрузив резидентную программу PEEK.EXE для просмотра содержимого памяти, определим с помощью утилиты LOL.COM адрес начала таблицы таблиц: List of list location: 00A7:0026H По смещению -2 находится адрес сегмента, по которому расположен первый MCB в цепочке блоков основной памяти. В данном случае этот адрес равен 0213:0000 |