0%

总结复习: 2020年3月15日

2020年3月15日 下午10:47

操作系统内核:也是存在底层调用的,并不是从零开始开发的!

  • BIOS就是操作系统的开发工具包。
  • 其实和你写leetcode是一样的,STL就像是BIOS提供的中断,面对很多问题,例如要调度优先级最高的任务,着其实就是各种算法。
  • 结论:像操作系统这样的底层、大程序,从思维难度上来说等价于LeetCode十几行得代码。
  • 算法题中的hard其实就是各种easy,medium的融合,这其中最重要的能力就是能够将问题转换为个个easy、medium的能力。这个hard不断的harder,再加上一些业务流程,其实就能不断的演化成操作系统一样的庞然大物。

linux操作系统的三种核心思想:

  1. 【类似于网络-上下级】自顶向下的层层调用,进行开发的思想
    • 自底向上的层层封装。
  2. 【模块化隔离-平级】
    • 操作系统再加一个黑盒调用,或者说是老板思维的任务外包。从上层视角理解理解文件系统,内存系统的起源就需要这样的角度
  3. 总结:其实这两种方法都是【隔离封装】,只不过一个侧重于上下级,一个侧重于平级之间。

再进一步,从学习操作系统的经验出发,对于一些新的企业级技术应该如何快速定位,抓住本质进行快速学习?

  • Kubernetes的核心思想就像操作系统发展过程中引入内存系统、文件系统一样,都是任务外包式的黑盒调用,起到了隔离的抽象作用,并且抽象的越来越厉害,网络、存储都可以使用Kubernetes进行抽象。这个感觉就计算机发展最最本质的一个趋势,十年前是这样,十年后依然不会变。