美文网首页
(五)磁盘

(五)磁盘

作者: 墨白找 | 来源:发表于2016-05-20 16:23 被阅读21次

计算机中,内存和磁盘都属于存储设备。
不同之处:
1.内存通过电流实现存储,一旦断电,数据消失;
磁盘通过磁效应实现存储,如果断电,数据不消失。
2。内存高速高价,磁盘低速低价。


存储程序方式(程序内置方式)

即在存储设备(磁盘)中存储程序,需要运行程序时,将程序加载到内存,再由CPU中执行(程序计数器指定内存地址,可以参考第一篇文章)。


磁盘缓存(disque cache)

磁盘缓存,就是将磁盘上读出的数据暂时性存储在内存中。这样可以大大提高数据读写的速度。


但是。。。。。。

虚拟内存(VM,Virtual Memory)

虚拟内存,即把磁盘的一部分划分作为假象的内存使用。这样就可以运行大小大于剩余内存空间的程序了。
但是,内存和磁盘对数据的读写速度终究是不同的,不可能真的同时在内存和磁盘上运行程序。因此,其实际机制为,在运行程序的同时,将内存中物理内存的内容与磁盘中虚拟内存的内容调换。通过这样合理地调度程序的内容,以确保正在进行的程序部分置于内存中,且大小不超过当前内存容量,其余部分置于虚存(磁盘)中。

分页式和分段式

分页式:将运行的程序分割成一系列一定大小的页(page),并以这些页为单位在物理内存和虚拟内存中置换。把从磁盘的内容读到内存称为Page In,把从内存的内容读到磁盘称为Page Out。


Windows操作系统中,使用分页式虚存。一页大小是4K。

在编程中节约内存

虚拟内存机制也无法彻底解决内存不足的问题。


根本上解决内存不足的问题:
1.提高内存容量,增加内存条。
2.让存储的文件变小。

缩小应用程序的方法

DLL文件实现函数共有

DLL(Dynamic Link Library),动态链接库,在这个文件中集合了一系列函数和数据。运行程序时,可以加载此文件,即动态加载,以便能够使用DLL文件中集合的函数和数据。容易看到,DLL文件是可以被多个程序公用的,因此可以有效的节省内存。

对比:
静态链接(Static Link):已经有了某个编译好的函数F,对每个需要使用它的程序,都使用静态链接器,将F文件和程序文件链接起来,生成一个可执行文件。即,有几个需要使用它的程序,就链接几次。效率低下。

调用_stdcall文件





磁盘的物理结构

磁盘通过将物理表面划分为多个空间来提高使用效率。
两种方式:

扇区方式
将磁盘划分为多个固定长度的空间的方式。
磁道:将磁盘表面划分为多个同心圆的空间。
扇区:磁道上按固定大小(存储数据的长度相同)划分的空间。






相关文章

  • (五)磁盘

    计算机中,内存和磁盘都属于存储设备。不同之处:1.内存通过电流实现存储,一旦断电,数据消失;磁盘通过磁效应实现存储...

  • 磁盘挂载

    一、查看磁盘挂载情况 二、查看所有磁盘 三、创建磁盘分区 四、格式化分区磁盘 五、挂载 六、卸载 七、查看挂载权限

  • [分享]关于 PNPM

    简单、好用的pnpm,快到碗里来 高效利用磁盘空间 假如磁盘中有五个vue@2.7项目,当进行npm instal...

  • day 20 了解磁盘

    磁盘管理体系 1.1、磁盘外观结构 分步了解 1.2、磁盘的外部结构 SSD磁盘 固态磁盘与传统磁盘优劣式对比 磁...

  • day19-磁盘分区及挂载

    《 磁盘管理 》 添加磁盘 1.磁盘基本分区 Fdisk 2.添加磁盘 ...

  • ORACLE RAC无db删除、创建、增加磁盘组

    一、删除 dismount磁盘组 drop磁盘组 crs删除磁盘组 二、创建 查看os上磁盘信息 创建磁盘组 三、增加

  • Mac

    解决Mac挂载ntfs磁盘readonly 找到磁盘设备号 弹出磁盘 以读写权限重新挂载磁盘

  • Centos挂载磁盘完整图文教程

    1:查看服务器上未挂载的磁盘(磁盘有普通磁盘,高效磁盘,SSD磁盘);命令如下: fdisk –l 从上图可以看出...

  • day20-磁盘体系结构详述

    磁盘体系结构详述: 1.磁盘的外表结构组成部分: (1)磁盘主轴:决定磁盘转速 家用磁盘转速:7200 r...

  • Linux磁盘管理day19

    磁盘的基本概念磁盘的基本结构磁盘的预备知识磁盘基本分区fdisk 一、磁盘的基本概念 磁盘的基本概念其实在Linu...

网友评论

      本文标题:(五)磁盘

      本文链接:https://www.haomeiwen.com/subject/udjnrttx.html