您的位置:首页 > 理论基础

20161210计算机科学导论04_磁盘

2016-12-10 01:08 204 查看

磁盘



计算机中必不可少的一部分,计算机计算速度的瓶颈就在于磁盘(现在为硬盘)

好的CPU运算可达到5GHz,一个核50亿次/秒,而硬盘计算速度一般为MB级别

1:存储数据方式

    寄存器:CPU内部,速度非常快,数量少,最贵

    内存:一般快,数量一般多,价格一般贵

    磁盘:慢,容量多,价格便宜

  ps:电脑执行程序,都会把程序存储在内存中,然后再运行,

2:如何提高磁盘访问速度

          磁盘缓存:内存读取硬盘也会花时间,就有了磁盘缓存(把需要使用的东西加载到内存中,很大程度上解决磁盘速度慢的问题,使用内存当作磁盘用)

          虚拟内存:问题:速度解决了,内存又不够用了,产生了虚拟内存,及把磁盘当中的一块当作内存使用,(物理内存和虚拟内存)

                      例如内存只有5Mb,但加载程序需要10Mb,就使用虚拟内存,但CPU只能访问物理内存,这是就有磁盘和内存的数据互换(两种方式:分页式(pagein、pageout)、分段式),内存大的话,数据减缓就比较少,电脑速度就得到提升。

          节约内存的编程方式:

                      1:函数公用:内存还是不足,就在出现了DLL(动态链接库),这样不用每个程序都在内存中保存有同一个方法,windows中有提供很多DLL,一个方法可以被多个程序使用,用有限的内存做更多的事。

                      2:被调用方清理栈:内存中有块区域存放临时的值,这块内存交栈,占卜恩那个无限大,使用完了就要回收(一般清理栈是在一个函数调用完成之后,函数调用分两种方式 1:_stdcall(),2:其他方式),

                      (节约硬盘)3:数据压缩:磁盘可能不够用,就是把原来的数据换一种更节约内存的方式表示

RLE方式(很好压缩图像、exe文件,但无法正儿八经地进行文本压缩(因为连续重复太少))等方式…

哈夫曼算法(百度一下)

簇:windows对磁盘读写的单位,回应为磁盘大小不同而高边,硬盘越大, 簇可能也会变大,一个簇大约一个扇区,一个扇区大约512字节,一个文件小于4Kb,一般这个文件就有4Kb

         一簇里面不能有相同的两个文件,否则导致一个文件打不开,出问题,做底层驱动的时候特别注意,
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息