就像程序员能够了解不同的高速缓存提高开发(exploit)项目的性能(performance),程序员能够了解整个(ebtire)存储器(memory)系统来提高程序的性能. 在第6章我们会详细的讲到.
1.7操作系统管理硬件(hardware)
回到我们hello程序的例子. 当我们的shell加载运行hello程序并且当我们的hello程序的信息被打印出来, 无论是键盘 显示器 磁盘 或者主存都没有被hello程序直接的(directly )访问(accessed ). 取而代之的是(rather),他们依靠操作系统提供的服务. 我们可以把操作系统当做插入(interposed )到应用程序和硬件之间的软件,如图1.10所示. 所有应用程序操作(manipulate )的尝试(attempts )都必须经过(go through)操作系统.
操作系统有两个基本的(primary )功能(purposes ):(1)防止失控的(runaway )程序误用(misuse )硬件,(2)向应用程序提供简单统一的(uniform )机制(mechanisms )来操纵(manipulating )复杂(complicated )不同的低级硬件设备.操作系统通过(via)基本的抽象概念(abstractions )实现两个功能(goals).如图1.11所示: 进程(processes ),虚拟内存(virtual memory ),和文件. 这个图表明, 文件时I/O设备的抽象表示(abstractions),虚拟内存是主存和I/O磁盘设备的抽象表示,进程是处理器 主存 I/O设备的抽象表示, 我们将逐一讨论(in turn).

网友评论