
- •«Московский технический университет связи и информатики»
- •Лабораторная работа №4
- •Задание 1. Управление памятью в Linux
- •Задание 1.1 Получение карты виртуальной памяти процесса
- •Задание 1.2 Настройка файла подкачки
- •Задание 1.3. Тестирование памяти
- •Дополнительное задание
- •Задание 2. Реализация обмена данными между процессами
МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ
КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования
«Московский технический университет связи и информатики»
Операционные системы
Лабораторная работа №4
Москва, 2024 г.
Оглавление
Задание 1. Управление памятью в Linux 3
Задание 2. Реализация обмена данными между процессами 15
Вывод 24
Задание 1. Управление памятью в Linux
Цели:
изучить основные методы управления памятью в Linux
построить карту виртуальной памяти процесса
приобрести практические навыки работы с инструментами мониторинга использования памяти, настройки параметров виртуальной памяти, тестирования работоспособности оперативной памяти
Задание 1.1 Получение карты виртуальной памяти процесса
С помощью pmap выведите карту виртуальной памяти любого работающего процесса, например, экземпляра терминала. Изучите структуру карты, сделайте вывод, какая информация может быть получена в результате работы pmap.
Результат выполнения представлен на рисунке 1:
Рисунок 1– Карта виртуальной памяти
Информация, полученная в результате работы pmap:
Каждая из строк показывает сопоставленный адрес памяти и объем памяти по этому адресу, выраженный в килобайтах. Следующие пять символов в каждой строке называются разрешениями на виртуальную память. Допустимые разрешения:
r: сопоставленная память может быть прочитана процессом.
w: отображаемая память может быть записана процессом.
x: процесс может выполнять любые инструкции, содержащиеся в отображаемой памяти.
s: сопоставленная память является общей, и изменения, внесенные в общую память, видны всем процессам, совместно использующим эту память.
R: для этой отображаемой памяти нет резервирования пространства подкачки.
Окончательной информацией о каждой строке является имя источника отображения. Это может быть имя процесса, имя библиотеки или имя системы, стек или куча.
Задание 1.2 Настройка файла подкачки
1. Проверьте текущее использование памяти с помощью команды free.
2. Создайте файл подкачки размером 1 ГБ.
3. Установите требуемые разрешения и отформатируйте файл подкачки с применением mkswap.
4. Подключите созданный файл подкачки с применением команды swapon.
5. Убедитесь, что размер swap-файла изменился.
6. Добавьте настройку для автоматического подключения swap-файла при перезагрузке виртуальной машины (необходимо внести изменения в файл /etc/fstab), перезагрузите машину и убедитесь в корректности работы.
7. Выполните команды free -h -t и swapon –s.
8. Деактивируйте созданный файл подкачки и удалите его.
9. Проверьте доступное количество свободной памяти. В отчет включите снимки экрана для каждого пункта задания.
На рисунках 2-14 представлены результаты выполнения задания:
Проверим текущее использование памяти с помощью команды free (утилита для отображения объема свободной и использованной оперативной памяти). На рисунке 2 представлена команда, проверяющая текущее использование памяти.
Рисунок 2 – Проверка текущего использования памяти
Создадим файл подкачки размером 1 ГБ. Используем команду sudo dd if=/dev/zero of=/swapfile bs = 1M count=1024.
«dd» - утилита для копирования и преобразования данных.
«if=/dev/zero» - входной файл, /dev/zero - специальный файл в Unix-подобных операционных системах, который предоставляет столько нулевых символов (ASCII NUL, 0x00), сколько читается из него.
«of=/swapfile» - определяет выходной файл, в данном случае это файл под названием swapfile.
«bs=1M» - параметр bs указывает размер блока ввода-вывода. В данном случае 1M означает, что размер блока составляет 1 мегабайт.
«count=1024» - параметр count указывает количество блоков для копирования. Если блок имеет размер 1 мегабайт, то count=1024 означает, что будет скопировано 1024 блока размером 1 мегабайт каждый, то есть будет создан файл размером 1024 мегабайта, т.е. 1 гигабайт.
Рисунок 3 – Создание файла подкачки размером 1 ГБ
Рисунок 4 – Установка требуемых разрешений и форматирования файла подкачки
Подключим созданный файл подкачки с применением команды swapon. На рисунке 5 представлена команда, подключающая созданный файл подкачки
Рисунок 5 – Подключение файла подкачки
Проверим, что размер swap-файла изменился. На рисунке 6 представлен ввод команды free для проверки изменения размера swap-файла
Рисунок 6 – Проверка изменения файла
Добавим настройку для автоматического подключения swap-файла при перезагрузке виртуальной машины (необходимо внести изменения в файл /etc/fstab), перезагрузим машину и удостоверимся в корректности работы.
На рисунке 7 представлена команда для открытия файла /etc/fstab в текстовом редакторе nano.
Рисунок 7 – Команда для открытия файла /etc/fstab в текстовом редакторе nano
На рисунке 8 представлено содержимое файла /etc/fstab
Рисунок 8 – Содержимое файла /etc/fstab
На рисунке 9 представлено добавление конечной строки /swapfile none swap sw 0 0 в файл /etc/fstab, его сохранение и закрытие.
В этой записи указывается путь к файлу (в данном случае "none"), тип файла подкачки (в данном случае "swap"), параметры (в данном случае "sw"), признак работы при загрузке системы (в данном случае "0") и признак резервирования (в данном случае "0").
Рисунок 9 – Измененный файл /etc/fstab
На рисунке 10 представлена команда для перезагрузки виртуальной машины для проверки настройки.
Рисунок 10 – Команда для перезагрузки ВМ
На рисунке 11 представлен повторный ввод команды free для проверки настройки
Рисунок 11 – Проверка настройки после перезагрузки виртуальной машины
Выполним команды free -h -t и swapon –s. На рисунке 12 представлен ввод команды free -h -t и swapon –s:
Рисунок 12 – Ввод команды free -h -t для отображения использования и настройки файла подкачки и swapon –s
Деактивируем созданный файл подкачки и удалим его (рисунок 13).
Рисунок 13 – Деактивация файла подкачки и его удаление
Проверим доступное количество свободной памяти (рисунок 14)
Рисунок 14 – Проверка доступного количества свободной памяти