开发人员 Linux 学习路线


prtyaa
prtyaa 2023-12-25 16:01:15 48367
分类专栏: 资讯

大家都知道,高等教育跟社会存在某种程度的脱节,具体体现在什么地方呢?

我想 Linux 应该是其中的之一。

我之前调查过,国内很少有大学把这门课程当成必修课来学习的,即使有,也是选修课。选修课嘛,大家都知道的,学分权重低,不占 GPA,所以这导致无论是学生还是老师都不够重视。

培训机构就完全不同了,社会需要什么职位,它就专门培养什么人才,所以还真别歧视人家北大青鸟,山东蓝翔出来的学生,就动手能力而言,他们有的时候还真是甩那些只懂理论的大学生几条街。

事实上,Linux 在社会中应用非常广泛,用 Linux 作为开发环境的职位不计其数,很多开发类的岗位在招聘的时候也是动不动就要求熟悉 Linux。

我在学校的时候从未系统地学习过 Linux,当时也并不清楚它的重要性,后来从实习到正式工作,先后也呆过几家公司,这才发现,居然每一家都会用到 Linux 开发环境。

也只有当你去面试的时候才会发现,学习成绩根本不是面试官考察的重点,编程能力,各种设备和工具的操作能力,还有项目经验才是最具吸引力的部分。

可以说,Linux 是就业市场上很大一块敲门砖。

所以,我建议计算机、通信、电子、自动化、微电子等工科学生都要好好学习 Linux,不要求每一个人都学习的很深入,但是 Linux 基本操作,编译和开发环境至少得熟悉。



下面是我总结的开发人员 Linux 学习路线,希望对大家有所帮助。



关于 Linux

Linux 因其开源,免费,可裁剪,被应用到很多领域,尤其是嵌入式设备上。

Android 系统内核也是基于 Linux 的。

另外还有各种服务器和工作站也是用的 Linux。

什么是嵌入式设备?

手机、平板,路由器,机顶盒,MP3, 物联网智能产品等。



Linux 学习路线

这是我画的一幅图,大家可以按此路线循序渐进地学习。

不过需要说明的是,第五项驱动开发和第六项嵌入式系统开发是并列的,也就是说,学习完内核之后,你可以选择从事不同的领域,当然嵌入式开发有时会包含驱动开发。

还有就是嵌入式开发包括硬件,软件和系统开发,假如只做硬件的话,你没有必要按照上述路线进行,系统级开发的话,前面的是必备。

 



    1. 熟悉 Linux 系统,基本命令

      安装 Linux 系统,学会基本操作,熟悉文件系统,shell 脚本以及常用命令。

 

    1. 了解程序开发过程

      搭建开发环境,了解 Linux 上程序开发过程。

      学会使用文本编辑工具 Vim,编译工具 gcc, as, 连接工具 ld, 调试工具 gdb, make 工具,会写 makefile。

      用 C 语言实现并编译自己的测试程序。

 

    1. 尝试系统编程

      试着在 Linux 上用 C 语言进行系统编程,

      其中需要调用 Linux 系统库函数 (API)。

      例如,实现一个需要进行网络通信、操作文件的多线程/进程程序。

      以此深入了解 Linux 系统运行机制。

 

    1. 学习内核

      上面学的差不多了,感兴趣的同学可以接着学习 Linux 内核。

      Linux 内核模块如下图


      这一部分内容比较深,能把它学透的基本就是大牛了,写个 OS 就不在话下了。

 

    1. 驱动开发

      从这里开始,就不是必须的了。

      有兴趣的朋友可以深入学习。

      但是学习驱动开发无疑要把前面的都要学好。

 

  1. 嵌入式系统开发

    学好 Linux 是嵌入式系统开发的基础。

    嵌入式开发包括很多方向,有硬件、软件,以及系统级别。

    硬件要学单片机,ARM、MIPS,DSP 等各种 MCU,Verilog, RTL, 具体就不多说了,跟 Linux 关系不太大。

    软件的话,需要了解交叉编译,以及嵌入式环境下 C 语言的特殊用法,例如 volatile、 位操作、寄存器操作、大小端、程序跳转等。

    系统级,要了解 Linux 内核裁剪、移植、编译、调试,还有 Bootloader 、设备驱动等。



有人让我推荐相关的学习书籍,其实我觉得看什么书本身不是问题,很多书的内容都差不多的,只要按照路线或者体系进行学习,就不会有太大偏差。

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=30577
赞同 0
评论 0 条
prtyaaL2
粉丝 1 发表 2553 + 关注 私信
上周热门
如何使用 StarRocks 管理和优化数据湖中的数据?  2980
【软件正版化】软件正版化工作要点  2897
统信UOS试玩黑神话:悟空  2872
信刻光盘安全隔离与信息交换系统  2758
镜舟科技与中启乘数科技达成战略合作,共筑数据服务新生态  1291
grub引导程序无法找到指定设备和分区  1262
华为全联接大会2024丨软通动力分论坛精彩议程抢先看!  171
2024海洋能源产业融合发展论坛暨博览会同期活动-海洋能源与数字化智能化论坛成功举办  169
点击报名 | 京东2025校招进校行程预告  165
华为纯血鸿蒙正式版9月底见!但Mate 70的内情还得接着挖...  164
本周热议
我的信创开放社区兼职赚钱历程 40
今天你签到了吗? 27
信创开放社区邀请他人注册的具体步骤如下 15
如何玩转信创开放社区—从小白进阶到专家 15
方德桌面操作系统 14
我有15积分有什么用? 13
用抖音玩法闯信创开放社区——用平台宣传企业产品服务 13
如何让你先人一步获得悬赏问题信息?(创作者必看) 12
2024中国信创产业发展大会暨中国信息科技创新与应用博览会 9
中央国家机关政府采购中心:应当将CPU、操作系统符合安全可靠测评要求纳入采购需求 8

加入交流群

请使用微信扫一扫!