第四课、试卷讲解 磁盘

一  、  带着问题学习   磁盘

 

    现在计算机的运行速度越来越快,那么它最拖速度的又是什么呢?也就是说现阶段计算机速度的瓶颈是哪个部件呢?

        现在来说,磁盘的速度成为了计算机速度的瓶颈了。cpu的频率高的已经达到了5.0GHZ,也就是说一个核心一秒钟运算了50亿次。

   

 

  1.  存储程序方式是指的什么?

    外部介质来存储,比如图灵机 ,效率低下,存储有的用打孔的方式记录,慢慢的发展,就有了现在冯诺依曼式的结构,存储式计算机。

    存储式计算机,存储的介质,最开始用软盘,再发展成碟片式的磁盘,现在发展成芯片式的ssd。

 

    能用来存储的东西有哪些?  寄存器  内存   磁盘  看图:

    

 

   那么程序在执行的过程中,是怎么访问磁盘的呢?

        

 

 

 

 

   2. 如何通过内在来提高磁盘的访问速度?

 

 

 

 

   3. windows为例,他为了节约内存用了哪些手段?

 二  、磁盘

    磁盘缓存

    虚拟内存

    节约内在的编程方式有哪些?

 

             磁盘缓存

      我们的计算机先访问内存,内存读取硬盘上的数据,在内存读取硬盘上的数据,也是要发时间的,那么,怎么节省这个时间?

    那我们能不能提高内存访问磁盘的速度呢?答案是可以!这样就引申出磁盘缓存的概念。什么是磁盘缓存呢?

    我们在使用数据的时候,同时会悄悄的载入一些数据到内存中,而当我们第2次使用这段数据的时候,我们就到内存里面取用

 

以上是比较老式的系统中,如win95/98,曾经使用过的磁盘缓存方式。当时的磁盘相当的慢,内存也是很有限,这种方式能很大的程度上解决磁盘太慢的问题。另:磁盘缓存,存在哪呢?把它存在内存当中。磁盘缓存就是:使用内存,当作磁盘用。当用完了之后,再把数据还回磁盘。当然,我们使用数据的地方,它还是会偶尔的访问我们的磁盘的。但它只访问一次,再次访问的时候,直接去内存找了。这项技术在我们开发的服务端上大量的运用,还有数据库上也得到很多的运用,我们接触最多的,用浏览器上网,也会使用磁盘缓存的技术。也就是拿着内存来当磁盘用。

磁盘缓存 很大的解决了磁盘慢的问题,但慢慢的,我们发现内存不够用了,引出虚拟内存的方案。

 

虚拟内存

    什么是虚拟内存?    虚拟内存是将我们的磁盘特定的一块,当作内存使用。

    

虚拟内存的算法有两种:1分页式  2 分段式   分页式就是把数据分成一页一页的,什么是一页呢?一页就是一个大小,分成一个个的页,比如一页是一个4KB大小,很久之前的数据是4KB大小。分段呢,它会考虑数据里面的逻辑,比如说,这一块是处理什么事情的,我把它分出一块来,那一块又是处理什么的,我又把它分一块。当内存的一块事情处理完成,再和虚拟内存的数据交换。

page in   page out  交换,虚拟内存和内存交换,加载进内存是page in ,还给虚拟内存是page out。

虚拟内存  它的存在就是:让你的程序能运行起来 。 如一个程序6G大小,你的内存只有4G,那操作系统就会把2G分配给虚拟内存。

 

节约内存的编程方式

函数共用 

    比如:动态链接   DLL英文是动态加载的意思

函数共用 ,提升了利用率,节省了内存,能做更多的事情。

 

被调用方清理栈

程序运行中,内存会有一块专门的区域,负责存储一些临时的值。这块区域我们称为“ 栈 ”。

栈不能无限的扩大,还需要回收空间,使用完了之后,要回收。所以呢,就要有一个程序回收我们的栈空间。清理栈一般会在一个函数调用完成之后进行清理动作。而函数的调用分为2种方式:

1   windows中使用_stdcall

2  其它方式

其它方式是如何来清理栈的呢?很早以前是如图所示

 

 

 

数据的压缩

磁盘的物理结构:

     磁道  扇区   簇   粗略的了解下    1簇=1个扇区   512byte  这个数据不是一成不变的,磁盘越大,簇就可能更大。windows操作磁盘最小单位就是簇,  同一簇里面不能有相同的数据。如果装了2个相同 的文件,那么这个簇就打不开了。

  磁盘有时也是不够用的,这就有了相应的数据压缩的算法

RLE   压缩算法

能很好 的压缩 图像  比如传真机  2种色,黑和白

exe文件  有很多0000的空白区,也能很好的压缩

RLE 无正儿八经的压缩文本的

里面没有重复的

 

哈夫曼  压缩算法

一篇文章,长关键字出现的频率,记录下来,分别使用编码的方式代替关键字

 

 

 

特点:将长的特征编成短的编码

压缩:有可逆的,也有不可逆的如:jpeg格式,有损压缩

 

固态硬盘,也是机械硬盘的原理改良的,原理还是一样,只是改成了ica芯片存储了。

混合硬盘,它有磁盘结构,它还有一块ic结构,把它做成磁盘的缓存。

磁盘阵列,在磁盘读取的峰值,可以使用几块硬盘,几块分布写出,同时多线读取

 

总结  

 

 

 

 

 

 

 

 

 

 

      

 

posted on 2016-08-31 22:37  zzdoit  阅读(228)  评论(0编辑  收藏  举报

导航