Linux进程理解

写在前面
我们现在算是开始接触到网络编程,后面的内容和我们之前学的语言有点不一样,需要更深的理解和记忆.今天的博客是关于计算机的基本结构和进程的初步认识.
冯诺依曼体系结构
学习计算机就绕不开这个知识点 , 我们需要有一个基本的了解 。
冯诺依曼体系结构包含 以下几个部分 , 其他的组件都是在这个基础上发展的
我们有的时候会看到自己的电脑上存在一个叫GPU(显卡),这个为何不存在冯诺依曼体系结构中呢?实际上,我们上面所说的都是计算机必不可少的部分,GPU有没有都一样.
浅谈CPU
这个可以是人类科技的最巅峰的表现,不过现在CPU不是很贵.我们来看看我电脑的CPU,不是很好
主频
下面我标记的就是主频,他衡量的CPU执行素的的快慢,数字越大,执行速度越快
谈到这我们就可以说一下摩尔定律了(不是我们化学上的那个),他的大概意思是每隔18个月,我们芯片(CPU)的集成算力就提升一倍,这是一个经验规律.这是由intel公司的一个联合创始人摩尔提出的.现在这个规律已经濒临失效了.我们芯片单个计算单元到了一个瓶颈了,我们可以把计算单元做的很小,但是不能够做的无限小.现在的量子计算机可能会打破这一瓶颈.
说一下GPU
GPU就是我们所说的显卡,他和CPU的功能是一样的,只不过是专业方向的芯片,CPU是通用性的
计算单元
一个CPU包含了很多基本的计算单元,这些计算单元就是一个个门电路.
所谓的门电路就是针对一个比特位进行逻辑运算,这些门的运算和我们之前学习的逻辑或等是一样的
存储器
我们先来看看存储器是什么,有的人可能把它当作内+外存,也有的说只是内存,这个看个人理解吧,我推荐看作只是内存.我们开始有点疑惑,对于计算机而言,不就是接收数据,处理数据,放出数据吗,这样的我们好象是不需要存储器.
是的,从功能上来说,我们是不需要存储器的 , 但是它还是存在了,主要从下面两个角度来分析的.
技术角度
CPU处理数据的速度远大于输入输出设备的速度,也就是说它们的速度跟不上,根据木桶原理,计算机的效率受到了限制.人们就开始像,我们是不是可以把一些数据提前直接放在一块内存中,用的时候再拿出来,这就是存储器的原因.我们还是有点疑惑,这样当存储器里面的数据用完后,不还是要收到限制吗,稍微用思维想一下就可以知道.所以人们又出现了局部性理论,假设我们的代码执行在第10行,我们们有理由相信下一次可能是第11,12或者第8,9行.所以操作系统提前或者一起把这块都拿到存储器中,这样就提高了效率.
成本角度
是不是存在比冯诺依曼体系效率更高的结构?s是的,但是历史没有选择它们.想一想,我们如果在CPU里面加上很大的寄存器,这样的效率可是很高的,那么我想问问这种成本是要多高,寄存器可不是一般的便宜,那么计算机就变成了奢侈品了,所以好用又便宜冯诺依曼体系被我们推崇.
操作系统
现在我们还是需要理解一下OS.OS是一款软件,它是管理硬件的.我们先来说一个不太恰当的说辞,几乎所有的硬件都只是简单的被动的执行运算,不能主动的完成某些功能,这里面OS+CPU才是真正的大佬.
什么是OS
我们先来看一下操作系统的定位.

Linux进程理解

文章插图
先来举一个银行的例子.在银行里面存在桌子板凳一类的硬件,还有银行工作人员,更有一个行长,这里面就可以类比了.
我们理解到了OS是管理硬件的软件,那么接口是什么?要知道银行系统是不会相信任何人,操作系统也是,所以对于用户来说,你不需要了解原理,只需要知道怎么用就可以了,我们用的就是结构,回到正题,Linux是由C语言写的,接口就是函数,我们使用接口本质就是调用函数.