看了那么多资料,为什么还是学不会操作系统?
共 1084字,需浏览 3分钟
· 2021-07-04
记得当初刚找工作时,面试官问了我很多操作系统方面的知识:你了解操作系统原理吗?Linux 环境会部署吗?底层是怎么实现的?都会哪些 Linux命令?一系列问题把我问得一脸懵逼。
幸好大学学过操作系统,顺利过关入职了。当时还纳闷,我做开发,掌握语言不就好了,为什么还要掌握操作系统。
入职工作后我恍然大悟:弄懂了操作系统解决问题的思路,遇到问题就不至于两眼一抹黑。
在我看来,每一个程序员都应该深入研究操作系统的原理。为什么这么说呢?
1.打开Linux操作系统这扇门,你才是合格的软件工程师。根据2018年W3Techs数据统计,服务器端,Unix-Like OS 占的比例近70%,其中Linux可以称得上是中流砥柱;移动端, Android 也是基于Linux内核,可以说,编程世界中,Linux 是主流,不会Linux操作系统的你会格格不入。
2.研究操作系统内核代码,你能学到数据结构与设计模式的落地实践。在Linux内核里,你会看到数据结构和算法的经典使用案例。你甚至还会看到系统对并发情况保护这种复杂场景。在实践中遇到问题的时候,也可以直接参考内核中的实现。
3.了解Linux操作系统生态,能让你事半功倍地学会新技术。Linux 最大的优点就是开源。无数优秀软件运行在 Linux 上,比如数据 MySQL、消息队列 RabbitMQ、大数据 Hadoop、虚拟化 KVM 等等,学习 Linux,你可以亲密接触大牛思想,这对于你个人的技术进步和职业发展都非常有益。
可以说,如果想在技术之路上走得更远,找到更高薪的工作,深入地学习并掌握操作系统是必经之路。可是很多人在学习过程中很容易迷路,主要有下面两个原因:
1.操作系统涉及方方面面的知识,包括数据结构与算法、计算机组成原理、网络协议、编译原理等等CS专业的硬核知识,可以说是最复杂的软件系统;
2.理解操作系统更需要理论与实践深度结合,很多具体的编程问题,比如并发、网络编程、性能调优等等,都需要你理解操作系统的工作原理。
我一直希望有一种方式,可以生动有趣地学习 Linux 操作系统,更快地上手。直到我发现了下面这张图,用“上市公司”的比喻,把 Linux 操作系统零散的知识点用图谱的形式表现出来,很好诠释了Linux的学习路线,太形象了!
扫描上图二维码试看或订阅