Writing an OS in Rust - Part 8 - Introduction to Paging

preview_player
Показать описание
This is my version of Philipp Oppermann's "BlogOS". It's a baremetal operating system that can boot off of a USB stick on any BIOS-compatible machine, which is pretty amazing. I'm going to be following the whole blog, one video at a time, and running the OS using QEMU instead of booting a physical machine. Just to keep things simple.

This is mostly a "learning" video. There's a bit of code at the end for looking at some of the things we learned, but we spend the majority of the time learning how page tables work and specifically how the x86_64 architecture implements them.

#rust #rustos #blogos #rustlang
Рекомендации по теме
Комментарии
Автор

26:58 I wonder how soon we'll be laughing at that sentence 😃

timicesq
Автор

6:20 You're talking about segments in real mode. In protected / long mode the segmentation is not supported. Instead you get selectors (not segments) which define the virtual memory in conjunction with page tables.

timicesq
Автор

I have a problem right here. When I try to cause the first page fault with the address 0xdeadbeaf, instead of throwing the exception, it paniks saying 'misaligned pointer dereference, address must be multiple of 0x4 but is 0xdeadbeaf'.
I tryed to figure it out but it was unsuccessful, so I even tryed to copy-paste the whole code from the project github, but I still have the error.
Can someone help me to figure it out?

bridiro