[MIT6.828] LAB4 Part B: Copy-on-Write Fork
Exercise 3. Implement the sys_env_set_pgfault_upcall system call. Be sure to enable permission checking when looking up the environment ID of the targ[……]
Exercise 3. Implement the sys_env_set_pgfault_upcall system call. Be sure to enable permission checking when looking up the environment ID of the targ[……]
Exercise 1.Implement round-robin scheduling in sched_yield() as described above. Don’t forget to modify syscall() to dispatch sys_yield().
修改kern/sc[……]
LAB3:
Q1.What is the purpose of having an individual handler function for each exception/interrupt? (i.e., if all exceptions/interrupts were delivered[……]
Challenge 1: 大页机制的实现
没有在代码中实现,写了个步骤供参考:
0、先把预定义的PGSIZE之类的宏都更改为与大页相匹配的情况。
1、由于页大小变成了4M,所以要修改从代码,要内核4M处加载。
3、page_init()中内存布局也会发生对应变化,低端4M保留给实模式和IO映射,然后[……]
E1:In the file kern/pmap.c, you must implement code for the following functions.
boot_alloc()
page_init()
&nb[……]
看到红色的Challenge就想挑战一把,于是搞了下VESA图形模式的编程。
科普知识:
什么是VBE?
VBE的全称是VESA BIOS Extension。
什么是VESA?
VESA的全称是Video Electronics Standards Association即视[……]
LAB1给代码中的’/t’的处理很简陋,直接把’/t’替换为5个空格,这和我们平时习惯有很大不同,所以要改造一下。
1、在kern/console.c cga_putc()函数中,可以看到’/t’case分支,把这个分支替换为如下代码:
case '/t':[......]
在qemu+gdb的调试环境中,gdb的b命令生效地址必须是虚拟机的物理地址,但是OS中运行的程序大部分都是以虚拟地址出现的,所以计算出真实的物理地址才能下断点。
MIT6.828的LAB1中的内核代码中,内核段基址为0x10000000(可由kern/entry.S中的mygdt标号下的数[……]
1、整体
ELF文件结构看起来如下:
Linking View Execution View ============ ============== ELF header[......]
名称:CSDN Blog Mover
概述:从CSDN搬家到Wordpress的一款小工具,支持迁移文章,评论,分类,附件和代码高亮。
语言:Python
平台:Windows、Unix
时间:2012-01-01 始
状态:[……]