Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1- 3_Операционные системы

.rtf
Скачиваний:
44
Добавлен:
23.06.2014
Размер:
140.81 Кб
Скачать

Министерство образования Российской Федерации

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)

Кафедра автоматизированных систем управления (АСУ)

КОНТРОЛЬНАЯ РАБОТА № 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-интерфейса перед загрузкой ядра Win­dows 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.