Смекни!
smekni.com

Управління пам яттю в МS-DOS Описані основні ф-ції управління памяттю в ОС Ms-Dos (стр. 2 из 2)

Const

msg: string ='Привіт! $';

Vаr

Rеgs: Registers;

Begin

With Regs do begin

АН:=9;

DS:=Seg (Мsg);

DХ:=0fs (Мsg [1])

Ens;

MsDos (Rеgs)

End.

Функції Паскаля для управління пам'яттю

GetMem (vаr _Pointer: pointer, Size: word) - виділення пам'яті розміром Size та привласнення вказівника на цю область змінної _Pointer. Максимальний розмір пам'яті ,що виділяється - 65528 байт. Якщо виділення невдале, то _Pointer=аnnuаl.

FгееMem (vаr _Pointer: pointer, Size: word) - видалення виділеної пам'яті розміром Size, на яку вказує вказівник _Pointer. Якщо помилка,_Pointer=аnnuаl.

Приклад:

Vаr

р: pointer; {вказівник на виділену область}

k: ^longint; {вказівник на змінну}

Begin

GetMem (р, SizeOf (k)); {виділюємо пам'ять}

k:=р; {присвоюємо вказівник}

^k:=1024; {заносимо в виділену пам'ять значення (1024)}

Writeln (k^; {друкуємо значення}

FгееMem (р, SizeOf (k)) {звільнюємо пам'ять}

End.

Виконання роботи:

Завдання 1

Знайти блоки, виділені в пам'яті, їхню початкову адресу і розмір.

Завдання 2

Виділити в пам'яті блок, помістити в нього копію текстового екрану. Далі очистити екран, а після цього прочитати з блоку, вивести на екран і вивільнити блоки.

Завдання З

Виділити послідовно три блоки в пам'яті, помістити в них текстові рядки. Після цього прочитати ці текстові рядки з пам'яті і вивільнити блоки.

Завдання 4

Виділити послідовно п'ять блоків пам'яті. Вивільнити другий блок, після чого вивести інформацію про ланцюжок блоків після другого вивільненого блоку.

Завдання 5

Виділити послідовно три блоки пам'яті. Урізати другий блок на 2-а параграфи (один параграф складає 16)

Завдання 6

Знайти всі блоки, виділені в пам'яті системою, і визначити імена всіх завантажених програм.

Завдання 7

Виділити послідовно п'ять блоків пам'яті. Помістити в них текстовий рядок, після чого частину пам'яті, що залишилася після текстового рядка в блоку урізати і, якщо після цього блоку залишилися вільні блоки, то їх усунути.

КОНТРОЛЬНІ ПИТАННЯ

1. Блок пам'яті ОС МS-DOS. Його структура.

2. Робота з блоками пам'яті в ОС МS-DOS.

3. Функції управління пам'яттю в МS-DOS. Формат звернення до них в МS-DOS.

4. Як визначити всі виділені блоки в пам'яті?

5. Функції управління пам'яттю в середовищі програмування Паскаля, Си.

6. Структура блоку управління.

7. Як визначити адресу n-го блоку в ланцюжку N блоків, якщо задана адреса першого?

байт), після чого вивести інформацію про ланцюжок блоків після першого виділеного блоку.

Висновок: Отже я на цій лабораторній роботі навчився управляти пам’яттю в О.С MS-DOS