合适,但是有前提,你得把几门先修课学完。
大一一开学一个月之内自学完C语言,这个难度还好,语法看这个
一个月到一个半月左右,用c从头实现数据结构
算法导论比这本书深入一点广泛一点,但是正常这个时候你还在学微积分,还没学概率论或者正在学,算法导论里面的有点困难,可以后面学完再看。
刷完这个之后,
就去看组成原理和操作系统的先修课csapp,给你两个月,这里面包含部分寒假了,别出去扯淡,对着计算机往死里撸
处理器那一章可以适度略过,因为你刷系统编程不太涉及处理器内部的东西,有操作系统帮你隔离好了,链接那块这本书写的不太好,要是搞不明白可以先过,不太影响全局弹幕到时候你可以再回来学习的
然后就得正经整点操作系统了
看这本入门,小两个月吧,这就开春了
这是这个系列最新版,还没有中文。里面作者课后题手把手教你怎么往linux内核加模块啥的。包括一些内核的设计原理和调度算法啥的都有讲,但是比较笼统的不过也够你后面刷系统编程了。
接着就是网络通信,一个月吧,这本书socket通信用的python,中间学习python再给你半个月
python基础看这本
如果你不用新特性足够了,要是要使用新特性,就去官网查,下载新版本解释器
然后差不多五月份了,你就可以在进大学没有计算机基础的情况下,学习linux系统编程了,毕竟你还得上课,给你两个月时间
另外书里面的代码有部分是需要更改的,可以对比一下这本书的网站,http://man7.org/tlpi里面的代码做一定修改使用。
剩下的一点时间你就去复习准备期末考试吧。顺便假期找个实习或者实验室,毕竟此时的你如果在老鸟的指导下,可以出点活了,去实践一下也好。
史蒂文斯的三件套加上tcp/ip协议有空也可以看一下,纯c实现,你值得拥有。至于有人说鸟哥的私房菜啊,在你学会了原理再去看那是砍瓜切菜一般,你要是在用linux的时候可以查阅当工具书或者直接用搜索引擎就行。所以大一完全时间够用。别听有的人说什么大四,大四的你要么在学术上发顶会了要么在产业界开始做产品了,刚学会可还行?干就完了,不需要什么奇淫技巧,平推硬刚就行。这是我自己亲自干过一遍,所以你懂的 。至于有的人说的汇编,这本书就基本没怎么用汇编,用到的也浅,就什么中断切到内核转到对应函数例程啥的,不是很复杂,你有csapp的底子足够用了。另外这本书中文翻译的还可以,推荐一看。
这块不太用c++或者oop,对软件工程原理啥的吧也不是要求特别高,编译原理也用不了太多,你就当黑盒用就行。实在不行查查博客就够用了。那些东西都可以放在大二学的。所以前面不太推荐你硬搞这些,但是如果学有余力,那就整。
刷完之后,你倒可以用系统编程做个系统工具小软件啥的,我之前工作的公司偶尔就会觉得直接摆楞底层工具太不方便,就用脚本集成系统接口或者加个小界面方便工作,放心这些东西对于此时的你都不是问题。ᥬ ᭄
提醒一下
即使是网站上面更新的代码,但是如果你用比较新的系统比如ubuntu20,比较新的编译器和语言标准,里面的一些代码事不能直接跑通的,需要修改哦。不过不是多大难事,你要是真懂操作系统原理和编程,改起来不太费劲的。
算了,不说了,有客户下单,我去送外卖了!