### 操作系统基础知识点解析 #### 一、计算机系统的组成 1. **主存储器**:主要用于存储数据和程序。它是计算机系统的核心组件之一,直接与CPU交互,用于存放当前运行程序所需的数据和指令。 2. **算术逻辑单元(ARITHMETIC LOGIC UNIT, ALU)**:专门用来处理二进制数据,执行基本的算术运算(如加、减、乘、除)和逻辑运算(如与、或、非)。 3. **控制单元(CONTROL UNIT, CU)**:负责解读存储器中的指令,并根据这些指令控制计算机的各种操作。CU 是 CPU 的一部分,它确保指令按正确的顺序执行,并管理数据流通过处理器的路径。 4. **输入/输出设备(INPUT/OUTPUT DEVICES, I/O)**:包括键盘、鼠标、显示器等,它们由控制单元管理,用于实现计算机与外界的交互。 #### 二、处理器寄存器分类 1. **用户可见寄存器(USER-VISIBLE REGISTERS)**:这类寄存器通常由机器语言或汇编语言程序员直接访问。通过优化使用这些寄存器,可以减少对主存储器的访问次数,提高程序执行效率。例如,在 C 语言中,可以通过特定的关键字提示编译器将某些变量保留在寄存器中。 2. **控制和状态寄存器(CONTROL AND STATUS REGISTERS)**:主要用于控制处理器的操作。这些寄存器通常由操作系统或其他具有特权的软件使用,以控制程序的执行流程,如设置中断屏蔽位、跟踪程序的状态等。 #### 三、机器指令的操作类型 1. **处理器-寄存器(P-REGISTERS)**:数据可以在处理器和寄存器之间传输。例如,将数据从存储器加载到寄存器或将计算结果保存回寄存器。 2. **处理器-I/O(P-I/O)**:数据可以通过处理器和 I/O 模块之间的数据传输从外部设备输入到处理器或将数据输出到外部设备。 3. **数据处理(DATA PROCESSING)**:处理器可以执行各种算术和逻辑运算,如加法、减法、位操作等。 4. **控制(CONTROL)**:某些指令可以改变程序的执行顺序,例如跳转、条件分支等。 #### 四、中断机制 1. **中断(INTERRUPTS)**:中断是一种机制,允许计算机系统的其他模块(如 I/O 设备、定时器等)在任何时刻中断处理器的正常执行流程。这使得处理器能够响应外部事件,如设备完成数据传输或定时器到期。 2. **多中断处理(MULTIPLE INTERRUPT HANDLING)**:处理多个同时发生的中断有两种常见方法: - **禁用中断(DISABLE INTERRUPTS)**:在处理一个中断时暂时禁止所有其他中断。 - **中断优先级(INTERRUPT PRIORITIES)**:定义不同的中断优先级,允许高优先级中断打断低优先级中断的处理。 #### 五、内存层次结构 1. **内存层次结构的特性**:主要包括价格、容量和访问时间三个方面。高速缓存通常成本较高但访问速度快,而磁盘存储成本较低但访问速度较慢。 2. **高速缓存存储器(CACHE MEMORY)**:高速缓存是一种比主存更快、更小的存储器,用于存储频繁访问的数据和指令,以加快处理器的访问速度。高速缓存的设计目标是提高数据的局部性,减少对主存的访问次数。 #### 六、I/O 操作技术 1. **可编程I/O(PROGRAMMED I/O)**:处理器直接控制 I/O 操作,处理完一条 I/O 指令后会等待 I/O 操作完成。 2. **中断驱动I/O(INTERRUPT-DRIVEN I/O)**:处理器发出 I/O 请求后可以继续执行其他任务,直到 I/O 操作完成并通过中断通知处理器。 3. **直接存储器访问(DIRECT MEMORY ACCESS, DMA)**:DMA 控制器可以直接在主存和 I/O 设备之间传输数据,无需处理器介入。 #### 七、局部性原理 1. **空间局部性(LOCALITY OF SPACE)**:指的是如果一个位置被访问过,那么它的附近位置在未来不久也会被访问。 2. **时间局部性(LOCALITY OF TIME)**:如果一个位置被访问过,那么它在未来不久将会再次被访问。 #### 八、局部性策略的应用 1. **空间局部性策略**:为了提高空间局部性,可以采用更大的缓冲块大小以及在存储器控制系统中加入预取机制。 2. **时间局部性策略**:通过在高速缓存中保留最近访问过的数据和指令,以及通过定义缓存的替换策略来提高时间局部性。 ### 实践案例分析 #### 例题解析 1. **从设备5中载入AC。** 2. **加上存储器单元940的内容。** 3. **把AC保存到设备6中。** **程序执行过程**: 1. **步骤1**: 指令 `0011` 从设备5中载入AC,对应的机器码为 `3005`。因此,首先将 `3005` 加载到 IR 寄存器中。 2. **步骤2**: 执行 `3 - AC` 操作。从设备5读取的数据(3)存储在 AC 中。 3. **步骤3**: 指令 `0111` 把AC保存到I/O中,对应的机器码为 `5940`。加载 `5940` 到 IR 寄存器中。 4. **步骤4**: 将 AC 中的内容(3)与存储器单元940中的内容(2)相加,结果为 5,并保存到 AC 中。 5. **步骤5**: 指令 `0011` 把AC保存到设备6中,对应的机器码为 `7006`。加载 `7006` 到 IR 寄存器中。 6. **步骤6**: 将 AC 中的内容(5)保存到设备6中。 以上步骤展示了如何通过具体的指令序列和内存地址操作来完成简单的 I/O 和数据处理任务。这些基础知识对于理解现代操作系统的工作原理至关重要。
剩余63页未读,继续阅读
- 粉丝: 1
- 资源: 35
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助