Xv6

Xv6内核分析(三.2)

main函数之kvmalloc 1. kvmalloc函数 这个函数主要就是分配一个页表给内核进程用于调度: kpgdir是一个全局变量,用于记录内核进程的页目录基址,kvmalloc获得页目录后,调...
阅读全文
Xv6

Xv6内核分析(三.1)

main函数之kinit1 1. kinit1概述 物理内存分配器在xv6-book中由详细的描述: 这个函数是用来初始化物理内存分配器的。可以用来分配的物理内存范围是地址空间: 其中end这个标号在...
阅读全文
Xv6

Xv6内核分析(二)

启动Xv6 1. Xv6入口代码 内核的入口代码在entry.S中,Xv6的内核是支持用grub引导的,grub引导的知识见此博客:https://blog.csdn.net/xiaolanmysel...
阅读全文
Xv6

Xv6内核分析(一)

Bootloader引导 Bootloader部分的代码主要负责主核的启动,保护模式的设置等。代码主要在bootasm.S、bootmain.c中。 1.bootasm.S bootasm.S主要工作...
阅读全文