摘要: 这一部分要实现抢占式调度和进程间通信 前面的调度是进程资源放弃CPU,但是实际中没有进程会这样做的,而为了不让某一进程耗尽CPU资源,需要抢占式调度,也就需要硬件定时 但是外部硬件定时在Bootloader的时候就关闭了,至今都没有开启 而JOS采取的策略是,在内核中的时候,外部中断是始终关闭的,而在用户态的时候,需要开启中断 所以首先需要求改IDT,但是我在之前把256个都弄好了 所以... 阅读全文
posted @ 2016-01-06 13:58 bdhmwz 阅读(1486) 评论(0) 推荐(0) 编辑
摘要: 这里要实现的就是UNIX标准系统调用中的fork,核心当然是copy on write技术 至于为什么采用copy on write,是因为子进程在被创建之后很可能立刻执行exec()了,之前做的一系列的拷贝是无用功 所以说,当创建一个新的子进程的时候,只需要拷贝父进程的内存映射(页表)就可以了,而且将父进程所有的内存映射页都标记为只读的,这样,当子进程或者父进程尝试去读的时候是安全的,而当尝... 阅读全文
posted @ 2016-01-06 13:57 bdhmwz 阅读(2359) 评论(0) 推荐(1) 编辑
摘要: Long long time ago, I finished Lab2. And now, let me face Lab3目标:建立用户环境,可以追踪进程的运行情况,可以创建一个新的用户环境。也要完成系统调用和可能引发的异常在这门课看来,环境和进程是可以对等的,都指程序运行期间的抽象。不直接叫进程... 阅读全文
posted @ 2016-01-06 13:56 bdhmwz 阅读(2238) 评论(0) 推荐(0) 编辑
摘要: 这一部分要实现的是对多核处理器的支持,然后实现系统调用只喜欢用户应用创建新的应用,而且还要实现round-robin调度算法Multiprocessor supportjos中对CPU进行了抽象要描述一个CPU, 需要知道id,运行状态,当前正在运行的进程所有的cpu数目放在cpus数组中接下来则是... 阅读全文
posted @ 2016-01-06 13:55 bdhmwz 阅读(4338) 评论(0) 推荐(0) 编辑
摘要: 这一部分是希望能够处理页错误、断点和系统调用处理系统页错误在发生了page fault之后,进入到系统中断中,然后经过_alltraps,进入到trap,再经过trap_dispatch分发,应该对中断类型为T_PGFLT的中断进行处理当然,页错误也有内核页错误和用户页错误处理断点在JOS中,断点中... 阅读全文
posted @ 2016-01-06 13:55 bdhmwz 阅读(993) 评论(0) 推荐(0) 编辑
摘要: Xv6使用lazy allocation当进程需要更多的内存的时候,调用malloc申请更多的堆内存,而系统调用sbrk()完成该工作但是有的进程会一次申请大量的内存,但是又可能根本用不到,比如说sparse array所以说复杂的内核涉及会将实际的allocation的工作推迟到实际用的时候,发生... 阅读全文
posted @ 2016-01-06 13:55 bdhmwz 阅读(1682) 评论(0) 推荐(0) 编辑
摘要: 先把内存整体的分布图放上来,目前还不能完全看懂 在LAB1之后,形成的物理内存的状态是下面这样的 然后手动开启了映射机制之后,将从0XF0100000开始的内存映射到了0x0100000的位置上 Part1:物理内存分配器 首先是要写一个物理内存分配器,就是分配物理内存的,需要跟踪内存中有哪些物理内存是可用的,哪些是不可用的。 XV6中空闲物理内存的链表项是存储在空闲页中的,... 阅读全文
posted @ 2015-11-12 19:28 bdhmwz 阅读(1862) 评论(0) 推荐(0) 编辑
摘要: lab1实验的主要内容还是熟悉汇编,C语言指针和GDB调试等,以及理解jos的启动过程和启动之中做了哪些处理,为什么要做这些处理典型的一台PC机的物理内存分配早起的16位处理器最多只能寻址1MB的内存空间而真正能被用作RAM的是从0到640KB的区域而从640KB到1MB的地方是留作特殊用途的,最重... 阅读全文
posted @ 2015-10-30 09:51 bdhmwz 阅读(2913) 评论(0) 推荐(0) 编辑
摘要: 这是6.828第一节的一个小作业,就是实现一个shell,大部分的源码都给了,但是编译一下发现很多bug和warning,所以需要读懂源代码然后自己改。这次作业的重点在于理解和体会shell是怎么实现和构建的,尤其要体会的是unix系统中管道和重定向关于shell实现的一些基本原理请看xv6-boo... 阅读全文
posted @ 2015-10-30 09:37 bdhmwz 阅读(1781) 评论(1) 推荐(0) 编辑