计算机的数据从外存到内存会发生啥变化

占坑,等我这学期上完纠错码再来完善。CPU、内存、外存在交换数据时,可能会出错。为了增加正确性和完整性,保存数据有一定冗余,比如保存8 bit的数据并不是只需要8 bit的存储空间,可能需要额外的几个bit来检测甚至纠正错误。内存一般采用奇偶校验(Parity)码,外存一般采用循环冗余校验(CRC)码。奇偶校验码只能检测出数据有没有错误,出了错无法纠错;循环冗余校验码不仅可以检测出数据有没有错误,如果只有一位数据出错,那么还可以知道是哪一位数据出了错并纠正。所以数据从外存读入内存的可能步骤是:读取保存在外存中的数据检测数据正确性,如果出错则尝试纠错,纠错失败再丢个中断去掉冗余的编码,把有效数据保存在内存中,加上一位奇偶校验码。
■网友
我就根据自己的理解来回答下首先,这个问题应该需要一个具体的场景。外存到内存我觉得有这么几个有代表的场景:1 开机 加载硬盘中的操作系统重要文件到内存2 启动一个应用程序 将程序编译并加载到内存3 用应用程序打开一个文件 文件的内容被应用程序以特定的方式存储在内存中4 内存虚拟硬盘 文件直接从物理硬盘复制到虚拟硬盘(这个情况 数据前后应该不会有什么变化,也没什么好讨论的吧)前两个太高级 挖不懂……第三个略懂皮毛。文件中的信息 会被程序读取并以变量的形式储存在内存中 具体存储的类型 以及方式 完全由软件编写者定义。比如本来就一行十个字符的txt 程序读出来并把他存成了十个字符变量。那原先一行东西就被拆成了十份散落在程序被分配到的内存中当然硬盘里面的东西本来也不一定是连续的上面也只是我的简单理解,实际情况肯定要复杂的多所以从外存到内存 一般来说数据都发生了很大的变化。


    推荐阅读