- •2.1 Цель работы 23
- •3.1 Цель работы 27
- •4.1 Цель работы 37
- •Аннотация
- •Лабораторная работа № 1 «Управление задачами в ос Windows»
- •1.1 Цель работы
- •1.2 Информация об организации вычислительных задач
- •1.3 Исследование производительности
- •Часть 1.
- •Часть 2.
- •Часть 3. Дополнительное задание
- •1.4 Задание на выполнение
- •Лабораторная работа № 2 «Исследование блоков управления памятью»
- •2.1 Цель работы
- •2.2 Организация хранения байтов в памяти
- •2.3 Информация о структурах памяти
- •2.4 Структура таблицы таблиц
- •2.5 Структура блока управления памятью (mcb)
- •2.6 Задание на выполнение
- •Часть 1.
- •Часть 2. Дополнительное задание
- •Лабораторная работа № 3 «Диагностика ip-протокола»
- •3.1 Цель работы
- •3.2 Просмотр свойств сетевого окружения
- •3.3 Утилита диагностики сети
- •3.4 Утилита «Ipconfig»
- •3.5. Утилита «Ping»
- •3.6 Утилита «Tracert»
- •Лабораторная работа № 4 «Управление устройствами ввода-вывода и файловыми системами в ос Windows»
- •4.1 Цель работы
- •4.2 Диспетчер устройств и драйвера устройств
- •4.3 Диски и файловая система
- •4.4 Дисковые квоты
- •4.5 Обеспечение надежности хранения данных на дисковых накопителях с файловой системой ntf 5.0
- •4.6 Задание на выполнение
- •Список литературы
Лабораторная работа № 2 «Исследование блоков управления памятью»
2.1 Цель работы
Изучение структуры системных таблиц реального режима Windows и организации цепочек блоков памяти, а также формирование компетенции – знакомство с архитектурой ЭВМ и систем (ПК-9).
Контроль над формированием компетенции осуществляется при защите лабораторной работы.
2.2 Организация хранения байтов в памяти
При просмотре памяти имейте в виду, что двухбайтовые слова хранятся в виде {младший байт}{старший байт} – т.е. порядке обратном естественному представлению многоразрядного числа.
То же самое относится к порядку расположения слов в двойном слове – сначала младшее слово, потом старшее. Всегда действует общий принцип – младшее лежит в ячейке памяти с младшим адресом. Таким образом, полный 4-х байтный указатель (например, на таблицу таблиц) 1234:5678H будет в дампе памяти выглядеть как:
78 56 34 12
\ / \ /
| |___ старшее слово с переставленными байтами
|
|_________ младшее слово с переставленными байтами
2.3 Информация о структурах памяти
Это список указателей, каждый из которых представляет собой двойное слово (4 байта). Старшее слово – это сегментный адрес, младшее – смещение в сегменте. Например, для указателя, у которого сегментный адрес=1234H, а смещение 5678H, абсолютный физический адрес ячейки памяти образуется, как сумма сегментного адреса * 16 + смещение (т.е. сегментный адрес сдвинут влево на 1 шестнадцатиричный разряд):
1234 H 0110 H 0112 H
+ 5678H + 0026H + 0006H
-------- -------- ---------
=179B8H =01126H =01126H
Таким образом 0110:0026 – это тоже, что и 0112:0006 !
2.4 Структура таблицы таблиц
Данная структура является НЕДОКУМЕНТИРОВАННОЙ и используется для изучения низкоуровневой информации о структурах памяти.
Смещение |
Длина |
Содержимое |
-2 |
2 |
сегментный адрес 1 MCB |
0 |
4 |
указатель на 1 DPB (Disk Parameters Block ) |
+ 4 |
4 |
указатель на список таблиц открытых файлов |
+ 8 |
4 |
указатель на первый драйвер DOS (CLOCK$) |
… |
… |
… |
2.5 Структура блока управления памятью (mcb)
MCB – Это НЕДОКУМЕНТИРОВАННЫЙ управляющий блок, который используется при распределении, модификации и освобождении блоков системной памяти.
Смещение |
Длина |
Содержимое |
+0 |
1 |
'M' (4dH) – за этим блоком есть еще блоки 'Z' (5aH) – данный блок является последним |
+1 |
2 |
Владелец, параграф владельца (для FreeMem); 0 = владеет собой |
+3 |
2 |
Размер, число параграфов в этом блоке распределения. Параграф равен 16 байтам |
+5 |
0Bh |
Зарезервировано |
+10h |
? |
Блок памяти начинается здесь и имеет длину (Размер*10H) байт |
Замечания:
блоки памяти всегда выровнены на границу параграфа («сегмент блока»);
блоки M-типа: следующий блок находится по (сегмент блока + Размер):0000;
блоки Z-типа: (сегмент блока + Размер):0000 = конец памяти (a000H=640K).
В любом MCB указан его владелец – сегментный адрес PSP (префикс программного сегмента) программы владельца данного блока памяти. А в PSP есть ссылка на окружение данной программы, в котором можно найти имя программы – путь ее запуска.
С
ледует
помнить, что сама программа (и PSP в том
числе) и ее окружение сами располагаются
в блоках памяти. Поэтому, в MCB блока
памяти самой программы в качестве
хозяина указан собственный адрес самого
себя.
Когда программа в реальном режиме начинает выполнение, DS:0000 и ES:0000 указывают на начало PSP этой программы. Информация PSP позволяет выделить имена файлов и опции из строки команд, узнать объем доступной памяти, определить окружение и т.д.
Использование окружения. Окружение не превышает 32 Kбайт и начинается на границе параграфа. Смещение 2Сh в PSP текущей программы содержит номер параграфа окружения.
Вы можете найти нужное 'имя' серией сравнений строк ASCIIZ (Строка ASCIIZ, используемая во многих функциях DOS и в языке C, представляет собой последовательность символов ASCII, заканчивающуюся байтом 00H), пока не дойдете до пустой строки (нулевой длины), что указывает конец окружения. Обычно 'имя' в каждой строке окружения задано прописными буквами, но это необязательно.
Более подробную информацию о структурах памяти можно получить из справочника TECH Help!
