zoukankan      html  css  js  c++  java
  • 第三次阅读赵炯博士的《linux内核代码完全注释》:序

    这是我第三次阅读linux内核代码完全注释了,当然前两次也没有读完,第一次读到第五章,第二次第七章。

    所以说,赵炯博士对我最大的帮助时介绍了intel386的结构,以及内核编程的方法。

    至于真正的内核源代码,我还真没看多少。

    前几天,就是上周周日,我终于完成我梦想的一小段的了,我的梦想是什么呢?

    不妨贴一贴一年前发的微博。

    我想做自己的计算机系统,本来这应该是一个简单的梦想,但是随着人们对效率的追求,如今的CPU再也不是典型的

    架构,超流水线,寄存器重命名,乱序,预测。

    如今,指令集作为软件和硬件之间的接口这句话太对了,整个计算机系统就像一个沙漏。

    沙漏的下面是复杂的硬件实现,片上并行,SIMD,多核,多级缓存,提供了那样的一个接口-指令集。

    而沙漏上面是汇编器,链接器,加载器,动态库,目标文件格式,可执行文件格式,使用指令集提供的服务。

    如今想要对整个计算机有一个全景式的描述就很难了,更何况计算机要用在工厂上,多台计算机相互合作,来完成一个工作。

    为什么我们需要全景式的描述:

    在学数据结构和算法的时候,我们希望我们能看到算法的执行过程,很多时候讲不明白的,一看就明白了。

    这就是我们希望数据可视化的原因,

    所以,其实我希望的是,打造一个可视化的计算机系统。

    它会有不同层级的可视化,操作系统级别的可视化,你会看到进程之间飞速切换,以及进程管理是怎么回事。一个可执行文件怎么样从磁盘里

    被加载到内存里,映射又是怎么建立的,然后创建表,以及free,malloc在整个内存上是怎么操作的。

    指令级的可视化,你将会看到一个指令从内存加载到指令寄存器,被译码,被执行,整个cpu的寄存器都随之而变。

    最后是逻辑门级的可视化,我们看到电子真在这样的汪洋大海里遨游。

    太好了,为什么只做图片呢?

    千言万语比不上一张图,而千万张图比不上动态图,而千万张动态图,不如我们写一个这样的可视化软件。

    当时用vhdl写cpu的时候,设计了这样一个图:

    爱因斯坦说我思考问题时不是语音思考,而是用一幅幅能动的跳跃的图像来思考,思考完后我还要费很大力气用语言表述出来。

    这样看来是合情合理的。

  • 相关阅读:
    链表
    Python中安装Requests库
    在vs中使用python
    CentOS添加windows引导
    c#创建windows服务
    SQLServer查询结果另存为csv格式中文乱码问题
    用svn管理GitHub项目
    Jquery操作select
    sqlserver2016安装
    信号处理函数陷阱:调用malloc导致死锁[转]
  • 原文地址:https://www.cnblogs.com/likeyiyy/p/3445274.html
Copyright © 2011-2022 走看看