C++ 操作系统提供的抽象

C++ 操作系统提供的抽象,c++,c,architecture,operating-system,abstraction,C++,C,Architecture,Operating System,Abstraction,在《计算机系统:程序员的观点》一书中,它说“文件是I/O设备的抽象,虚拟内存是主存和磁盘I/O设备的抽象,进程是处理器、主存和I/O设备的抽象。”。我真的不明白。有谁能给我一些简单易懂的解释吗?关于抽象的全部观点是它们不存在于物理上,它们只是概念上的。因此,存储设备只是一堆存储块,但我们将目录和文件的抽象概念作为一种方式,将所有这些存储块组织成有用的东西。存储设备上的每个块都无法“知道”它属于特定文件 类似地,对于其他示例,例如进程实际上并不存在-CPU只是在执行代码,但我们在概念上将代码及其执

在《计算机系统:程序员的观点》一书中,它说“文件是I/O设备的抽象,虚拟内存是主存和磁盘I/O设备的抽象,进程是处理器、主存和I/O设备的抽象。”。我真的不明白。有谁能给我一些简单易懂的解释吗?

关于抽象的全部观点是它们不存在于物理上,它们只是概念上的。因此,存储设备只是一堆存储块,但我们将目录和文件的抽象概念作为一种方式,将所有这些存储块组织成有用的东西。存储设备上的每个块都无法“知道”它属于特定文件


类似地,对于其他示例,例如进程实际上并不存在-CPU只是在执行代码,但我们在概念上将代码及其执行方式组织到进程和线程中,等等-CPU对进程没有“知识”,它只是一台代码执行机器。

操作系统以文件的形式呈现给您的实际上是磁盘上的一种位模式(当然,假设位是“真实的”,但如果您不这样做,您将把CS留给EE:)。文件是组织这些位模式的一种抽象的逻辑方式。