
计算机底层知识
介绍计算机的一些底层知识,目的为了大家初步窥探计算机底层的奥秘,希望大家共同进步。
涛哥碎碎念
人这一辈子这么长,希望留一些值得有价值的东西证明自己在这个世界上来过。
展开
-
缓存(cache)的至关重要性
你有没有思考过计算机中为什么要有缓存的概念?缓存解决了什么样的问题?常识:根据机械原理,较大的储存设备要比较小的储存设备运行的慢(例如:磁盘的运行速度要比内存的运行速度慢),而快速设备的造价要高于同类的的低速设备。比如说:计算系系统的磁盘可能比内存大1000倍,但是对于处理器(就是我们常说的CPU来说),从磁盘读取一个字的开销时间可能要比在内存的开销时间高1000万倍。类似一个典型的寄存器文件只储存几百字节的信息,而内存中可能储存几十亿字节的信息,但是从寄存器中读取数据要比在内存中读取数据几乎快100倍原创 2020-06-03 21:58:39 · 1297 阅读 · 0 评论 -
Linux系统的内存管理
Linux的内存管理方式经常会在面试时作为操作系统基础被问道。搞清楚这个问题的好处很多,近的话可以应付面试,远的可以提高对于操作系统底层的认识,为程序的性能优化打下基础。我们对于计算机内存,最直观和简陋的概念就是机器的物理内存,程序都被放在物理内存上执行。物理内存一般都有限制,比如说4G或者8G。1.内存管理的发展历程:DOS时代 - 同一时间只能有一个进程在运行(也有一些特殊算法可以支持多进程)windows9x - 多个进程装入内存 1:内存不够用 2:互相打扰(不小心可能访问到别人的内原创 2020-05-21 15:52:28 · 386 阅读 · 0 评论 -
操作系统之进程管理
进程 线程 纤程 :面试高频:进程和线程有什么区别?(纯理论问题)答案:(非专业答案)进程就是一个程序运行起来的状态,线程是一个进程中的不同的执行路径。专业:进程是OS分配资源的基本单位,线程是执行调度的基本单位。分配资源最重要的是:独立的内存空间,线程调度执行(线程共享进程的内存空间,没有自己独立的内存空间)进程:Linux中也称task,是系统分配资源的基本单位资源:独立的地址空间,内核数据结构(进程描述符...)全局变量 数据段.....进程描述符:PCB(Proces原创 2020-05-21 12:31:50 · 303 阅读 · 0 评论 -
不得不了解的CPU知识
CPU的发展史CPU的工作原理总的来说,CPU从内存中一条一条地取出指令和相应的数据,按指令操作码的规定,对数据进行运算处理,直到程序执行完毕为止。CPU指令周期指令周期是取出并执行一条指令的时间。指令周期常常有若干个CPU周期,CPU周期也称为机器周期,由于CPU访问一次内存所花费的时间较长,因此通常用内存中读取一个指令字的最短时间来规定CPU周期。一条指令还是相当复杂的,处理器在一个时钟周期内肯定是完不成的,可能需要好多个时钟周期来完成执行。如果这样让处理器执行完一条指令原创 2020-05-20 17:18:56 · 660 阅读 · 0 评论 -
CPU缓存
CPU缓存 执行程序是靠运行CPU执行主存中代码,但是CPU和主存的速度差异是非常大的,为了降低这种差距,在架构中使用了CPU缓存,现在的计算机架构中普遍使用了缓存,分为一级缓存,二级缓存,还有一些具备三级缓存,我们可以看看这些组件的数据获取访问速度。从CPU到大约需要的 CPU 周期大约需要的时间主存约60-80纳秒QPI 总线传输(between sockets, not drawn)约20nsL3 cache约40-45 cycles,约15nsL2 c...原创 2020-05-20 16:30:30 · 447 阅读 · 0 评论