您的位置:首页 > 运维架构 > Linux

继续学习Linux了解了冯诺依曼体系写于2014-05-27

2014-05-27 21:31 218 查看
早上看了鸟哥私房菜,终于进入了第二部分,感觉Linux还是蛮复杂的,看一遍过去以后貌似也没看懂什么,到晚上就忘得差不多了。。
昨天装了个Centos5.5虚拟机,进去感受了下Linux,我就是感觉它很强大,但是除了点点,再也不知道干些什么,尝试地进入终端输了几个命令 ls、cal日历、bc计算器、date显示时间,还尝试用man info 查找帮助。。。被一排排英文打败了。。。囧。不过不怕,老男孩说了遇到英语就去面对。感觉这个帮助页面还是很清晰的,对命令的描述以及参数,格式等等,不过对于我这个初学者压力还是蛮大的。。
然后看了nano简单文本编辑器,深深感觉到英语的重要,(命令为啥是这个符号久久地存在脑中。。。)。接下来就是关机了。。在我印象里,关机似乎跟拔电源没什么区别。。只是开机不用恢复文件。。今天学习Linux才知道开关机的重要,对于Linux这种系统,可能有很多人同时对这台计算机进行操作,如果我随便关机,可能在线的人FTP等就中断了,所以要养成良好的开关机习惯。。我们可以查看当前系统的使用状况,通知在线成员将要关机等等。
我们知道对于RAM,随机访问存储器,只要系统一断电,它里面的数据就没了。我们知道硬盘读写速度很慢,如果经常让数据在内存与硬盘之间来回读写,那么系统的性能就不会太好,而我们的Linux,为了加快系统的速度,已经加载在内存中的数据不会被写入进硬盘,而是在内存中寄存一会儿,如果一个数据被不断的写入写出,由于未被写入硬盘,那么直接从内存中读取出来,将会大大提高系统性能。。
那么万一我们一脚踢到电线了怎么办=。= 囧。。。所以我们就要在关机重启前多使用sync这个命令将内存中的数据写入硬盘。
关于开关机重启等等命令我想等听了马哥和老男孩的课以后再总结。。
下午是体育课。。快结课了,老师说可以补测成绩,我屈臂撑8个 差2个满分=。=其实蛮想去得满分的,毕竟体育每次都是所有科中分最高的。。(该死的大物,高数)但是我没有去,默默的掏出了手机,打开了快播。。。(不要想歪了。。我怎么是那样的人呢!)打开了马哥的视频。。
- - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - -- -- - - - - -- - -
冯诺依曼体系
冯诺依曼体系呢就是计算机的五大基本结构。

也就是运算器、控制器、存储器、输入设备、输出设备。

对于运算器呢。。我想回忆一下加法器。。(减法也是加法的一种)
首先计算机是以二进制为单位的,为什么不以十进制为单位呢?
对于电子线路来说,我们通过电压的高低来告诉计算机信息,如果不给电就表示0,给电就表示1。
那么为什么不已电压值来代表数字呢 比如0.1V代表1 1V代表10?首先我们的电压很可能不稳定,在电路中也存在误差,所以不能够准确的识别电压值到底是多少。。所以我们要使用二进制,而且二进制很简便,只是我们不熟悉罢了。。

我们计算机要怎么进行计算呢?
我们需要从内存中读取两个数据给加法器,然后加法器按位加减,然后输出所得数字保存在计算机的 内存中。
那么我们怎么知道要传入哪两个数据,然后把所得数字保存到哪里呢?
这时我们就要依靠控制器,去内存中读取指令和数据,然后告诉运算器进行什么运算,要哪些数据,结果写入到哪块内存。
我们读取两个数据,运算器怎么能得知第二个数而不忘记前一个数呢?
在我们的运算器中,还有个东东叫寄存器,它可以把前面读入的数据暂时的存进这个设备中。
我们怎么读取数据呢?
在内存与CPU之间,有一个叫数据总线的东东,对于32位的CPU。他有32根线与内存相连(相当于4Byte的寻址能力),加电表示1,不加电表示0,用来读取写入数据。我们知道,在内存中不仅仅只有数据,同时还有指令,那么我们CPU怎么区分我读取的是数据还是指令呢?我们可以再增加线,假如这个线有电,则读取为指令,否则为数据。我们把合并数据/指令的总线称为前端总线,用于传输内存和CPU直接的信息。
除此之外?当我们CPU是怎么识别用户用鼠标还是键盘输入数据,或者是CPU输出数据怎么把音乐的数据通过音响放出来,把我们的qq数据从网卡中发出去?CPU是怎么知道的呢?
这时有一种机制,就是CPU进行询问,我们叫做轮询。就是不停的询问键盘有没有发数据,鼠标有没有发数据。那么我们假如一直不用鼠标键盘,这种机制会占用我们CPU的资源。
那么还有一种机制,叫interrupt。就是当鼠标或者键盘输入数据时,会中断CPU,通知CPU,让CPU进行处理。
那么我们CPU怎么知道是哪个设备打断了我?
这时有个控制器,将所有设备接入我这个控制器,那么CPU就可以通过控制器知道究竟是哪个设备interrupt了我。
频率 Hz:表示点位时间内的周期次数
对于我们的CPU来说呢,一般2-3Ghz,而内存一般为1333M 1666MHZ CPU的速度要远大于内存的速度。
就像一个水桶,它由不同高低的木框围成,它所能装的水取决于短板,我们的计算机也如此,你CPU速度再快,内存速度也会影响处理的速度。
北桥用于连接CPU和内存以及南桥。所以北桥用来控制CPU和内存速率的同步。
此外我们还通过缓存机制来解决CPU与内存速率不匹配的问题,缓存的速率比内存大很多,我们可以讲内存中的一小部分放到缓存中,那么CPU可以直接从缓存中调用而不用等待内存。
—————————————————————————————————————————————
通过这种计算机结构,我们大概知道计算机只能识别0101010111这种代码,所有的指令以及数据都是这些010101101代码。那么Intel和IBM的CPU因为架构不同,微指令集不同,所能实现的功能以及代码也不同,所以这种原始的计算机语言不能同时运行在两种不同的平台上。
为了提高程序猿的开发效率,芯片开发者附带了芯片微码,产生了汇编语言,将计算机语言转换成人类能够识别的语法,然后通过编译生成10101010代码给计算机运行。但是这种语言仍然不能解决不同平台不兼容的问题,因为他是根据对应设备。
后来又产生了高级语言。。
高级语言会翻译成汇编,再转换为计算机语言,结合额外的机制来弥合不同CPU之间差异,不用关心底层设备,因而解决了这种不同厂商CPU之间的不兼容性。
解决机制,在CPU上层有一个叫API的东东,里面写入了这些CPU共有功能的程序,是高级语言和底层设备的接口,所以程序猿在开发时不用考虑到底用了什么CPU。

加油学习。。洗澡给女朋友打电话去啦。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: