Liblor / advanced_operating_systems_2020

Advanced Operating System Course at ETHZ
MIT License
19 stars 4 forks source link

Lazily map frames #83

Closed Liblor closed 4 years ago

Liblor commented 4 years ago

Work in progress Addresses parts of #73.

Implementation of Milestone 4 before refactoring paging module to use new range tracker.

abertschi commented 4 years ago

Notes lazy mapping

Paging Alloc

Paging Mapped Fixed Attr

Pagefault handler

1. vaddr validation
2. Do Lazy Mapping
Liblor commented 4 years ago

return is resume

Liblor commented 4 years ago
Liblor commented 4 years ago

Uncommenting SELF_PAGING_WORKS results in a fault in slab_alloc https://github.com/Liblor/advanced_operating_systems_2020/blob/paging/faults-handling/lib/aos/threads.c#L370

during refill https://github.com/Liblor/advanced_operating_systems_2020/blob/paging/faults-handling/lib/aos/slab.c#L99

during slab_grow https://github.com/Liblor/advanced_operating_systems_2020/blob/paging/faults-handling/lib/aos/slab.c#L63 called by https://github.com/Liblor/advanced_operating_systems_2020/blob/paging/faults-handling/lib/aos/threads.c#L221

Liblor commented 4 years ago

Implement paging_init_onthread(...), then we can uncomment the SELF_PAGING_WORKS :dancing_women:

Liblor commented 4 years ago

We merged master into this branch, see: https://github.com/Liblor/advanced_operating_systems_2020/tree/paging/faults-handling-master-merge

~New problems arose...~ It was related to the other issue, namely #89

abertschi commented 4 years ago

Use dynamic heap notes

To tackle in #90

eikendev commented 4 years ago

I suggest you merge 96a59feb5a082d67effaeeeb1668102638dd3f1d in here, I made a few renamings.

abertschi commented 4 years ago

104 is based on this branch. changes will be merged into master in branch #104