美文网首页
深入理解计算机读书笔记第一章

深入理解计算机读书笔记第一章

作者: 竹草席 | 来源:发表于2020-06-20 20:05 被阅读0次

typora-root-url: image

深入理解计算机系统

第一章

1.如何理解计算机数据含义

计算机信息基本都是使用0,1二进制进行数据保存,本身不具有特殊含义。这些数据的解析需要配合上下文环境,比如:ascII码,就是用固定的二进制转换成的10进制代表不同字符含义。java字节码,每一个class文件,也都是二进制组成,如果要 解析就要按字节码文件格式按长度解析(class文件开头4个字节固定魔数,后面为版本号)

2.C程序文件的编译过程

源程序文件通过预处理器进行文件内容引用的替换后生成 点 i 程序文件

点 i 文件通过编译器编译生成点 a 的汇编文件

点 a 文件通过汇编器生成点 o 的可重定位目标程序

点 o 文件最后通过链接器生成最终的目标可执行程序

在此过程中有很多的知识点,后面章节会详细介绍

3.计算机系统硬件组成

程序在执行过程中,需要经过很多地方,进行多次拷贝。导致执行效率不高。为了进行优化引入了高速缓存的概念,加快执行速度。(我们平时写代码时也会加入缓存来提高一定的效率,个人认为他们概念有类似的地方:代码里用缓存空间换时间,缓存太大,虽然时间快但是,空间成本高。硬件上高速缓存数据快,但是成本高。都需要找到一个合理的平衡点)

4.操作系统管理硬件和系统间通信

进程是操作系统对一个正在运行的程序的一种抽象。一个进程可以由多个线程执行单元组成。

虚拟内存是一个抽象的概念,它为每一个进程提供了一个抽象,即每个进程都在独占的使用主存。

文件是一个简单而精致的概念非常强大,它向应用程序提供了一个统一的视图,来看待系统中可能含有的所有各式各样的I/O设备。

系统间一般通过网络进行通信。

5.Amdahi定律,并发和并行,虚拟机

系统是硬件和系统软件互相交织的集合体。只有其中一小块的性能提升,并不会给整个系统带来很大的提升。想要显著加速整个系统,必须提升全系统中相当大的部分速度。

并发是一个通用的概念,指一个同时具有多个活动的系统

并行指的是用并发来使一个系统运行得更快。并行可以在计算机系统的多个抽象层次上运行。重要的三个层次:

线程级并发(超线程或称为同时多线程,是一项允许一个cpu执行多个控制流的技术。它涉及cpu某些硬件有多个备份,比如程序计数器和寄存器,其他的只有一份)

指令级并行

单指令,多数据并行

虚拟机它提供对整个计算机的抽象,包括操作系统,处理器,程序。

相关文章

网友评论

      本文标题:深入理解计算机读书笔记第一章

      本文链接:https://www.haomeiwen.com/subject/ubzctktx.html