pczarn / rustboot

A multi-platform kernel written in Rust
http://pczarn.github.io/rustboot/doc/main/index.html
MIT License
197 stars 15 forks source link

Figure out a sane memory API #7

Open pczarn opened 10 years ago

pczarn commented 10 years ago

We have a few abstractions for both physical and virtual memory management. Some methods (set, set_addr) need a second thought and documentation, whereas identity_map needs improvement.

Both i686 and ARM use paging schemes with two levels.

Perhaps use slices and iterators for virtual memory manipulation?

pczarn commented 10 years ago

The Linux kernel uses a list of vm_area_structs that hold all information stored in the architecture-specific page table and everything else needed to fully describe a memory area.

http://duartes.org/gustavo/blog/post/how-the-kernel-manages-your-memory/