Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Physical memory manager #67

Closed
DrDeano opened this issue Sep 5, 2019 · 0 comments · Fixed by #104
Closed

Physical memory manager #67

DrDeano opened this issue Sep 5, 2019 · 0 comments · Fixed by #104
Assignees
Labels
arch: x86 Affects the x86 port enhancement New feature or request
Milestone

Comments

@DrDeano
Copy link
Member

DrDeano commented Sep 5, 2019

Manage the physical memory.

  • Some areas of physical memory are unusable and will need to be managed so not to use this memory.
  • Manage the memory mapped I/O. May this should be a separate manager, but will have ties with the physical memory manager as shouldn't allocate memory here.
  • Biggest of all, manage where everything is, as data and code have to be somewhere in memory.

Also, we can decide with the 32 bit OS, handle 4KB chunks where for 64 bit OS handle 4MB chunks, as who has less than 4GB of RAM these days, am I right ;).

Here is an example written in C:
https://github.com/DrDeano/DeanOS/blob/master/src/kernel/kernel/pmm.c

A good tutorial:
http://www.brokenthorn.com/Resources/OSDev17.html

@DrDeano DrDeano added arch: x86 Affects the x86 port enhancement New feature or request labels Sep 5, 2019
@DrDeano DrDeano added this to the v0.1 milestone Sep 5, 2019
@DrDeano DrDeano mentioned this issue Sep 5, 2019
2 tasks
@SamTebbs33 SamTebbs33 self-assigned this Sep 8, 2019
@SamTebbs33 SamTebbs33 modified the milestones: v0.1, v0.2 Sep 12, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arch: x86 Affects the x86 port enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants