微信号:sagacity-mac

介绍:MacTalk 开通于2012年末,内容起于 Mac 而不止 Mac,内容覆盖了技术、创业、产品和人文思考.文风有趣,又有一点力量.相关图书《MacTalk·人生元编程》《MacTalk·跨越边界》

每个程序员都应该了解的操作系统知识

2019-03-25 17:07 池建强

不说废话,今天极客时间的金牌专栏作者刘超携新专栏「趣谈Linux操作系统」强势归来。

刘超是专栏「趣谈网络协议」的作者,该专栏订阅量突破 3 万人,好评如潮。

那我们为什么要做这门操作系统基础课呢?容我啰嗦几句,看完也不耽误你买买买。

现代计算机系统是一个极其复杂的系统,如果每个程序员都需要搞懂系统所有细节,基本上就不用干别的了。管理处理器、内存、磁盘和外部设备、接口并进行优化是一件极具挑战性的工作,这得是专门的软件系统来干,于是操作系统就出现了,它的任务是为用户提供一个简单好用和清晰的计算机模型,并管理硬件设备,为应用软件提供支撑。

操作系统在系统中的位置可以这么画出来:

操作系统和普通应用软件的区别是,如果用户不喜欢某个浏览器,可以选择另一个,或者自己写一个,但是他不能自行写一个属于某个操作系统一部分的时钟终端处理程序。这个程序由硬件保护,防止用户对其进行修改。

为什么说每个程序员都应该了解操作系统知识呢?操作系统是整个计算机软件的基石,甚至我们可以说,整个现代互联网都是构建在操作系统基础之上的。深入学习操作系统的设计和实现原理,会让我们对正在构建的软硬件产品、公有云、AI 技术有更好的理解。事实上,学习操作系统,尤其是 Linux 操作系统,会对我们的工作有最直接的帮助。

1、打开 Linux 操作系统这扇门,你才是合格的软件工程师。根据 2018 年 W3Techs 数据统计,服务器端,Unix-Like OS 占近70%,其中 Linux 称得上中流砥柱;移动端,Android 也是基于 Linux 内核。macOS 和 iOS 也是 Unix-Like OS。可以说,编程世界中,Linux 是主流,不懂 Linux 的你会格格不入。更不要说大部分线上系统都是在 Linux 系统上构建的了。

2、研究操作系统内核代码,你能学到数据结构与设计模式的落地实践。在 Linux 内核里,你会看到数据结构和算法的经典使用案例。你甚至还会看到系统对并发情况保护的复杂场景。在实践中遇到问题也可以直接参考内核中的实现。

3、了解 Linux 操作系统生态,能让你事半功倍地学会新技术。Linux 最大的优点就是开放。无数优秀软件运行在 Linux 上,比如数据库 MySQL、消息队列 RabbitMQ、Kafka、大数据平台 Hadoop、虚拟化 KVM 等等,学习 Linux,你可以亲密接触大牛思想,这对于个人的技术进步和职业发展非常有益。

可以这么说,如果你想在技术之路上走得更远,找到更好的工作,做出伟大的产品,深入地学习并掌握 Linux 操作系统是必经之路。这也是极客时间邀请刘超老师基于 Linux 撰写操作系统原理的主要原因。

但是,操作系统并不好学,事实上很多人买了《现代操作系统》这本经典看完前言和引论就放下了,为啥?因为枯燥繁复,让我们从入门到放弃。

操作系统涉及了方方面面的知识,包括数据结构与算法、计算机组成原理、网络协议、编译原理等等 CS 专业的硬核知识,可以说是最复杂的软件系统。另外,理解操作系统需要理论与实践深度结合,很多具体的编程问题,比如并发、网络编程、性能调优等等,都需要你理解操作系统的工作原理。

那刘超老师怎么来讲这个课程呢,鉴于操作系统这个「大管家」的角色,他和编辑设计了这样一个故事,假设我们现在在做一家外包公司,目标是把这家公司做上市。其中,操作系统就是这家外包公司的老板。通过不断地延伸这个故事,作者会把操作系统各个知识点串起来,帮助你理解和记忆。

这一系列操作系统「故事」,相信一定会让你少走弯路,彻底掌握操作系统。而这些内容,经过历时半年的打磨,都汇总到刘超在极客时间开的第2门计算机基础课——《趣谈Linux操作系统》

该专栏的两大特色

第一个特色是“趣谈”。刘超老师会通过故事化的方式,将枯燥的基础知识结合某个场景,生动具体的讲述,帮你加深理解、巩固记忆、夯实基础。就像前面图片里描述的,我会延伸这家外包公司的故事,把它的发展分为几个阶段,并在专栏详细地逐一讲解。

第二个特色是“图解”。所谓「一图胜千言,作者会通过图谱的方式,将 Linux 复杂的概念、数据结构、流程表现出来,用一张图串起一篇文章的知识点。最终,整个专栏下来,你如果能把这些图都掌握,你的知识就会形成体系和连接。在此基础上再进行深入学习,就会如鱼得水、易如反掌。

限时 68 元超值订阅,两杯咖啡的价格帮助你彻底掌握操作系统原理。

 
MacTalk 更多文章 从阿忠被关谈网络社交礼仪 问错问题就是给自己挖坑 Java 12 都发布了,你是不是还在用 JDK 8? 2019 年 Vue 学习路线图 周末絮语:产品经理要生娃
猜您喜欢 化繁为简的企业级 Git 管理实战(二):多分支子模块持续集成 ZStack MeetUp 初次调查 又一个华为工程师倒下了。。。 运行在 Linux 平台的开源 Swift 活动报名 | 错过等一年的2018携程技术峰会,11月23日上海