程序为什么要从硬盘跑到内存?
程序平时长期保存在 SSD 或硬盘里,但运行时,操作系统会把当前需要的代码和数据映射到进程的虚拟地址空间,并在需要时把相应页面调入内存。这样 CPU 才能高效取得正在执行的指令和数据。
从看得见的电脑出发,理解硬件、数据和程序怎样一起工作。
共 14 篇文章 · “内存” 清除
程序平时长期保存在 SSD 或硬盘里,但运行时,操作系统会把当前需要的代码和数据映射到进程的虚拟地址空间,并在需要时把相应页面调入内存。这样 CPU 才能高效取得正在执行的指令和数据。
电脑“变卡”并不是一种单一故障。CPU 太忙、内存紧张、存储读写拥堵、显卡负载过高、温度过高导致降频,甚至网络变慢,都可能让我们感觉电脑反应迟钝。
电脑保存数字时,不是把“13”“-5”“3.14”这些字符原样塞进内存,而是按照数据类型和编码规则,把数值表示成一串 Bit。整数、负数和小数使用的表示方法并不完全一样。
电脑保存字母时,不是把“A”“B”“C”的形状直接塞进内存,而是先按照字符编码规则给字符分配编号,再把这些编号保存成二进制数据。
文件、文件夹、软件、程序、内存、CPU 并不是互相独立的概念。软件以文件的形式保存在存储设备里,文件夹负责组织这些文件;当程序启动时,操作系统会找到程序文件,把需要的代码和数据装入内存,再由 CPU 执行。程序运行过程中,还会继续读取和保存各种文件。