程序员进阶之路

大牛

大牛的特点是推动了社会的进步。他不再局限于自己的专业领域,而是广泛地涉猎世间的各种知识,以自己的专业知识弥补世界的不足。

xv6的系统调用

在xv6启动的过程中,0号核在main函数里会执行userinit函数,标记initcode处的数据会复制到第一个用户进程的内存空间。标记initcode的数字是一段代码,它对应的内容在user/initcode.S,是要把文件init的内容放到内存里以用户态去执行。文件init编译自user/init.c。

xv6的启动:从进程初始化到多核调度

操作系统处在硬件和用户程序之间,所以它是对硬件的抽象。前一篇分析的printf函数是对uart的抽象,地址映射是对内存的抽象。本篇准备分析启动过程的其它部分,这些也都是对某种硬件的抽象。

1月记录
  • 2019-01-01

    在1月1日立下今年的flag。自省,健身,背单词,陪家人,写一本书,实现一个CPU,读两本书。

  • 2019-01-02

    “如果方向错了,走的越远,只是错的越多。”我以为这是自己发现的,没想到老美早已认识到这一点。“Speed gets you nowhere if you’re headed the wrong way”。

  • 2019-01-09

    记得某年去义井亲戚家,看到山的对面,有人放风筝超过了山顶。

    做人是面向对象,做事是面向过程。

12月记录
  • 2018-12-14

    感觉在编程过程中交织着两种截然不同的东西,一是这个代码是做什么的,二是这个代码为什么能做到这个功能。