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.
Виконання роботи:
Знайти блоки, виділені в пам'яті, їхню початкову адресу і розмір.
Завдання 2
Виділити в пам'яті блок, помістити в нього копію текстового екрану. Далі очистити екран, а після цього прочитати з блоку, вивести на екран і вивільнити блоки.
Виділити послідовно три блоки в пам'яті, помістити в них текстові рядки. Після цього прочитати ці текстові рядки з пам'яті і вивільнити блоки.
Виділити послідовно п'ять блоків пам'яті. Вивільнити другий блок, після чого вивести інформацію про ланцюжок блоків після другого вивільненого блоку.
Виділити послідовно три блоки пам'яті. Урізати другий блок на 2-а параграфи (один параграф складає 16)
Знайти всі блоки, виділені в пам'яті системою, і визначити імена всіх завантажених програм.
Завдання 7
Виділити послідовно п'ять блоків пам'яті. Помістити в них текстовий рядок, після чого частину пам'яті, що залишилася після текстового рядка в блоку урізати і, якщо після цього блоку залишилися вільні блоки, то їх усунути.
1. Блок пам'яті ОС МS-DOS. Його структура.
2. Робота з блоками пам'яті в ОС МS-DOS.
3. Функції управління пам'яттю в МS-DOS. Формат звернення до них в МS-DOS.
4. Як визначити всі виділені блоки в пам'яті?
5. Функції управління пам'яттю в середовищі програмування Паскаля, Си.
6. Структура блоку управління.
7. Як визначити адресу n-го блоку в ланцюжку N блоків, якщо задана адреса першого?
байт), після чого вивести інформацію про ланцюжок блоків після першого виділеного блоку.
Висновок: Отже я на цій лабораторній роботі навчився управляти пам’яттю в О.С MS-DOS