Skip to content

ПЛР2 P3331 Дворкин Борис - #2

Open
worthant wants to merge 7 commits into
masterfrom
lab-2
Open

ПЛР2 P3331 Дворкин Борис#2
worthant wants to merge 7 commits into
masterfrom
lab-2

Conversation

@worthant

@worthant worthant commented Nov 29, 2024

Copy link
Copy Markdown
Member

P3331 Дворкин Борис Александрович
Продвинутый трек, оценка 5. ЛР 2. Аллокатор


Описание изменений

Лабораторная работа состояла из 3 частей

1 Часть: Использование аллокатора для файловых структур

Поменял кернел аллокатор, добавив туда бадди аллокатор и поменял file.c, избавив его от необходимости статической аллокации памяти для файловых структур.

2 Часть: Оптимизация аллокатора

Сократил размер массива alloc в 2 раза путём того, что храним ксор двух соседних битов занятости.

3 Часть: Использование аллокатора для структур процессов

Изначально выделялось статически NPROC, т.е. 64 процесса в памяти. Теперь я создал список адресов процессов, или proc_list, куда я пушу новоиспечённые процессы и с помощью бадди аллокатора выделяю место под их структуру.

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

Note

Я хз что с раннером, почему-то фейлится
UPD: раннер пофикшен

  • alloctest
image
  • usertests
image image image image
image

Доп

Планировщик с понижением приоритета, или multilevel feedback scheduler

source: Столлингс

image
  1. Добавил поле priority в структуру процесса
  2. Добавил понижение приоритета в yield в proc.c
  3. Добавил поиск процесса с минимальным приоритетом в scheduler в proc.c

@worthant worthant added the enhancement New feature or request label Nov 29, 2024
@worthant
worthant requested a review from algoritmist November 29, 2024 08:26
@worthant worthant self-assigned this Nov 29, 2024
@worthant worthant changed the title ПЛР1 P3331 Дворкин Борис ПЛР2 P3331 Дворкин Борис Nov 29, 2024
@worthant
worthant force-pushed the lab-2 branch 3 times, most recently from 86c0487 to 6714ae4 Compare December 13, 2024 08:24
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