码迷,mamicode.com
首页 > 其他好文 > 详细

ucore lab2

时间:2018-08-30 14:58:23      阅读:370      评论:0      收藏:0      [点我收藏+]

标签:load   lib   rip   core   物理   图片   shu   使用   双向链表   

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

标签:load   lib   rip   core   物理   图片   shu   使用   双向链表   

原文地址:https://www.cnblogs.com/nlskyfree/p/9559843.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!