文章架构

  • 简介
  • 写在前面
  • 应当具备的基础知识
  • 学习过程中的小链接
    • 1.2 万变不离其中
    • 1.4 操作系统做什么
      • 1.4.1 不要让CPU打盹
  • 日常看不下去

简介

为什么我的标题中带着日期? 在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

2021-08-09 程序员的自我修养相关推荐

  1. 程序员的自我修养(序)-量子

    本人为什么会最终想到要写这一<程序员的自我修养>以及<我的IT生活>,首先周星驰是本人很喜欢的一位演员,<喜剧之王>里的那本<演员的自我修养>,他用他特 ...

  2. 读书笔记程序员的自我修养 0

    读书笔记<<程序员的自我修养>> 0 为什么要读这本书? 可能因为自己是读硬件的缘故,对于编程,我总是尝试的了解各种表象的下面发生了什么事情.而困扰了我的许多问题,在这本书上都 ...

  3. 《程序员的自我修养》阅读笔记(一)

    这本书的初版是2009年出版的,但是其理论知识放在2021年仍然管用,十多年计算机的框架并没有发生大的变化.这本书讲解了一门编程语言是如何诞生的,通过这本书,可以理解一些操作系统和软件的运行机制和原理 ...

  4. 好书推荐 “程序员的自我修养”

    09年4月份出的,算是比较新的 (见http://www.china-pub.com/195439) 买来看是因为自己在代码跨平台移植的过程中不可避免的遇到编译与链接问题,而自己对这一大块领域又没什么 ...

  5. 在华为写了十几年代码,一个程序员的自我修养

    以下内容来自公众号逆锋起笔,关注每日干货及时送达 本文来自<华为人>徐宏伟,转载请注明出处 一天晚上,我和老婆聊天,说部门要我写个"大咖谈软件"的文章,老婆斜了我一眼, ...

  6. 程序员的自我修养笔记(持续更...)

    文章目录 程序员的自我修养 1.基础知识 2.编译和链接 2.1被隐藏的过程 2.1.1预编译 2.1.2 编译 2.1.3 汇编 2.1.4 链接 2.2 编译器做了什么 2.2.1 词法分析 2. ...

  7. 《程序员的自我修养》

    <程序员的自我修养>这本书偏底层,来来回回读了有三四遍了,每一次都有新的收获,不过很快又会忘记,所以写下了这本书从17年12月份至今的全书的笔记,留作以后自己复习. 第二章:编译和链接 源 ...

  8. 【读书笔记】程序员的自我修养总结(七)

    [读书笔记]程序员的自我修养总结(七) 标签: [编程开发] 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 说明:这是程序员的自我修养一书的读书总结,随着阅 ...

  9. 腾讯朋友力荐书籍:程序员的自我修养:链接、装载与库

    后台开发需要学习底层知识,只有底层知识掌握了,学一些中间件是信手捏来,中间件也是跑在底层的操作系统上.<<程序员的自我修养:链接.装载与库>>对学习底层知识非常有帮助,腾讯的朋 ...

  10. 程序员的自我修养,好文

    很认真的聊一聊程序员的自我修养 本文正在筹备第二版,以下是第一版主要内容 首先要谈的是,今天的话题所聊的程序员包含哪些人? 在中国,写程序,不仅仅是一种兴趣,更多的时候,还是一种普通职业和谋生工具 大 ...

最新文章

  1. 微信小程序绑定数据以及自定义指令
  2. 全卷积神经网络( FCN ):语义分割深度模型先驱
  3. 阅读替换净化规则_usmile电动牙刷头适配Y1/Y4/45度小白刷大理石一号刷P1替换激泡...
  4. WordPress插入图片无法居中的解决方法
  5. 算法(5)-leetcode-explore-learn-数据结构-字符串
  6. LeetCode 487. 最大连续1的个数 II(滑动窗口)
  7. FullCalendar 三:FullCalendar应用——读取JSON数据
  8. Android 系统(81)---Android permission 动态申请、授权
  9. c语言0可以除10吗,C语言10.0
  10. 写在通用权限管理系统销售200套,从刚开始求人家用到人家主动索取,写一下亲身感受...
  11. oracle硬解析和软解析
  12. oracle timesten tt的启动与停止
  13. 百度云盘服务器在哪,百度云盘登陆入口在哪里?
  14. 如何免费下载网页中的文档
  15. 一气之下,我抢过面试官电脑花10分钟搭建了MySQL主从架构,面试官蒙了
  16. 深度相机之iPhone X选择的秘诀和方法
  17. 《 指数基金投资指南 》by 银行螺丝钉 - 笔记 - 4 - 第二部分
  18. js重新加载页面的方法
  19. “玲珑杯”ACM比赛 Round #4
  20. 关于编程学习的心态与方法

热门文章

  1. 《数字银行的云原生架构解密》读书笔记
  2. 抖音小程序担保支付(php + uniapp)
  3. C++控制台RGB着色
  4. 3GPP是干什么的?详解3GPP组织的历史,通信行业必读!
  5. 极客日报:”腾讯起诉网站买卖微信号获赔109万;百度贴吧五年内流失九成用户;苹果计划明年推出挖孔屏iPhone
  6. Imagex用法实例
  7. 2022年起重机司机(限桥式起重机)考试报名及起重机司机(限桥式起重机)免费试题
  8. 新浪博客的等级、积分的规则
  9. PowerShell 函数(Function)
  10. 分数的约分及加减乘除运算