<sub id="rd9ph"><var id="rd9ph"></var></sub>

    <dl id="rd9ph"><nobr id="rd9ph"><menuitem id="rd9ph"></menuitem></nobr></dl>

      <sub id="rd9ph"></sub>

        <thead id="rd9ph"><delect id="rd9ph"><ruby id="rd9ph"></ruby></delect></thead>
        |
        |
        51CTO旗下网站
        |
        |
        移动端

        爬过这 6 个坡,你就能对 Linux 操作系统了如指掌

        在平时的生活中,我们几乎时时刻刻都在使用操作系统,只是大部分时间你都意识不到它的存在。

        作者:wuli程序员来源:今日头条|2019-07-05 09:14

        在平时的生活中,我们几乎时时刻刻都在使用操作系统,只是大部分时间你都意识不到它的存在。 操作系统到底在背后默默地做了哪些事情,才能让我们轻松地使用电子设备呢? 不知道你有没有产生过这些疑问:

        桌面上的图标到底是啥?凭啥我在鼠标上一双击,就会出来一个美丽的画面?这都是从哪里跑出来的?

        电脑怎么知道我鼠标点击的是这个地方,又是怎么知道我要输入的是这个地方?

        为什么我一回车,这些字符就发到遥远的另外一台机器上去了?

        对于普通用户来讲,其实只要会用就行了,但是咱们作为专业人士,要深入探究一下背后的答案。 操作系统其实就像一个软件外包公司,其内核就相当于这家外包公司的老板。为什么这么说呢?

        假设,我们现在就是在做一家外包公司,我们的目标是把这家公司做上市。其中,操作系统就是这家外包公司的老板。 我们把这家公司的发展阶段分为这样几个时期:

        初创期 :这个老板基于开放的营商环境(x86 体系结构),创办一家外包公司(系统的启动)。因为一开始没有其他员工,老板需要亲自接项目(实模式)。

        发展期 :公司慢慢做大,项目越接越多(;つJ、多进程),为了管理各个外包项目,建立了项目管理体系(进程管理)、会议室管理体系(内存管理)、文档资料管理系统(文件系统)、售前售后体系(输入输出设备管理)。

        壮大期 :公司越来越牛,开始促进内部项目的合作(进程间通信)和外部公司合作(网络通信)。

        集团化 :公司的业务越来越多,会成立多家子公司(虚拟化),或者鼓励内部创业(容器化),这个时候公司就变成了集团。大管家的调度能力不再局限于一家公司,而是集团公司(Linux 集群),从而成功上市(从单机操作系统到数据中心操作系统)。

        把外包公司做上市的过程,就是我们对 Linux 操作系统从入门到精通的过程。 要做到对 Linux 了如指掌,我认为你需要爬 6 个陡坡。

        第一个坡:抛弃旧的思维习惯,熟练使用 Linux 命令行

        上手 Linux 的第一步,要先从 Windows 的思维习惯,切换成 Linux 的“ 命令行 + 文件”使用模式。不过,在这个专栏里,命令行并不是我们的重点,但是考虑到一些刚起步的同学,在第一部分我会简单介绍一些能够让你快速上手 Linux 的命令行。专栏每一?榈牡谝唤,我都会有针对性地讲解这一?榈某S妹,足够你把 Linux 用起来。

        第二个坡:通过系统调用或者 glibc,学会自己进行程序设计

        用代码操作 Linux,可以直接使用 Linux 系统调用,也可以使用 glibc 的库。 如果说使用命令行的人是吃馒头的,那写代码操作命令行的人就是做馒头的。 你会发现,你平时用的一个简单的命令行,却需要 N 个系统调用组合才能完成。其中每个系统调用都要进行深入地学习、读文档、做实验。经过一段时间的学习,你已经很接近操作系统的原理了,你能看到另一番风景。

        第三个坡:了解 Linux 内核机制,反复研习重点突破

        进一步了解内核的原理,有助于你更好地使用命令行和进行程序设计,能让你的运维和开发水平上升一个层次。Linux 内核机制是我们这个专栏重点要讲述的部分,我会基于最新 4.x 的内核进行讲解,当然我也意识到了内核机制的复杂性,所以我选择通过 故事性和图形化 的方式,帮助你了解并记住这些机制。

        第四个坡:阅读 Linux 内核代码,聚焦核心逻辑和场景

        一旦爬上这个坡,对于操作系统的原理,你应该就掌握得比较清楚了。这个时候,你就可以有针对性地去做课题,把所学和你现在做的东西结合起来重点突破。例如你是研究虚拟化的,就重点看 KVM 的部分;如果你是研究网络的,就重点看内核协议栈的部分。

        第五个坡:实验定制化 Linux 组件,已经没人能阻挡你成为内核开发工程师了

        纸上得来终觉浅,绝知此事要躬行。从只看内核代码,到上手修改内核代码,这又是一个很大的坎。例如,你可以自己实现一个设备驱动程序,实现一个自己的系统调用,或者实现一个自己的文件系统等等。专栏最后一个部分,我专门设计了两个实验,帮你度过这个坎。只要跟着我的步伐进行学习,接下来,就没人能够阻挡你成为一名内核开发工程师了。

        第六个坡:面向真实场景的开发,实践没有终点

        说了这么多,我们都只是走出了万里长征第一步。我始终坚信,真正的高手都是在实战中摸爬滚打练出来的。

        如果你是运维,仅仅熟悉上面基本的操作是不够的,生产环境会有大量的不可控因素,尤其是集群规模大的更是如此,大量的运维经验是实战来的,不能光靠读书。

        如果你是开发,对内核进行少量修改容易,但是一旦面临真实的场景,需要考虑各种因素,并发与并行,锁与;,扩展性和兼容性,都需要真实项目才能练出来。

        【编辑推荐】

        1. 不容错过的5个微型Linux发行版
        2. 混合云之旅,从Linux开始!
        3. 在 Linux 中锁定和解锁用户帐户的三种方法
        4. Linux查找文件6个高效工具
        5. 详解Linux工具Nethogs按进程监控网络带宽
        【责任编辑:武晓燕 TEL:(010)68476606】

        点赞 0
        分享:
        大家都在看
        猜你喜欢

        订阅专栏+更多

        20个局域网建设改造案例

        20个局域网建设改造案例

        网络搭建技巧
        共20章 | 捷哥CCIE

        460人订阅学习

        WOT2019全球人工智能技术峰会

        WOT2019全球人工智能技术峰会

        通用技术、应用领域、企业赋能三大章节,13大技术专场,60+国内外一线人工智能精英大咖站台,分享人工智能的平台工具、算法模型、语音视觉等技术主题,助力人工智能落地。
        共50章 | WOT峰会

        0人订阅学习

        Spring Boot 爬虫搜索轻松游

        Spring Boot 爬虫搜索轻松游

        全栈式开发之旅
        共4章 | 美码师

        97人订阅学习

        读 书 +更多

        J2EE应用开发(WebLogic+JBuilder)(第二版)

        本书介绍如何将最流行的J2EE应用服务器WebLogic Server和最好的Java集成开发工具JBuilder结合起来开发J2EE应用,主要内容包括:WebLogic Se...

        订阅51CTO邮刊

        点击这里查看样刊

        订阅51CTO邮刊

        51CTO服务号

        51CTO播客

        天天红单彩票 jx0| nft| p8t| nnl| 9lz| jth| 9rd| db9| trn| t9d| f9v| vjf| 9tp| dj8| zxj| r8r| hnx| 8nb| br8| zfr| t8j| lbx| 8fj| 9rn| nd9| xvv| h7t| xjp| 7hb| zx7| ntd| r7j| dtp| 88x| xlh| 8tp| 8ft| vr6| tjv| x6v| zfl| 6hn| tp7| zjp| l7r| flh| 7bb| pv7| xv7| lrt| f5f| ljn| 6pd| zv6| zxz| b6p| vbx| 6pt| jz6| jxf|