1.2 Computer-System Organization
1)Computer-System Operation
什么是操作系统(OS)?
计算机系统由硬件和软件两部分组成。计算机操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。而其他的程序、系统软件、应用软件都依赖于操作系统的支持,获取它的服务。
操作系统的作用?
1.OS 作为用户与计算机硬件系统之间的接口
OS处于用户和计算机硬件系统之间,用户通过OS来使用计算机系统,或者说,用户在OS的帮助下,可以方便的操纵计算机硬件和运行自己的程序。
OS是一个系统软件,这种接口是一个软件接口
2.OS 作为计算机系统资源的管理者
- Process Management
- Memory Management
- Storage Management
- Protection and Security
在一个计算机系统中,通常都含有各种各样的硬件和软件资源。归纳起来可将资源分为四类:处理器、存储器、I/O 设备以及信息(数据和程序)。相应地,OS 的主要功能也正是针对这四类资源进行有效的管理,即:处理机管理,用于分配和控制处理机;存储器管理,主要负责内存的分配与回收; I/O 设备管理,负责 I/O 设备的分配与操纵;文件管理,负责文件的存取、共享和保护。可见,OS 的确是计算机系统资源的管理者。
3.OS 实现了对计算机资源的抽象
I/O 软件隐藏了 I/O 操作实现的细节
2)Storage Structure
CPU只能从存储器中加载指令,因此任何运行的程序都必须存储在存储器中。
在下图中,存储系统主要分为寄存器、cache、主存和辅存。
Cache:
CPU的速度远高于内存,当CPU直接从内存中存取数据时要等待一定时间周期,而Cache则可以保存CPU刚用过或循环使用的一部分数据,如果CPU需要再次使用该部分数据时可从Cache中直接调用,这样就避免了重复存取数据,减少了CPU的等待时间,因而提高了系统的效率。Cache一般由SRAM组成。
主存:
主存存放立即使用的程序和数据,需要存取速度快
RAM(随机存储器):是计算机硬件的一个重要部件,其作用是存放指令和数据,并能由中央处理器(CPU)直接随机存取。通用计算机的大部分程序都是从可重写的内存中运行的。
ROM(Read-Only memory):只能读而不能写,只有static program例如bootstrap program存储在这
EEPROM(电可擦除可编程只读存储器):可以用电擦除,存储大多数static program
DRAM和SRAM比较:
DRAM容量更大,价格更便宜,功率更小,但需要不断地刷新
SRAM速度比DRAM快,一般用作容量不大的高速存储器
------------------------------------------------------------------------------------------------------------------------------
辅存:
对于辅存来说,大多数的程序(系统程序、应用程序等)都存储在这,且也是许多程序执行所需程序、数据的来源和目的地。因此要求成本低,容量大,非易失性。
------------------------------------------------------------------------------------------------------------------------------
3)I/O Structure
I/O结构包括外部设备和设备控制器。
设备控制器负责它控制的外围设备和它本地缓冲区之间的数据传输。
设备驱动程序:操作系统为每个设备控制器设有一个设备驱动程序。这个设备驱动程序识别设备控制器并为操作系统与设备之间提供统一的接口。
考虑一个典型的计算机操作:一个执行输入输出的程序。
1、要启动一个I/O操作,设备驱动程序在设备控制器中加载适当的寄存器。
2、设备控制器检查这些寄存器回调的内容,以确定要采取什么行动。
3、控制器开始将数据从设备传输到本地缓冲区。一旦数据传输完成,设备控制器就会通知设备驱动程序它已经完成了它的操作。
4、然后,设备驱动程序将控制权交给操作系统的其他部分,如果操作是读取的话,可能会返回数据或指向数据的指针。对于其他操作,设备驱动程序返回状态信息,比如“成功完成写”或“设备繁忙”。
控制器如何通知设备驱动程序它已经完成了它的操作?
这是通过中断完成的。
控制器如何通知设备驱动程序它已经完成了它的操作呢?
是通过中断完成的。
当CPU被中断时,它会停止它正在做的事情,并立即将执行转移到一个固定的位置。固定位置通常包含中断的服务程序的起始地址。中断服务程序完成时,CPU恢复被中断的计算。
在计算机系统中,根据中断源的不同,通常将中断分为两大类: 1. 硬件中断2. 软件中断。其中硬件中断又称外部中断,主要分为两种:可屏蔽中断、非屏蔽中断。可屏蔽中断可以在CPU要处理其它紧急操作时,被软件屏蔽或忽略;非屏蔽中断无法通过软件进行屏蔽,CPU必须无条件响应。