Управление памятью в операционной системе WINDOWS

Страницы работы

23 страницы (Word-файл)

Содержание работы

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

Комсомольский-на-Амуре государственный технический университет

Факультет компьютерных технологий

кафедра «Математического обеспечения и применения ЭВМ»

                                                                                             Тихомиров В.А.

УПРАВЛЕНИЕ  ПАМЯТЬЮ  В

ОПЕРАЦИОННОЙ СИСТЕМЕ

WINDOWS

лабораторная работа по курсу

“Операционные системы (защищенный режим работы процессора)”

специальность 2204

Комсомольск-на-Амуре

2001 г.


Цель лабораторной работы: Изучить теоретические вопросы  управления памятью в ОС Windows и освоить приемы практической реализации этого управления с использованием системных функций.

Задание на лабораторную работу:

-  внимательно изучить ниже прилагаемый теоретический материал;

-  набрать и проверить работоспособность программных модулей, представленных на листингах 1-3. Тексты программ вместе с результатами их тестирования вставить в отчет;

-  выполнить индивидуальное задание в соответствии с выданным преподавателем вариантом:

№ вар.

Содержание задания

1

Выделить память под массив 1000х1000 элементов типа double и заполнить его случайными числами в интервале от 1 до 10,  защитить страницы памяти с массивом от записи, выдать  сумму и среднее арифметическое элементов массива, дать команду на обнуление элементов и получить системное предупреждение о невозможности записи в массив.

2

Выделить память под два массива 1000х500 и 500х1000 элементов типа int и заполнить их случайными числами в интервале от 0 до 100.

Защитить от записи страницы первого массива.

Перемножить эти два массива и выдать результат на экран. Перехватить обработчик исключений.

Дать команду на обнуление массивов. На исключение о защите памяти выдать сообщение с указанием названия массива, который не удалось обнулить.

3

Зарезервировать  память 30 Мбт. Выделяя порциями необходимую память считать в нее последовательно от 1 до 20 дискет. Найти контрольную сумму считанных байтов. 

4

Выделить память 10 Мбт. Все ячейки заполнить единицами. Генератором случайных чисел создать и случайным образом «разбросать» по байтам выделенной  памяти десять целых чисел в интервале от 2 до 200. Просканировать память и все страницы, содержащие только единицы пометить как запрещенные к доступу. Произвести суммирование всех байтов выделенной памяти. При возникновении исключения при обращении к запрещенной странице программа должна «понимать», что на данной странице содержатся одни единицы. Провести исследование загруженности памяти на всех этапах выполнения программы с помощью системного монитора.

5*

Составить программу, которая бы читала и выводила на экран содержимое своего кодового сегмента.

6**

Составить программу, которая во время своей работы модифицировала бы собственный кодовый сегмент.

7*

Составить программу для исследования наличия и содержания у запущенного модуля области PSP.

8

Составить программу для определения размера страницы памяти, выделяемых MMU процессам на данном компьютере.

9

10

-  тщательно откомментированный текст составленной программы вместе с результатами ее тестирования представить в отчете. Там же привести теоретический материал, на основе которого выполнялось задание.

-  отчет оформить в электронной форме согласно СТП КнАГТУ.


Введение

Зачем напрямую работать с механизмами управления памятью, встроенными в операционную систему? Ведь существуют столь удобные средства, как функция malloc языка С и оператор new языка C++. И действительно, подавляющее число задач, связанных с распределением памяти, можно решить, применяя эти простые в использовании механизмы. Но в некоторых случаях может потребоваться более гибкий контроль над использованием памяти.

Предположим, что вы разрабатываете программу, осуществляющую оцифровку видеосигнала. Чтобы сохранить в памяти пятиминутный видеофильм, может потребоваться достаточно большой (иногда до 50 Мбайт) непрерывный участок оперативной памяти. Однако заранее неизвестно, будет ли пользователь оцифровывать именно пять минут, или он ограничится всего лишь 30 секундами. Зачем тратить время и ресурсы, чтобы выделять 50 Мбайт для хранения 30-секундного видеоклипа?

Похожие материалы

Информация о работе