深入理解计算机系统-读书笔记(1)
来源:互联网 发布:ecshop的app源码 编辑:程序博客网 时间:2024/06/05 09:11
首先这是一本神书,如果能够学明白50%以上,我想我就能成为大神吧。为了这个目标,决定好好努力。笔记是学习的重要方法和工具,所以开始记笔记。
这本书是以程序员的视角(perspective)去介绍计算机系统的。具体分为以下三个部分:
1. advanced language ->mid language(assemble)
1.1 通过预处理器生成.i文件,就是把include的头文件添加到source code中。具体怎么执行,还需要进一步学习。
1.2 通过编译器将.i文件转化成汇编文件(如.as文件)。
2. how to explain & execute mid language
2.1 通过汇编器生成可重定位目标.o文件。
2.2 通过链接器将多个.o文件加工为可执行目标文件.exe(win上面)。
3. how the part of computer system influence the efficiency of programm?
其中,很巧合的是,1和2都是分为两大步骤实现的。在这里,关于最前面的部分,以后每次都会看一点。而不是一次看完。
下面,开始学习第一章
CH1 Computer Systems:Programmer's Perpective
将会学习一下实用的技巧:
1. avoid digital mistake
2. optimize c program
3. know the compiler how to make process call
4. avoid safe bug, such as buffer overflow
1.1 信息= bits+context
source code save asbyte array in text. Every byte-> integer,every integer->char.
只由ASCII字符组成的文件称为文本文件。也就是bytes可以通过ascii码来解码成有意义的内容。
相同的bytes,在不同的context下,表示的对象可能不同(例如int,float等等)。不同的context对应的是不同的解码方式。
1.2 程序被其他程序翻译成不同的格式
1.3 了解编译系统是如何工作的是非常有益处的
1. optimize code
2. 理解链接时的错误
3. 避免buffer overflow.
1.4 CPU读并解释存储在内存中的指令
将文件输入到命令行解释器(shell)中。为什么能够执行呢?这部分我以windows来理解,比如输入cmd.exe,执行命令行程序。是由于PATH中包含了该cmd.exe的目
录,然后把目录和文件名拼接在一起,执行该程序。
- 《深入理解计算机系统》读书笔记(1)
- 深入理解计算机系统-读书笔记(1)
- 《深入理解计算机系统》读书笔记1---计算机系统漫游
- 《深入理解计算机系统》读书笔记1
- 读书笔记(1)深入理解计算机系统
- 深入理解计算机系统(读书笔记)
- 深入理解计算机系统(读书笔记)
- 深入理解计算机系统(读书笔记)
- 《深入理解计算机系统》读书笔记
- 《深入理解计算机系统》读书笔记
- 《深入理解计算机系统》读书笔记
- 《深入理解计算机系统》读书笔记
- 深入理解计算机系统--读书笔记
- 《深入理解计算机系统》读书笔记
- 读书笔记----深入理解计算机系统
- 《深入理解计算机系统》读书笔记
- 深入理解计算机系统读书笔记
- 深入理解计算机系统(第二版)读书笔记
- 使用/dev/kmem读取内核变量的值
- 剪刀石头布(完整版) 借鉴
- codeforces 585C题解
- Maven中常用命令简介与区别
- sicily 1544 Integer Generator
- 深入理解计算机系统-读书笔记(1)
- RMI server不能获取client对象解决
- VS2010下安装和使用boost库
- 好奇怪的模型和表结构
- HBase-scan API 通过scan读取表中数据
- 最短路系列
- 使用Swith遇到的问题
- 【译】17个提升iOS开发效率的必用工具
- JSR 303 - Bean Validation 介绍及最佳实践