1- 3_Операционные системы
.rtfМинистерство образования Российской Федерации
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Кафедра автоматизированных систем управления (АСУ)
КОНТРОЛЬНАЯ РАБОТА № 1
по дисциплине «Операционные системы»
(Учебное пособие «Операционные среды, системы и оболочки»,
автор Гриценко Ю.Б., 2005 г.)
Выполнил: студент гр.
Ф.И.О.
« » 200 г.
200
Задание.
1. Изучить структуру системных таблиц реального режима Windows и организацию цепочек блоков памяти.
Познакомиться с работой одной из программ, позволяющих посмотреть содержимое ОЗУ в виде шестнадцатеричного дампа – PEEK.COM (во время работы доступен HELP – F1, карта памяти – F8 и информация о блоке памяти – F6).
Найти в памяти таблицу таблиц (для получения ее адреса – запусти lol.com), познакомиться с ее содержимым и посмотреть указатель на 1 MCB (см. пп.3.2.1, электронный справочник THelp).
Проследить в памяти цепочку блоков, определяя их принадлежность и сравнивая с информацией из карты памяти (F8).
Написать отчет с описанием процесса нахождения блоков MCB. В отчете указать цепочку блоков памяти с их адресами и размерами.
Управление пользовательской памятью осуществляется с использованием специализированных структур: таблицы таблиц – 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
За этим блоком есть еще блоки, так как блок содержит 'M' в первом байте блока.
╔═════════╤═══════════════════════════════════════════════════╤════════════════╗
║020A:0000│ 4D 08 00 A8 02 E9 74 06 53 44 46 46 E2 FA BE 06 │M..и.щt.SDFFт·╛.║
╚═════════╧═══════════════════════════════════════════════════╧════════════════╝
Теперь смотрим 4-й и 5-й байты блока A8 02, они указывают на длину блока.
Меняем местами - 02A8
При помощи калькулятора в шестнадцатеричном режиме, вычисляем адрес следующего блока: 020A + 02A8 + 1 = 4B3
Будем продолжать процесс до тех пор, пока не встретим блок типа '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...#...........║
╚═════════╧═══════════════════════════════════════════════════╧════════════════╝
Данный блок является последним.
Вариант № 3.
2. Письменно ответить на вопросы согласно полученному варианту.
1. Объясните значения следующих терминов: task (задача), process (процесс), thread (поток, нить). Как они между собой соотносятся?
Под задачей (task) понимается совокупность связанных между собой и образующих единое целое программных модулей и данных, требующая ресурсов вычислительной системы для своей реализации.
По принципу выполнения различают последовательные процессы и параллельные. Последовательный процесс, иногда называемый «задачей», – это выполнение отдельной программы с ее данными на последовательном процессоре.
Понятие процесса было введено при реализации мультипрограммного режима работы вычислительной техники. В свое время различали термины «мультизадачность» и «мультипрограммирование». Для реализации «мультизадачности» в ее исходном толковании необходимо было тоже ввести соответствующую сущность. Такой сущностью и стали так называемые легковесные процессы, или, как их теперь преимущественно называют, – потоки или треды (нити).
Для того чтобы можно было эффективно организовать параллельное выполнение процессов и тредов, в архитектуру современных процессоров включена возможность работы со специальной информационной структурой, описывающей тот или иной процесс (тред). Для этого уже на уровне архитектуры микропроцессора используется понятие «задача» (task). Оно как бы объединяет в себе обычный и «легковесный» процессы.
2. Опишите распределение оперативной памяти в Windows 9x.
Операционные системы Windows 9х являются 32-разрядными, многопотоковыми ОС с вытесняющей многозадачностью. Для своей загрузки они используют операционную систему MS DOS 7.Х. Распределение памяти в MS DOS 7.X такое же, как и в предыдущих версиях DOS. Однако при загрузке GUI-интерфейса перед загрузкой ядра Windows 95/98 процессор переключается в защищенный режим работы и начинает распределять память уже с помощью страничного механизма.
Использование так называемой плоской модели памяти, приводит к тому, что, память получается неструктурированной. За счет представления адреса как пары (Р, i) память можно трактовать и как двумерную, то есть «плоскую», и как линейную, что существенно облегчает создание системного программного обеспечения и прикладных программ с помощью соответствующих систем программирования.
Таким образом, в системе фактически действует только страничный механизм преобразования виртуальных адресов в физические. Программы используют классическую «small» (малую) модель памяти. Каждая прикладная программа определяется 32-битными адресами, в которых сегмент кода имеет то же значение, что и сегменты данных. Единственный сегмент программы отображается непосредственно в область виртуального линейного адресного пространства, который, в свою очередь, состоит из 4 килобайтных страниц.
Младшие адреса виртуального адресного пространства совместно используются всеми процессами. Это сделано для обеспечения совместимости с драйверами устройств реального режима, резидентными программами и некоторыми 16-разрядными программами Windows.
В Windows 95/98 каждая 32-разрядная прикладная программа выполняется в своем собственном адресном пространстве, но все они используют совместно один и тот же 32-разрядный системный код.
Системный код Windows 95 размещается выше границы 2 Гбайт. В пространстве с отметками 2 и 3 Гбайт находятся системные библиотеки DLL (Dynamic Link Library – динамически загружаемый библиотечный модуль), используемый несколькими программами. Компоненты системы Windows 95, относящиеся к кольцу 0, отображаются на виртуальное адресное пространство между 3 и 4 гигабайтами. К этим компонентам относятся собственно ядро Windows, подсистема управления виртуальными машинами, модули файловой системы и виртуальные драйверы (VxD).
Область памяти между 2 и 4 гигабайтами адресного пространства каждой 32-разрядной прикладной программы совместно используется всеми 32-разрядными прикладными программами. Такая организация позволяет обслуживать вызовы API непосредственно в адресном пространстве прикладной программы и ограничивает размер рабочего множества, однако это снижает надежность.
В области между 2 и 3 гигабайтами также находятся все запускаемые 16-разрядные прикладные программы Windows. С целью обеспечения совместимости эти программы выполняются в совместно используемом адресном пространстве, где они могут испортить друг друга так же, как и в Windows 3.x.
Адреса памяти ниже 4 Мбайт также отображаются в адресное пространство каждой прикладной программы и совместно используются всеми процессами, благодаря чему становится возможной совместимость с существующими драйверами реального режима, которым необходим доступ к этим адресам, но вследствие этого еще одна область памяти становится незащищенной от случайной записи. К нижним 64 килобайтам этого адресного пространства 32-разрядные прикладные программы обращаться не могут, что дает возможность перехватывать неверные указатели, но 16-разрядные программы, которые, возможно, содержат ошибки, могут записывать туда данные.
Вышеизложенную модель распределения памяти можно проиллюстрировать с помощью рис. 2.1.
Рис. 2.1 Модель памяти ОС Windows 9x.