#### 关于OS、硬件关系的讨论

CK：协议栈在操作系统中的影响应该是越来越小了。因为很多网卡都直接支持协议栈的卸载。减少处理器的使用，仅仅通过数据界面，而不需要协议处理了。协议栈也开始支持类似于IOMMU这样的东西，可以直接在虚拟内存的基础上工作，减少对于内存的打扰。减少对于处理器的打扰。

CK：觉得现在硬件发展之后，有很多东西都需要脱离操作系统，操作系统只需做好隔离就行了。

CY：我觉得学术界和产业界火热的用户态协议栈是歧途。

CK：诸如RDMA，SDN这样的东西，有很多东西都放到网络设备上了，操作系统做的更多的是命名空间的管理，安全性的管理，而数据层不断从操作系统中剥离出来。都有各种各样存在的理由。

CY：要灵活的高性能，需要OS

CK：主要是操作系统的发展离不开硬件的发展。

CY：可要定制的硬件。

CK：现在大多数的服务器硬件都是支持的。但是操作系统的支持不行。不行的方面不是操作系统需要提供数据服务，而是驱动不够稳定。这个需要工业界长期的测试，磨炼才行。

CY：RISCV看来比较适合做定制，可我不没想好怎么定制。

CK：RISCV可以被认为是key-value对。关键不在于key-value对本身，而是别的东西需要研究，然后把key-value对作为例子进行展示。key-value对足够简单，有用。

CK：用X86做体系结构研究会死人的，但RISCV就好多了。它简单，有说服力，工作量也不至于太大。做工业产品则另当别论了。

CY：微软亚研院的FPGA方法，太硬件了

CK：是的，它就是为了冲速度的

CY：在OS和硬件之间需要一个合适的分界，就像OS和APP之间的分界一样，这方面其实还有很多值得挖的

CK：对。只要说的出理由，关于硬件的影响，关于软件的影响。OS自己说起来很霸道，其实很委屈，国为这是为人民服务的角色。

TWD：我发现网络和存储的硬件设备都已经速度很快，有人说操作系统的复杂性已经变成性能的瓶颈。操作系统拖了性能的后腿，这是为什么呢？

CY：多年来，操作系统为实现通用操作，向下兼容，安全，多层抽象，导致和复杂性和冗余性，最后的结果就是臃肿。OS就是在专用，通用，增加功能，推倒重来中轮回。

#### 关于区块链

CK：区块链从一出现就很ugly。区块链来到世间，从头到脚，每个毛孔都滴着血和肮脏的东西。

#### 关于学习方法

CK：做系统的应该只看OSDI,SOSP,ATC,EUROSYS的论文。首先应理解透教科书上的东西，不打好基础，不耐心一点，就是浪费生命，有意义吗？
