看了xv6的chapter1,看的云里雾里的,后面分析代码的部分好难,基本看不太懂。
然后直接去做homework了,homework倒也不算太难,反正就是仿照已有代码填空。
第一个挺简单的,没啥好说的。
第二个很麻烦,要先用正则表达式搜出已有的system call是怎么implement的,然后去仿照它往里填,老实说填空虽然不难,但是各种调用关系看的我头都大了,这些东西究竟是怎么写出来的的。。。
然后按照题目要求写一个用户态程序编译进去,结果发现有错误,发现原来是xv6的printf有点问题,它实际上是fprintf,而且格式化字符也不太符合标准,总之比较奇怪。
还是老样子,有问题就看这位大神的: