Skip to content

ПЛР3 P3331 Дворкин Борис Часть 5 - #4

Open
worthant wants to merge 2 commits into
masterfrom
lab-3-lazy
Open

ПЛР3 P3331 Дворкин Борис Часть 5#4
worthant wants to merge 2 commits into
masterfrom
lab-3-lazy

Conversation

@worthant

@worthant worthant commented Dec 13, 2024

Copy link
Copy Markdown
Member

Лабораторная работа 3. Ленивое выделение памяти (часть 5)

Реализовано ленивое выделение памяти (lazy allocation): sbrk увеличивает размер
адресного пространства процесса, но физические страницы выделяются только при
первом фактическом обращении к ним.

Реализация

  • sbrk (kernel/sysproc.c): изменяет p->sz без
    немедленного выделения страниц.
  • Обработка page-fault (kernel/trap.c): при
    обращении к ещё не выделенной странице в пределах p->sz выделяется физическая
    страница и добавляется в таблицу страниц.
  • vm.c (kernel/vm.c): uvmunmap и uvmcopy
    корректно обрабатывают отсутствующие (не выделенные лениво) страницы.

Прохождение тестов

lazytests:

lazytests

usertests:

usertests
страница и добавляется в таблицу страниц.
  • vm.c (kernel/vm.c): uvmunmap и uvmcopy
    корректно обрабатывают отсутствующие (не выделенные лениво) страницы.

Прохождение тестов

lazytests:

lazytests

usertests:

usertests

@worthant worthant changed the title 🔨 feat(*): Add lazy allocation ПЛР3 P3331 Дворкин Борис Часть 5 Dec 13, 2024
@worthant
worthant requested a review from algoritmist December 13, 2024 07:03
@worthant worthant self-assigned this Dec 13, 2024
@worthant worthant added the enhancement New feature or request label Dec 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant