由于本次的概念比较重要,是学习linux和操作系统必须要掌握的知识,我会从冯诺依曼体系结构,操作系统,进程概念,进程状态,环境变量和程序地址空间六方面去为大家详细介绍有关进程的相关知识和概念。
本次为大家讲解的是冯诺依曼体系结构和操作系统。首先让我们来谈谈冯诺依曼体系结构。
在计算机诞生之前,人们在计算的精度和数量上出现了瓶颈,对于计算机这样的机器的需求就十分强烈,冯·诺依曼的逻辑和计算机思想指导他设计并制造出历史上的第一台通用电子计算机。并且,他的计算机理论很大程度上都是受自身数学基础的影响,且具有高度的数学逻辑,物理逻辑和逻辑化特征。在他在研究所工作期间提出了计算机制造的三个基本原则,即采用二进制逻辑,程序储存执行及九三级的五大硬件单元,这也奠定了现代计算机的硬件体系结构。
这里可能有人就提出疑问了,存储器不应该是内存嘛?看似如此,实则不然。内存其实是一种易失性存储介质,只要电脑一断电,数据就会丢失;所有我们一般使用磁盘实现数据的持久化存储。而内存确实有它的强大之处,由于内存的吞吐率非常高(也就是数据的交换率非常高),因此事宜做中间缓冲带。
上图就是现代计算机的硬件体系结构,所有的设备都是围绕着存储器工作,输入的一切数据都是由cpu处理,再交还给存储器,存储器进行中间的数据缓冲。我们写入的程序就是在告诉计算机什么时候控制那个设备进行什么样的操作。
举个简单的例子:比如QQ聊天,键盘采集数据,cpu控制输入设备将采集的数据放入存储器,再有cpu读取数据并进行处理,处理完后交还给存储器,再有cpu控制存储器输出给指定输出设备(网卡),网卡拿到数据后再进行上述操作,最终输出给对面接收数据人的显示器上。
对于QQ传文件:发送方输入设备(硬盘),从硬盘中读取文件数据,放到内存中,然后由cpu加载进行处理,处理完后交给网卡。(注意:这时的硬盘在对方电脑中就是作为输入设备使用)
以上就是冯诺依曼体系结构的内容,希望大家可以好好理解!!
接下来是操作系统的讲解,操作系统是管理计算机硬件与软件资源的计算机程序。一个完整的操作系统包含内核+应用。定位也是为了让计算机更加好用,就好比windows系统不断更新,就是为了用户的体验越来越好,功能越来越多且越来越简洁。
接下来,我们来了解,什么是管理?谈论一个操作系统好好坏,其实就是看它管理计算机应急与软件资源的能力,管理好了,操作系统也就不错。
举个不是很恰当的例子:在我们的校园中校长作为规则的制定者(相当于教育局),通过老师(执法者)管理学生(被管理者),校长就是脱离学校管理体系之外
如何实现管理:比如,学校要开除A学生;校长并没有见过A学生,如何做到开除?就是通过管理系统(学校管理体系),只需要知道A学生的描述信息(学号),就可以对其直接管理(开除)。并且,管理不仅仅有描述信息,还得有实时性,也就是良好的组织。接着上面A同学的例子,当开除A的命令实在大二下发的,如果没有良好的组织,执行的时间可能在A同学毕业以后,这样就没效果了。
下面是操作系统管理的图一览
这一段我们着重了解库函数和系统调用接口的关系。在操作系统中,大部分我们都很好理解,到了后面,从进程开始有很多作为小白很难理解的内容,之后我会详细说明,前面的两个知识模块是为后面更好的理解做铺垫,希望大家可以认真观看!!如果有错误的地方,或者解释不清的地方,欢迎各位大佬留言!!