ucore lab2
Posted nlskyfree
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ucore lab2相关的知识,希望对你有一定的参考价值。
CPU在如下时刻会检查特权级
访问数据段
访问页
进入中断服务例程(ISR)
RPL位于段寄存器 DS ES FS GS
CPL位于CS SS
DPL位于段描述符表/门描述符
访问门时:
CPL<=DPL(门) & CPL>=DPL(段) //完成了低特权级调用高特权级
访问段时:
MAX(CPL, RPL)<=DPL(段)
练习0:填写已有实验
使用meld
工具可以查看lab2
相对lab1
新增的代码,同时将lab1
已经填写的代码填充到lab2
,如图(只改变格式的已忽略):
可以看出lab2
新增了:
#新增了:
kern/init/entry.S
kern/mm/default_pmm.h
kern/mm/default_pmm.c
kern/sync/sync.h
libs/atomic.h
libs/list.h
tools/boot.ld
kern_nopage.ld
#修改了:
boot/bootasm.S
kern/debug//*
kern/driver//*
kern/mm//*
libs//*
tools//*
使用了firstfit管理物理内存
1、探测可用的物理内存块
2、将可用的物理内存块划分成页,将第一页加入到双向链表中
双向循环链表保存了
以上是关于ucore lab2的主要内容,如果未能解决你的问题,请参考以下文章