2018年8月17日

MIT 6.828 JOS lab3用户进程

摘要: JOS中用inc/env.h中的结构struct Env表示用户进程。 Part A:用户进程与异常处理 mem_init()中申请struct Env数组,存放后续进程结构。 x86中,idt表项0-31属于同步的异常,而32-255属于异步的中断。发生时处理器会自动将一些寄存器信息压入内核栈。 阅读全文

posted @ 2018-08-17 16:48 天空中飞来的 阅读(1239) 评论(0) 推荐(0) 编辑

MIT 6.828 JOS lab2内存管理

摘要: 物理内存 因内核连接地址在高处,为执行内核,entry.S中先粗略映射,将虚拟地址[KERNBASE,KERNBASE+4mb)映射物理地址到[0,4mb)。 为管理物理内存,需要先实现物理页框相关的init,alloc,free功能,JOS中以struct PageInfo代表一个物理页。 Exe 阅读全文

posted @ 2018-08-17 16:46 天空中飞来的 阅读(277) 评论(0) 推荐(0) 编辑

MIT 6.828 JOS lab1启动

摘要: 格式化输出 Exercise 8 Q: Explain the interface between printf.c and console.c. Specifically, what function does console.c export? How is this function used 阅读全文

posted @ 2018-08-17 16:43 天空中飞来的 阅读(255) 评论(0) 推荐(0) 编辑

MIT 6.828 JOS lab4抢占式多进程

摘要: Part A:多处理器支持与协同多任务 多处理器 BSP(bootstrap processor)负责初始化及启动操作系统,操作系统启动后BSP激活APs(application processors)。 SMP中,每个核心都有一个LAPIC(local APIC),负责传递中断以及给核心提供标识符 阅读全文

posted @ 2018-08-17 16:41 天空中飞来的 阅读(410) 评论(0) 推荐(0) 编辑

导航