1- 4_Операционные среды, системы и оболочки
.doc
Вариант 4
Задание №1
Изучить структуру системных таблиц реального режима Windows и организацию цепочек блоков памяти.
Познакомиться с работой одной из программ, позволяющих просмотреть содержимое ОЗУ в виде шестнадцатеричного дампа –PEEK.COM (во время работы доступен HELP – F1, карта памяти – F8 и информация о блоке памяти – F6).
Найти в памяти таблицу таблиц (для получения ее адреса – запусти lol.com), познакомиться с ее содержимым и посмотреть указатель на 1 MCB (см. пп.3.2.1, электронный справочник THelp).
Проследить в памяти цепочку блоков, определяя их принадлежность и сравнивая с информацией из карты памяти (F8).
Написать отчет с описанием процесса нахождения блоков МСВ. В отчете указать цепочку блоков памяти с их адресами и размерами.
Решение:
Пользовательская память управляется с помощью специальных специализированных структур, которые называются таблицами таблиц (list of list), а так же управляющих блоков памяти (memory control blok).
С помощью LOL.COM получаем адрес таблицы таблиц:
List of list location: 00A7:0026H
Запускаем программу PEEK.COM. Просмотрим в ней ОЗУ в виде шестнадцатеричного дампа памяти. Будем исходить из того, что в с труктуре таблицы таблиц указатель адреса 1 MCB учитывается со смещением -2.
|00A7:0024| 0A 02 EA 15 A7 00 CE 00 A7 00 5A 00 70 00 24 00 |..ъ.з.╬.з.Z.p.$.|
Адрес блока памяти: 020A:0000
Блок содержит ‘М’ в первом байте блока. Это значит, что за блоком еще есть блоки.
|020A:0000| 4D 08 00 A8 02 E9 74 06 53 44 46 46 E2 FA BE 06 |M..и.щt.SDFFт·╛.|
Рассмотрим четвертый и пятый байты блока А8 02. Эти байты указывают на длину блока.
Теперь поменяем местами 02А8. Затем при помощи шестнадцатеричного калькулятора вычислим адрес блока, который идет следующим:
20А+2А8+1=4В3
Смотрим дамп до тех пор, пока не встретим блок типа Z:
|04B3:0000| 4D B4 04 A2 00 1D 0A FF 43 4F 4D 4D 41 4E 44 00 |M|.в... COMMAND.|
|0556:0000| 4D 00 00 07 00 73 1A 52 65 71 75 69 72 65 64 20 |M....s.Required |
|055E:0000| 4D B4 04 45 00 61 72 61 6D 65 74 65 72 20 76 61 |M|.E.arameter va|
|05A4:0000| 4D DB 05 35 00 06 B1 02 FF FF 80 26 30 03 FB 38 |M█.5..▒. А&0.√8|
|05DA:0000| 4D DB 05 8A 01 E9 F5 FD 50 52 4E 32 46 49 4C 45 |M█.К.щї¤PRN2FILE|
|0765:0000| 4D 1A 09 34 00 00 00 00 00 00 00 00 00 00 00 00 |M..4............|
|079A:0000| 4D 00 00 00 00 03 75 08 C6 06 25 03 02 E9 C1 00 |M.....u.╞.%..щ┴.|
|079B:0000| 4D 9C 07 7D 01 75 03 E9 4B 42 31 36 00 03 00 74 |MЬ.}.u.щKB16...t|
|0919:0000| 4D 1A 09 83 01 0F 2E A1 4E 43 00 26 89 45 04 26 |M..Г...бNC.&ЙE.&|
|0A9D:0000| 4D 6D 0E 34 00 75 05 FF 36 A2 2C 41 EB 10 83 F9 |Mm.4.u. 6в,Aы.Г∙|
|0AD2:0000| 4D 6D 0E 5C 00 12 26 8A 4E 43 4D 41 49 4E 00 FF |Mm.\..&КNCMAIN. |
|0B2F:0000| 4D 00 00 7A 00 00 00 00 00 00 00 00 00 00 00 00 |M..z............|
|0BAA:0000| 4D E2 0B 36 00 0B 51 0B 65 0B 74 0B 83 0B A3 0B |Mт.6..Q.e.t.Г.г.|
|0BE1:0000| 4D E2 0B 8A 02 04 0B C0 50 45 45 4B 00 F7 D0 5B |Mт.К...└PEEK.ў╨[|
|0E6C:0000| 4D 6C 15 36 00 E8 7A FF 43 4F 4D 4D 41 4E 44 00 |Ml.6.шz COMMAND.|
|0EA3:0000| 4D 00 00 6B 00 73 00 00 00 00 00 00 00 01 00 00 |M..k.s..........|
|0F0F:0000| 4D 10 0F 8A 02 73 1A 52 50 45 45 4B 00 65 64 20 |M..К.s.RPEEK.ed |
|119A:0000| 4D 00 00 A2 00 04 A1 FF 43 4F 4D 4D 41 4E 44 00 |M..в..б COMMAND.|
|123D:0000| 4D 3E 12 8A 02 73 1A 52 50 45 45 4B 00 65 64 20 |M>.К.s.RPEEK.ed |
|14C8:0000| 4D 00 00 A2 00 04 A1 FF 43 4F 4D 4D 41 4E 44 00 |M..в..б COMMAND.|
|156B:0000| 4D 6C 15 8A 02 73 1A 52 50 45 45 4B 00 65 64 20 |Ml.К.s.RPEEK.ed |
|17F6:0000| 4D F7 17 F0 45 04 A1 FF 4E 43 4D 41 49 4E 00 01 |Mў.ЁE.б NCMAIN..|
|5DE7:0000| 4D F7 17 33 02 07 20 07 20 07 20 07 20 07 20 07 |Mў.3.. . . . . .|
|601B:0000| 4D F7 17 F4 01 00 00 00 00 00 00 00 00 00 00 00 |Mў.Ї............|
|6210:0000| 4D F7 17 43 0A 00 00 00 00 00 00 00 00 00 00 00 |Mў.C............|
|6C54:0000| 4D F7 17 43 0A 00 00 00 00 00 00 00 00 00 00 00 |Mў.C............|
|7698:0000| 4D F7 17 5A 06 63 6F 6D 00 00 00 00 00 00 00 00 |Mў.Z.com........|
|7CF3:0000| 5A 00 00 0B 23 00 00 00 00 00 00 00 00 00 00 00 |Z...#...........|
Этот блок последний.
Задание №2
Для чего каждая задача получает соответствующий дескриптор? Какие поля, как правило, содержатся в дескрипторе процесса (задачи)?
Ответ:
Что бы операционная система могла управлять процессам, у нее должна быть необходимая информация о задачах. Для этого каждый процесс получает свою информационную структуру, которая называется дескриптор процесса (описатель задачи, блок управления задачей).
Обычно дескриптор процесса содержит:
1). Идентификатор процесса PID (Process Identificator).
2). Тип (класс) процесса. Определяет для супервизора некоторые правила по предоставлению системных ресурсов.
3). Приоритет процесса. В соответствии с ним супервизор предоставляет ресурсы. Если процессы состоят в одном классе процессов, то в первую очередь обслуживаются те, которые имеют больший приоритет.
4). Переменная состояния. Она определяет состояние процесса (готовность к работе, состояние выполнения, ожидание какого-либо устройства).
5). Защищенная область памяти (или адрес зоны такой памяти). В ней хранятся текущие значения регистров процессора, если процесс прерван во время выполнения работы. Такая информация является контекстом задачи.
6). Сведения о ресурсах. Владеет ли процесс право использовать эти ресурсы или нет. Сюда относятся: указатели на файлы, которые открыты; информация об операциях ввода/вывода, которая не была завершена.
7). Место (адрес). Он нужен для организации общения с другими процессами.
8). Параметры запуска. Это тот момент времени, в который процесс должен активизироваться, и с какой периодичностью ему это делать.
9). Если система управления файлами отсутствует, то в дескрипторе содержится информация адреса задачи на диске в ее исходном состоянии и адрес на диске, куда она выгружается из оперативной памяти, если ее вытесняет другая задача (для диск-резидентных задач, которые постоянно находятся во внешней памяти на системном магнитном диске и загружаются в оперативную память только на время выполнения).
Задание №3
Назовите основные принципы фон-неймановской архитектуры вычислительных машин.
Ответ:
1. Принцип двоичности. Для представления данных и команд используется двоичная система счисления.
2. Принцип программного управления. Программа состоит из набора команд, которые выполняются процессором друг за другом в определённой последовательности
3. Принцип однородности памяти. Как программы (команды), так и данные хранятся в одной и той же памяти (и кодируются в одной и той же системе счисления — чаще всего двоичной). Над командами можно выполнять такие же действия, как и над данными.
4. Принцип адресуемости памяти. Структурно основная память состоит из пронумерованных ячеек; процессору в произвольный момент времени доступна любая ячейка.
5. Принцип последовательного программного управления. Все команды располагаются в памяти и выполняются последовательно, одна после завершения другой.
6. Принцип условного перехода. Команды из программы не всегда выполняются одна за другой. Возможно присутствие в программе команд условного перехода, которые изменяют последовательность выполнения команд в зависимости от значений данных.
Память
Арифметико-логическое
устройство
Устройство
управления
Ввод
Вывод
Аккумулятор