摘要: 扩展练习 Challenge 1(需要编程) 扩展proj4,增加syscall功能,即增加一用户态函数(可执行一特定系统调用:获得时钟计数值),当内核初始完毕后,可从内核态返回到用户态的函数,而用户态的函数又通过系统调用得到内核态的服务(通过网络查询所需信息,可找老师咨询。如果完成,且有兴趣做代替 阅读全文
posted @ 2020-08-03 18:15 whileskies 阅读(1081) 评论(0) 推荐(0) 编辑
摘要: 练习6:完善中断初始化和处理 (需要编程) 请完成编码工作和回答如下问题: 中断描述符表(也可简称为保护模式下的中断向量表)中一个表项占多少字节?其中哪几位代表中断处理代码的入口? 请编程完善kern/trap/trap.c中对中断向量表进行初始化的函数idt_init。在idt_init函数中,依 阅读全文
posted @ 2020-08-03 18:13 whileskies 阅读(1152) 评论(0) 推荐(0) 编辑
摘要: 练习5:实现函数调用堆栈跟踪函数 (需要编程) 我们需要在lab1中完成kdebug.c中函数print_stackframe的实现,可以通过函数print_stackframe来跟踪函数调用堆栈中记录的返回地址。在如果能够正确实现此函数,可在lab1中执行 “make qemu”后,在qemu模拟 阅读全文
posted @ 2020-08-03 18:12 whileskies 阅读(901) 评论(5) 推荐(0) 编辑
摘要: 练习4:分析bootloader加载ELF格式的OS的过程。(要求在报告中写出分析) 通过阅读bootmain.c,了解bootloader如何加载ELF文件。通过分析源代码和通过qemu来运行并调试bootloader&OS。 bootloader如何读取硬盘扇区的? bootloader是如何加 阅读全文
posted @ 2020-07-16 11:06 whileskies 阅读(761) 评论(0) 推荐(1) 编辑
摘要: 练习3:分析bootloader进入保护模式的过程。(要求在报告中写出分析) BIOS将通过读取硬盘主引导扇区到内存,并转跳到对应内存中的位置执行bootloader。请分析bootloader是如何完成从实模式进入保护模式的。 提示:需要阅读**小节“保护模式和分段机制”**和lab1/boot/ 阅读全文
posted @ 2020-07-16 11:02 whileskies 阅读(704) 评论(0) 推荐(1) 编辑
摘要: 练习2:使用qemu执行并调试lab1中的软件。(要求在报告中简要写出练习过程) 为了熟悉使用qemu和gdb进行的调试工作,我们进行如下的小练习: 从CPU加电后执行的第一条指令开始,单步跟踪BIOS的执行。 在初始化位置0x7c00设置实地址断点,测试断点正常。 从0x7c00开始跟踪代码运行, 阅读全文
posted @ 2020-07-16 10:56 whileskies 阅读(782) 评论(0) 推荐(2) 编辑
摘要: 练习1:理解通过make生成执行文件的过程。(要求在报告中写出对下述问题的回答) 列出本实验各练习中对应的OS原理的知识点,并说明本实验中的实现部分如何对应和体现了原理中的基本概念和关键知识点。 在此练习中,大家需要通过静态分析代码来了解: 操作系统镜像文件ucore.img是如何一步一步生成的?( 阅读全文
posted @ 2020-06-27 21:10 whileskies 阅读(844) 评论(0) 推荐(2) 编辑
摘要: 前言 实现一个操作系统一直是我的一个愿望,当然为了不只是愿望,因此近期开始尝试实现。搜索了相关资料后,计划先从清华大学的ucore操作系统开始,完成其8个实验,之后再进一步修改、添加新功能,逐步实现自己的OS 另外,博客已经很久没更新了,这是时隔3年的第一次更新,之后也会更多通过博客园记录学习过程 阅读全文
posted @ 2020-06-15 23:16 whileskies 阅读(1940) 评论(4) 推荐(2) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 题意:求[n, m]区间内不含4和62的数字个数。 这题有两种思路,直接数位dp和dfs 数位dp: dp[i][j]表示i位数,首位是j的符合要求的数字个数。 j = 4时 dp[i][j] = 阅读全文
posted @ 2017-08-09 15:50 whileskies 阅读(335) 评论(0) 推荐(0) 编辑
摘要: Description Farmer John has built a new long barn, with N (2 <= N <= 100,000) stalls. The stalls are located along a straight line at positions x1,... 阅读全文
posted @ 2017-08-08 19:44 whileskies 阅读(157) 评论(0) 推荐(0) 编辑