慢慢的也开始看《深入理解计算机系统》,才发现经过嵌入式开发的学习,慢慢的对计算机系统有了一个宏观的认识,再次看《深入理解计算机系统》的时候,很多东西都是恍然大悟的感觉,也许以后对于编程的理解也会有一个新的认识,五个月来,从开始的应用程序使用到后来的应用程序开发,让我对于开发有了一个新的认识,未来的目标应该是做一个研发者吧,不过在做研发之前,希望能够尽快把基础都打好。下面是上周末看书的随手摘抄的一些理论,属于最基本的东西,但再次看来,理解起来的确是不一样。

如果shell收到的不是一个命令,则假定这是一个可执行文件,并对其执行。

处理器操作围绕着主存、寄存器文件和算术逻辑单元进行。

指令集结构和微体系结构: 指令集结构是指每条指令的执行效果,后者是指处理器如何实现的。

DMA 即直接存储器存取,数据可以不通过处理器而直接从磁盘到达主存。

程序加载:把程序从磁盘上复制到主存 运行,再从主存复制到处理器

处理器上的L1是指一个高速缓存设备,访问速度和寄存器差不多。 访问L2的速度通过一条特殊的总线连接到处理器,访问L2的速度的时间要比L1高速缓存的时间长5倍,但这仍然要比访问主存快5到10倍, L1和L2的高速缓存是通过静态随机访问存取器(SRAM)的硬件技术实现的。 现在的处理器都有L1 L2 L3三级缓存,系统可以获得一个很大的存储器,通过高速缓存的局部性原理,即程序具有访问局域里的数据和代码的趋势。

存储器的层次结构,从上到下,设备变的访问速度越来越慢,容量越来大,造价越来越便宜,寄存器在最底部,称作L0,接下来就是L1,L2,L3三级缓存,接下来是主存,在往下是磁盘,再往下就是远程存储 存储器的层次结构主要思想就是上一层的存储器作为低一层存储器的高速缓存。比如寄存器就是L1的高速缓存,L1是L2的高速缓存。。。。。分布式文件系统所对应的高速缓存是本地磁盘

操作系统的两个基本功能(1)防止硬件滥用;(2)提供简单的机制; 操作系统通过进程、虚拟存储器和文件来实现上面的功能。 文件是对IO设备的抽象表示,虚拟存储器是对主存和IO设备的抽象,进程是对处理器、主存和IO设备的抽象表示。

上下文切换: 操作系统把控制权从当前进程转换为另一个进程的时候,就会进行上下文切换,包括PC和寄存器的值,以及主存的内容。 切换时,保存当前上下文,进入下一个上下文。 比如: shell进程和hello进程:分析。

虚拟存储器-》虚拟地址空间 从低地址到高地址,依次是代码区和数据区,堆、共享库、栈、内核虚拟存储器 内核虚拟存储器是用来存储内核的,因为内核要一直驻留在内存中的。这个区域是不可见的。应用程序不允许读写,只能通过系统调用来实现的。 虚拟存储器基本思想,把一个进程虚拟存储器的内容存储在磁盘上,然后用主存作为磁盘的高速缓存。

并发使系统运行更快,并行使计算机系统在多个抽象层次的上运用

I7处理器的图(换了I7处理器之后到现在才明白的我的I7处理器比其他处理器为什么快)

多核、超线程

单指令多数据SIMD  一个指令产生多个可以并行执行的操作。

总结关于计算机系统提供的一些抽象。三个基本抽象,文件  进程 和 虚拟存储器

虚拟机的思想,一个计算机可以运行多种不同的操作系统。

不知道为这些扯淡话语起什么标题,所以就水水的起作闲话深入理解计算机系统,也会以后还会有其他的。总之要把学习作为一种习惯。

闲话《深入理解计算机系统》

发表评论

电子邮件地址不会被公开。 必填项已用*标注