20161210计算机科学导论04_磁盘
2016-12-10 01:08
176 查看
磁盘
计算机中必不可少的一部分,计算机计算速度的瓶颈就在于磁盘(现在为硬盘)
好的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
一簇里面不能有相同的两个文件,否则导致一个文件打不开,出问题,做底层驱动的时候特别注意,
相关文章推荐
- 20161210计算机科学导论04_磁盘
- 20161210计算机科学导论04_磁盘
- 20161210计算机科学导论04_磁盘
- 20161210计算机科学导论04_磁盘
- 20161210计算机科学导论04_磁盘
- 20161210计算机科学导论04_磁盘
- 20161210计算机科学导论04_磁盘
- 20161210计算机科学导论04_磁盘
- 20161210计算机科学导论05_操作系统
- 20161210计算机科学导论05_操作系统
- 20161209计算机科学导论04_试卷
- 20161210计算机科学导论05_操作系统
- 20161209计算机科学导论04_试卷
- 20161210计算机科学导论05_操作系统
- 20161209计算机科学导论04_试卷
- 20161210计算机科学导论05_操作系统
- 20161209计算机科学导论04_试卷
- 20161210计算机科学导论05_操作系统
- 20161210计算机科学导论06_函数调用过程
- 20161209计算机科学导论04_试卷