2019.1.10 hw4 lazy page allocation

看了看xv6 book的chapter 2,说是看其实就是过一遍,毕竟看不太懂,总体的概念性内容原本就已经明白了,细节性的代码分析看不懂,因此就很僵硬。。。app

而后作了hw4,好在homework仍是很简单的,毕竟已经提示的不能更明白了。ui

不过虽然简单,对于malloc的理解仍是有加深的,基本上就是说malloc执行sbrk的时候并无去alloc,等到page fault再去alloc,代码的部分我也是瞎j8写的,任何边界条件都没加,最后能经过也是走运。blog

    if(tf->trapno == T_PGFLT){
      uint a,b;
      char *mem;
      b = rcr2();
      a = PGROUNDDOWN(b);
      mem = kalloc();
      memset(mem, 0, PGSIZE);
      mappages(myproc()->pgdir, (char*)a, PGSIZE, V2P(mem), PTE_W|PTE_U) ;
      break;
    }
相关文章
相关标签/搜索