mirror of https://github.com/t1meshift/os_labs.git
27 lines
1.5 KiB
Markdown
27 lines
1.5 KiB
Markdown
|
# Лабораторная работа №3
|
|||
|
|
|||
|
Были рассмотрены аллокации памяти размером 1, 16, 128 и 512 Мб.
|
|||
|
|
|||
|
Для выполнения заданий 4 и 3 был использован скрипт для оболочки bash, запускаемый точно так же, как и остальные
|
|||
|
лабораторные: `./run_lab.sh lab3` из директории со всеми работами.
|
|||
|
|
|||
|
Он запускает программу [memory-user.c](memory-user.c) из первого задания с заданным объёмом памяти на выделение.
|
|||
|
Через 3 секунды запускается `pmap` для исследования распределения памяти, затем `free`. После этого исполняется
|
|||
|
`kill`, memory-user завершает работу. Запускаются те же `pmap` и `free` для сравнения.
|
|||
|
|
|||
|
Задержка 3 секунды после вызова `kill` необходима для того, чтобы система успела освободить память. При выделении
|
|||
|
2048 Мб память успевает высвобождаться лишь наполовину.
|
|||
|
|
|||
|
Ниже можно увидеть вывод скрипта для разных объёмов выделенной памяти:
|
|||
|
|
|||
|
**1 Mb:**
|
|||
|
![1Mb](alloc_1mb.png)
|
|||
|
|
|||
|
**16 Mb:**
|
|||
|
![16Mb](alloc_16mb.png)
|
|||
|
|
|||
|
**128 Mb:**
|
|||
|
![128Mb](alloc_128mb.png)
|
|||
|
|
|||
|
**512 Mb:**
|
|||
|
![512Mb](alloc_512mb.png)
|