- 博客(11)
- 收藏
- 关注
原创 Orange‘s 一个操作系统的实现 chap5 扩充内核记录
因为我们分配了2个页,所以建立了从0x60000000到0x60001fff的映射关系(红色框标注处):其中0x60001fff对应的物理地址是0x8000,即我们使用BitMap规定的第一处空闲物理地址(0x8000-0x1fffff为空闲区域)。同时,将自定义的函数设置为导出函数,并在kernel.asm中导入。查看DispStr,我们可以确定字符串的输出位置是由变量dwDispPos决定的,所以我们需要对dwDispPos修改,使输出位置下移,为ASCII图案腾出空间。按下ESC后,退出中断。
2023-11-22 17:13:03 989 1
原创 Orange‘s 一个操作系统的实现 chap3.1 & 3.2 记录
使用调用门进行的跳转比普通跳转多一个步骤,即在访问调用门描述符时要将描述符当作一个数据段来检查访问权限,要求指示调用门的选择子的 RPL <= 门描述符DPL,同时当前代码段CPL <= 门描述符DPL。就如同访问数据段一样,要求访问数据段的程序的CPL <= 待访问的数据段的DPL,同时选择子的RPL <= 待访问的数据段或堆栈段的DPL。一方面,段描述符中的段基址和段界限定义了一个段的范围,对超越段界限的地址的访问是禁止的,这无疑是对段的一种保护。RPL为指向调用门的段选择子的请求特权级。
2023-11-02 18:17:32 368
原创 Orange‘s 一个操作系统的实现 chapter 1&2 记录
4.设置.bochsrc中floppya参数为 a.img 的路径。创建完成,当前目录下会多出一个磁盘映像(a.img)
2023-09-22 16:40:31 166
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人