2021-08-09 程序员的自我修养

简介

为什么我的标题中带着日期? 在30岁的这一天,我想好好弥补之前没有看完的没有解决完的那些很具体很具体的问题。带着一颗普普通通的心继续前行,软件工程师的未来依旧在路上。

这一切的开始,要从俞甲子老师的《程序员的自我修养》谈起。而这,正是我标题另一半的来源。

写在前面

读了俞老师的序言一二三,深感振奋。他们的语言朴实无华,却深深的达到我的心里。是啊,什么才是我应该注意的问题啊?真的是值得我去思考的问题。
由于大学研究生时只顾贪玩,而工作的这三年也是马马虎虎。所以日常工作就感到棘手。这本书也是怀着这样的情怀,那我为何不现在立刻马上的看起来呢?正如著者所说:

当你的程序无法启动的时候,你可能会在脑海中多设想一种可能性;当你的代码链接失败的时候,你可能会更快地意识到问题的所在;当你程序发生非法操作的时候,你可能不至于面对微软的错误报告毫无头绪。

我相信不止是我有这种感觉。总是在表面上工作,无法做到知其然,知其所以然。很多时候,是我惯有的思维影响了我。很多时候,是自己制定计划的时候,这个想看,那个想学。贪多又吃不下。有破才有立,我尝试告诉自己,慢慢来,一个一个来,最起码要坚持。正如著者所说的这段话,对我的改变不亚于我已经30岁了。

我始终认为对于一个问题比较好的描述方式,是由一个很小很简单的问题或示例入手,层层剥开深入挖掘,不仅探究每个机制“怎么做”,而且要理解它们“为什么这么做”,力求深入浅出、图文并茂。

我想,这就是我打算重新拾起学习勇气的源头。

应当具备的基础知识

这本书中提到的基础知识包括对C/C++编程语言的基本了解、x86汇编语言基础、操作系统基本概念及基本编程技巧和计算机系统结构的基本概念

学习过程中的小链接

1.2 万变不离其中

在本书里面,我们将计算机的范围限定在最为流行、使用最广泛的PC机,更具体地讲是采用兼容x86指令集的32位CPU的个人计算机。

x86勾起了我的兴趣。x86和x64我一直区分不开,而为什么x86是32位的,它咋不叫x32呢? 度娘的本事大:x86得名于Intel的8086系列处理器,这些处理器都是以86结尾,故称为x86,而Inter称之为IA-32。而x86最一开始,也不是32位的,而是16位点的。而x64实际的全称是x86-64,最初由AMD提出的,也称为AMD64。x86从16位到32位是在原有的架构基础上继续进行修改,而x86-64则是新架构但兼容x86。

当有一天你需要在MIPS指令集的嵌入式平台上做开发,或者需要为64位的Windows或Linux开发应用程序的时候,你很快就能找到它们之间的相同之处。

MIPS指令集勾起了我的兴趣。度娘的本事大:CPU两大派系:精简指令集RISC,复杂指令集CISC。
RISC中,强大的架构有:定位于嵌入式系统的MIPS架构。
CISC中,强大的架构有:定位于电脑的x86/x64架构,定位于手机平板的ARM架构。
链接1: (计算机体系结构)MIPS指令集结构.
链接2: MIPS之指令集介绍.

在这里插入图片描述

这张图将计算机硬件结构以最原始的方式告知给后人。计算机发展的再快,也只是这三部分最重要。CPU、内存和I/O控制。换言之,计算机的发展,肯定是由于某些原因造成的。但其基本的部分还是不变的。

1.4 操作系统做什么

1.4.1 不要让CPU打盹

多任务(Multi-tasking)系统
进程(Process)
抢占式(Preemptive)

啥是进程?度娘本事大:

如果操作系统分配给每个进程的时间都很短,即CPU在多个进程间快速地切换,从而造成了很多进程都在同时运行的假象。目前几乎所有的现代的操作系统都是采用这种方式,比如我们熟悉的UNIX、Linux、Windows NT,以及 Mac OS X等流行的操作系统。

熟悉的UNIX、Linux、Windows NT,以及 Mac OS X,这些都是啥呢?度娘本事大:
链接1: Linux系统简介.
链接2: Linux和UNIX的关系及区别(详解版).
链接1和链接2是同一个人写的。强行理解UNIX和Linux的关系和区别,就看链接2。

日常看不下去

笔记到34页
阅读到33页,1.4,8/9
阅读到46页,1.6,8/2518

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值