计算机世界--磁盘

来源:互联网 发布:mysql 删除库中所有表 编辑:程序博客网 时间:2024/06/05 18:42

问题

存储程序方式是指什么?

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

以Windows为例,它为了节约内存,用了哪些手段?

1.存储程序方式是指:将程序存储在计算机的存储器中,电脑在运行这个程序时,直接从存储器中加载到内存来直接运行就可以了,这种方式是相对于之前的通过插线、剪纸带(外部介质存储程序)而言的。

能够存储数据的东西,分别有哪些呢?

内存(注意:内存地址并不一定代表内存)、磁盘、寄存器

寄存器:CPU内部,速度最快、数量最少,价格最高

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

磁盘:最慢、数量最多、价格最低

2.提高磁盘的访问速度的方法是使用磁盘缓存。

磁盘缓存:第一次读取的时候,会把磁盘中的数据加载到使用数据的地方,同时也将这一部分数据加载到内存中,下一次再取数据的时候,直接在内存中取数据就可以了。也就是将内存当磁盘用。(win95、win98的系统)注意:磁盘缓存并不是一次性全部写入,因为内存太小,盛不下。这时,又出现了虚拟内存的概念,那么什么是虚拟内存呢?

虚拟内存:将磁盘中的一块来作为内存使用,解决一些程序需要很大的内存才能运行的问题。

因为CPU只能执行内存中的程序,所以需要将虚拟内存中的数据加载到物理内存中才能被CPU执行,这就需要物理内存和虚拟内存中数据进行交换,目前有两种交换方式,一种是分页式,另一种是分段式。

分页式:不考虑程序的逻辑,将程序分为一页一页的(一页一般是4kb),来进行一页一页的交换。

分段式:按照程序的逻辑(比如数据块,计算块)来划分代码的分离方式。

磁盘:扇区,簇的方式进行读写,一簇等于一个扇区,一簇里面,不能有相同的文件。

3.以Windows为例,它为了节约内存,用了哪些手段有:函数公用、被调用方清理栈等方法。

函数共用:动态链接库(dll),Windows中几乎所有的共用函数都是用的dll

被调用方清理栈:一般在函数调用完成之后来进行栈的清理,Windows:_stdcall,在被调用方清理,这样非常节省空间

节约磁盘空间的方法有数据压缩等方法。

rle压缩算法:比如 AAAAVVVVBFF压缩为:A4V4B1F2,来达到节省空间的目的,主要是来压缩图像、EXE文件等。但是它是不能压缩文本的。

对于文本使用最多的压缩算法是:哈夫曼压缩。

1 0
原创粉丝点击