计算机原理学习笔记 Day8
内存 IC 中有电源、地址信号、数据信号、控制信号等用于输入输出的大量引脚(IC 的引脚),通过为其指定地址(address),来进行数据的读写。
通过使用变量,即便不指定物理地址,也可以在程序中对内存进行读写。在程序运行时,Windows 等操作系统会自动决定变量的物理地址。
指针也是一种变量,它所表示的不是数据的值,而是存储着数据的内存的地址。
数组是指多个同样数据类型的数据在内存中连续排列的形式。作为数组元素的各个数据会通过连续的编号被区分开来,这个编号称为索引(index)。指定索引后,就可以对该索引所对应地址的内存进行读写操作。
栈和队列,都可以不通过指定地址和索引来对数组的元素进行读写。栈和队列的区别在于数据出入的顺序是不同的。
在对内存数据进行读写时,栈用的是 LIFO(Last Input First Out,后入先出)方式,而队列用的则是 FIFO(FirstInput First Out,先入先出)方式。
磁盘缓存是指,把从磁盘中读出的数据存储在内存中,当该数据再次被读取时,不是从磁盘而是直接从内存中高速读出。
函数的加载方式有静态链接和动态链接两种。
在 Windows 计算机中,一般磁盘的 1 个扇区是 512 字节。扇区是对磁盘进行物理读写的最小单位。
利用电流来实现存储的内存,同利用磁效应来实现存储的磁盘。
磁盘中存储的程序,必须要加载到内存后才能运行。在磁盘中保存的原始程序是无法直接运行的。
虚拟内存是指把磁盘的一部分作为假想的内存来使用。这与磁盘缓存是假想的磁盘(实际上是内存)相对,虚拟内存是假想的内存(实际上是磁盘)。
为了实现虚拟内存,就必须把实际内存(也可称为物理内存)的内容,和磁盘上的虚拟内存的内容进行部分置换(swap),并同时运行程序。
虚拟内存的方法有分页式和分段式两种。
多个应用可以共有同一个 DLL 文件。而通过共有同一个 DLL 文件则可以达到节约内存的效果。
栈清理处理是指,把不需要的数据从接收和传递函数的参数时使用的内存上的栈区域中清理出去。
磁盘是通过把其物理表面划分成多个空间来使用的。划分的方式有扇区方式和可变长方式两种,前者是指将磁盘划分为固定长度的空间,后者则是指把磁盘划分为长度可变的空间。
不同的文件是不能存储在同一个簇中的,否则就会导致只有一方的文件不能被删除。因此,不管是多么小的文件,都会占用 1 簇的空间。
版权声明: 本文为 InfoQ 作者【穿过生命散发芬芳】的原创文章。
原文链接:【http://xie.infoq.cn/article/5ee942fef4ad9220c7804811d】。文章转载请联系作者。
评论