《深入理解计算机系统》读书笔记1
1.1信息就是位+上下文
只由ASCLL字符构成的文件称为文本文件,所有其他文件都称为二进制文件。
系统中的所有的信息都由一串比特表示。区分不同数据对象的唯一方法是读到这些数据对象时的上下文。
1.2程序被其他程序翻译成不同的格式
预编译,编译,汇编,链接。
hello.c源程序---预处理--->
hello.i修改后的源程序---编译器--->
hello.s汇编程序---汇编器---->
hello.o可重定位目标程序(二进制)---链接器--->
hello可执行程序(二进制)。
详细过程:
【Linux】编译的四个步骤_编译linux_曦樂~的博客-CSDN博客
1.3了解编译系统如何工作是大有益处的
了解编译系统的好处:1.优化程序性能2.理解链接时出现的错误3.避免安全漏洞。
1.4处理器读并解释储存在内存中的指令
shell命令解释器:输出提示符,等待输入命令行并执行。若命令行第一个单词不是内置的shell命令,shell会假设它是一个可执行文件的名字,加载并执行这个文件。
1.4.1系统的硬件组成
1.总线
贯穿整个系统,携带信息字节并传递。传递定长字,字中的字节数为字长。字长:4个字节(32位),8个字节(64位)。
2.I/O设备
系统与外部世界联系的通道。它们通过控制器或适配器与I/O总线相连。
如:输入设备:键盘、鼠标,输出设备:显示器,存储设备:磁盘。
3.主存
临时存储设备,存放执行的程序和程序处理的数据。由一组动态随机存取存储器(DRAM)芯片组成。是一个线性的字节数组,每个字节都有其唯一的地址。
4.处理器
中央处理单元(CPU)的简称,用于执行(解释)主存中的指令。核心是一个一个字大小的寄存器,PC(程序计数器), PC指向主存中该执行的指令,执行完后PC+1指向下一条该执行的指令。
1.4.2运行hello程序
shell等待输入命令,./hello后将字符读入寄存器->内存;
输入完命令后shell执行指令加载hello文件,文件中的代码和数据:磁盘->主存;
处理器执行main:"hello,world\n"主存->复制到寄存器文件->复制到显示设备;
1.5高速缓存至关重要
高速缓存存储器(高速缓存,cache),存放处理器近期可能会需要的信息。解决处理器快而磁盘->主存->处理器内容多复制速度慢的问题,提升程序的性能。
1.6存储设备形成层次结构
存储设备容量越大,访问速度越慢,每字节的造价越便宜。层次结构使上一层的存储器做低一层存储器的高速缓存,分层提高程序的性能
1.7操作系统管理硬件
操作系统:相当于应用程序和硬件之间插入的一层软件。
两个基本功能:
·1.防止硬件被失控的应用程序滥用;
·2.向应用程序提供简单一致的机制来控制复杂而又通常大不相同的低级硬件设备。
提供三个基本的抽象:
1.7.1进程
进程:操作系统对一个正在运行的程序的一种抽象。
并行:多个进程同时运行,每个进程好像独占使用硬件。
并发:进程之间指令交错进行,通过处理器在进程间切换来实现(上下文切换)。
上下文:进程运行所需的所有状态信息。
内核:管理从一个进程到另一个进程的转换。内核时操作系统代码常驻主存的部分,是管理全部进程所用代码和数据结构的集合。
程序需要操作系统的操作->系统调用指令->控制权给内核->内核执行操作->返回应用程序。
1.7.2线程
线程:进程的执行单元。多线程比多进程更容易共享数据,更快更高效。
1.7.3虚拟内存
虚拟地址空间:每个进程看到的内存都是一致的。
【Linux】复制进程、进程地址空间以及写实拷贝_曦樂~的博客-CSDN博客
1.7.4文件
文件就是字节序列,所有设备都可以看成文件。
《深入理解计算机系统》读书笔记1相关推荐
- [你的灯亮着吗]读书笔记
把自己当成比人:把别人当成自己:把别人当成别人:把自己当成自己 动手去解决问题之前,好好想想问题的来源 如何站在各个角度来看待面临的问题,以能够知道其真正所在:如何去尝试那个最难解决真正问题的方法,并 ...
- 你的灯亮着吗阅读笔记之一
定义问题: 我们分析和解决问题时,首先要明确地定义问题.如书所云:"问题其实就是你期望的东西和你体验的东两之间的差别".我们需要搞清楚"问题是什么"和摆在你眼前 ...
- 你的灯亮着么阅读笔记3
第五章问题从哪来的.我们要探寻问题的根源,而问题的根源往往出现在自身.因此我们要时常的反思自己,是否在团队中拖了后腿,而不是一味的去指责队友对自己的埋怨.只有发现自身的问题,才能改正自我. 第六章我们 ...
- 《你的灯亮着吗》 读书笔记三
紧接<你的灯亮着吗>读书笔记二 4.这是谁的问题? 当别人可以妥善解决自己的问题时,不要越俎代庖,如果这是他们的麻烦,就让它成为他们的麻烦,如果一个人处于解决问题的位置,却并不受问题困扰, ...
- 《你的灯亮着吗》读书笔记3
终于读完了<你的灯亮着吗>,其实从总体来看,这本书给了我很大的启示. 在理解问题之前,至少要做好准备接受三种可能的出错情况:或许还可以改变问题的表述来获得不同的解决方法:当你沉迷于寻找问题 ...
- 《你的灯亮着吗》读书笔记1
你的灯亮着吗? 上帝说:"要有光."于是俺挑了这本只有50多页的书,在剩下的5天里,可以保证读完剩下的三章. 前几天我一口气看了三章,觉得这本书和<梦断代码>相比,上了 ...
- 《你的灯亮着吗?》读书笔记
第3章 你的问题是什么? 问题就是理想状态和现实状态之间的差别. 噢,年轻人,你不需要自责的.等你到了我这个年纪,就知道我们在生活中重要的事情面前是多么无能为力了. 第6章 比利反思投标案 即使问题已 ...
- 202318读书笔记|《芭蕉·芜村·一茶:俳句三圣新译300》——樱花——让一整个春夜亮起来!
202318读书笔记|<芭蕉·芜村·一茶:俳句三圣新译300>--樱花--让一整个春夜亮起来! <芭蕉·芜村·一茶:俳句三圣新译300>诗歌,词,短歌,俳句我都喜欢,读起来轻松 ...
- 读书笔记第四讲:《百万级并发商品服务架构解密》丁鸣亮
本文是读书笔记第四讲:网易考拉海购商品中心2017年商品中心架构,百万级并发商品服务 架构解密,作者:丁鸣亮 文章目录 1.前言:电商平台的商品服务 2.考拉:商品服务的"黑历史" ...
- 《你的灯亮着吗》阅读笔记
读了<你的灯亮着吗>,使我对问题的解决有了更深层次的见解.这本书告诉了我当面对问题时要发现问题的真正所在. 这本书首先提出了几个主题: 1)动手去解决问题之前,好好想想问题的来源: 2)如 ...
最新文章
- css中关于居中的那点事儿
- 命令注入工具Commix
- t110ii装系统_DELL T110 II如何安装server2003操作系统
- Hive常见面试问题(持续更新)
- Objective-C 深复制和浅复制与NSCopying协议
- apache的日志切割
- ModbusTCP协议
- 日常学习笔记-RGB配色和颜色转换
- android从assets文件下面复制文件
- 看地形地貌下载什么地图?看地形地貌软件介绍
- java.lang.NoClassDefFoundError:org.ksoap2.seri...
- GIS学习之路—GIS产品
- 什么是ECS框架?讲解 + 实战带你入门ECS框架
- 数学建模:线性规划—奶制品的生产销售计划模型 (Python 求解)
- C# Span 入门
- 真正的免费云时代来临,免费1T全能空间提供1T免费全能空间申请,
- Staring....
- java:javap查看class文件的JDK版本塈JDK版本与major version(45~55)的对照表
- java 象限分析_四象限分析法
- 什么叫数字化服务-数字化转型网