Для студентов СПбГУ по предмету Любой или несколько предметовРазработка и реализация модуля ядра Linux для эффективного выделения памяти под объекты малого размераРазработка и реализация модуля ядра Linux для эффективного выделения памяти под объекты малого размера
4,9551048
2024-08-032024-08-03СтудИзба
Курсовая работа: Разработка и реализация модуля ядра Linux для эффективного выделения памяти под объекты малого размера
Описание
СОДЕРЖАНИЕ
Введение............................................................................................................................................ 3
Постановка задачи............................................................................................................................ 5
Обзор литературы............................................................................................................................. 6
Глава 1. Особенности управления памятью в Linux...................................................................... 7
1.1 Пространство ядра и пространство пользователя............................................................. 7
1.2 Виртуальная память............................................................................................................... 7
1.3 Kmalloc..................................................................................................................................... 8
1.4 Заготовленные кэши............................................................................................................... 8
1.4 Распределитель страниц....................................................................................................... 9
1.5 Вывод....................................................................................................................................... 9
Глава 2. Zpool API........................................................................................................................... 10
2.1 Zbud........................................................................................................................................ 10
2.2 Z3fold...................................................................................................................................... 12
2.3 Zsmalloc................................................................................................................................. 13
2.4 Вывод..................................................................................................................................... 14
Глава 3. Ztree................................................................................................................................... 15
3.1 Идеи для повышения производительности аллокаторов................................................ 15
3.2 Организация блоков и деревьев......................................................................................... 15
3.3 Приемы оптимизации........................................................................................................... 16
3.4 Отображение идентификаторов......................................................................................... 17
3.5 Вывод..................................................................................................................................... 17
Глава 4. Инструменты тестирования............................................................................................ 18
4.1 Zswap..................................................................................................................................... 18
4.2 Zram....................................................................................................................................... 18
4.3 Qemu...................................................................................................................................... 19
4.4 Fio........................................................................................................................................... 20
4.5 Ktime....................................................................................................................................... 20
4.6 Вывод..................................................................................................................................... 21
Глава 5. Сравнительное тестирование........................................................................................ 22
5.1 Среднее время zpool операций.......................................................................................... 22
5.2 Худшее время zpool операций............................................................................................ 24
5.3 Частота превышения порогов zpool операциями............................................................. 25
Выводы............................................................................................................................................. 27
Заключение...................................................................................................................................... 28
Список литературы......................................................................................................................... 29
Приложения..................................................................................................................................... 31
2
Введение
Распространение вычислительной техники в различных сферах человеческой деятельности сопровождается развитием операционных систем. Разнообразие вычислительных устройств порождает множество типов ОС: мобильные, распределенные, реального времени, для суперкомпьютеров, для встроенных систем и другие. Стоит отметить, что это деление весьма условно
— одна и та же ОС может быть отнесена к нескольким разным типам, между которыми отсутствуют четкие границы.
общем случае современные ОС состоят из трех основных компонент: ядро, системные библиотеки, оболочка и прикладные программы. Ядро является центральной частью операционной системы, управляет ее ресурсами и процессами. Многие, на первые взгляд, совершенно различные операционные системы, такие как Android для смартфонов и Red Hat Enterprise Linux, используемый в основном на серверах, работают на одном
Введение............................................................................................................................................ 3
Постановка задачи............................................................................................................................ 5
Обзор литературы............................................................................................................................. 6
Глава 1. Особенности управления памятью в Linux...................................................................... 7
1.1 Пространство ядра и пространство пользователя............................................................. 7
1.2 Виртуальная память............................................................................................................... 7
1.3 Kmalloc..................................................................................................................................... 8
1.4 Заготовленные кэши............................................................................................................... 8
1.4 Распределитель страниц....................................................................................................... 9
1.5 Вывод....................................................................................................................................... 9
Глава 2. Zpool API........................................................................................................................... 10
2.1 Zbud........................................................................................................................................ 10
2.2 Z3fold...................................................................................................................................... 12
2.3 Zsmalloc................................................................................................................................. 13
2.4 Вывод..................................................................................................................................... 14
Глава 3. Ztree................................................................................................................................... 15
3.1 Идеи для повышения производительности аллокаторов................................................ 15
3.2 Организация блоков и деревьев......................................................................................... 15
3.3 Приемы оптимизации........................................................................................................... 16
3.4 Отображение идентификаторов......................................................................................... 17
3.5 Вывод..................................................................................................................................... 17
Глава 4. Инструменты тестирования............................................................................................ 18
4.1 Zswap..................................................................................................................................... 18
4.2 Zram....................................................................................................................................... 18
4.3 Qemu...................................................................................................................................... 19
4.4 Fio........................................................................................................................................... 20
4.5 Ktime....................................................................................................................................... 20
4.6 Вывод..................................................................................................................................... 21
Глава 5. Сравнительное тестирование........................................................................................ 22
5.1 Среднее время zpool операций.......................................................................................... 22
5.2 Худшее время zpool операций............................................................................................ 24
5.3 Частота превышения порогов zpool операциями............................................................. 25
Выводы............................................................................................................................................. 27
Заключение...................................................................................................................................... 28
Список литературы......................................................................................................................... 29
Приложения..................................................................................................................................... 31
2
Введение
Распространение вычислительной техники в различных сферах человеческой деятельности сопровождается развитием операционных систем. Разнообразие вычислительных устройств порождает множество типов ОС: мобильные, распределенные, реального времени, для суперкомпьютеров, для встроенных систем и другие. Стоит отметить, что это деление весьма условно
— одна и та же ОС может быть отнесена к нескольким разным типам, между которыми отсутствуют четкие границы.
общем случае современные ОС состоят из трех основных компонент: ядро, системные библиотеки, оболочка и прикладные программы. Ядро является центральной частью операционной системы, управляет ее ресурсами и процессами. Многие, на первые взгляд, совершенно различные операционные системы, такие как Android для смартфонов и Red Hat Enterprise Linux, используемый в основном на серверах, работают на одном
Характеристики курсовой работы
Учебное заведение
Семестр
Просмотров
1
Размер
209 Kb
Список файлов
Разработка и реализация модуля ядра Linux для эффективного выделения памяти под объекты малого размера.doc
Комментарии
Нет комментариев
Стань первым, кто что-нибудь напишет!
СПбГУ
Tortuga















