(一)课程导入(5分钟)
1. 问题引导:通过展示计算机运行多个程序的场景,提问学生“计算机如何有条不紊地执行这些程序?不同程序之间如何共享硬件资源?”引发学生思考,引出本节课关于操作系统运行环境的主题。
2. 知识回顾:简单回顾操作系统的基本概念和功能,强调操作系统运行依赖特定的硬件环境,为后续讲解做好铺垫。
(二)知识讲解(30分钟)
1. 计算机系统的层次结构(3分钟)
讲解内容:借助PPT展示计算机系统的层次结构示意图,详细介绍硬件系统、软件系统(包括系统软件、支撑软件和应用软件)、中断机制、I/O技术、时钟等子系统在整个计算机系统中的位置和相互关系。强调操作系统处于软件系统的最下层,直接与硬件系统交互,负责管理和调度硬件资源,为上层软件提供运行环境。
举例说明:以Windows操作系统为例,说明其底层依赖硬件系统提供的计算、存储和I/O能力,上层支持各种办公软件、游戏软件等应用软件的运行。
2. 中央处理器(CPU)(7分钟)
CPU的构成与基本工作方式:展示CPU内部结构示意图,讲解运算器、控制器、寄存器和高速缓存的功能及相互协作关系。以工厂生产线为例,运算器如同生产车间负责数据加工,控制器像车间调度员指挥生产流程,寄存器是原料暂存区,高速缓存则是快速取货区,提高数据获取速度。
处理器中的寄存器:介绍用户可见寄存器(数据寄存器、地址寄存器、条件码寄存器)和控制和状态寄存器(程序计数器PC、指令寄存器IR、程序状态字PSW)的作用。用户可见寄存器可类比为工人在生产过程中使用的工具盒,存放常用数据和地址;控制和状态寄存器则像车间的监控设备和调度指令板,记录和控制生产状态和流程。
指令执行的基本过程:结合PPT动画演示,详细讲解指令执行的取指、译码、执行和写回四个阶段,以及指令周期的概念。以一个简单的加法指令为例,说明指令如何在CPU中一步步执行,强调程序执行就是不断重复指令周期的过程。
五类指令:介绍访问存储器指令、I/O指令、算术逻辑指令、控制转移指令和处理器控制指令的功能和用途。以访问存储器指令为例,说明其如何实现CPU与内存之间的数据传输,就像从仓库(内存)中取原料或存放成品。
特权指令和非特权指令:讲解特权指令和非特权指令的区别,特权指令只能由操作系统使用的原因。以设置系统时钟为例,说明普通用户程序执行特权指令可能导致系统混乱,所以需限制使用。
处理器的状态:深入讲解内核态和用户态的概念、区别和转换方式。内核态如同工厂的管理层,拥有最高权限;用户态则像普通工人,权限受限。用户态到内核态通过中断转换,内核态到用户态通过设置PSW指令实现,以工人遇到问题向管理层汇报(中断)为例说明转换过程。
程序状态字的作用:详细讲解PSW中工作状态代码、条件码和中断屏蔽码的含义和作用。工作状态代码指示当前CPU是内核态还是用户态,条件码反映指令执行结果特征,中断屏蔽码控制是否允许中断,如同车间的工作模式指示灯、生产结果记录板和设备运行开关。
3. 存储系统(7分钟)
存储系统的基本概念:介绍存储系统的作用,以及读写型存储器(RAM)和只读型存储器(ROM、PROM、EPROM)的特点和用途。以计算机的内存和BIOS芯片为例,说明RAM用于存放运行中的程序和数据,ROM用于固化一些重要的系统程序。
存储分块与层次结构:讲解存储分块的概念,以及存储器层次结构(寄存器 - 高速缓存 - 主存储器 - 外存储器)的设计原理。结合超市货物存储模式,寄存器和高速缓存像超市收银台附近的临时货架,存放常用物品,主存储器是普通货架,外存储器是仓库,根据物品使用频率不同存放在不同位置,提高存取效率。
存储访问局部性原理:通过分析程序的循环和函数调用等行为,解释存储访问局部性原理,即程序在一段时间内倾向于访问特定的存储区域。以玩游戏时,游戏程序频繁访问特定的代码和数据区域为例说明。
存储保护:介绍界地址寄存器和存储键两种存储保护技术的原理和实现方式。界地址寄存器如同小区的门禁系统,检查访问地址是否越界;存储键则像房间的钥匙,只有拥有匹配钥匙(存储键号)的程序才能访问相应存储块。
4. 中断机制(8分钟)
中断的定义和作用:结合实际生活中的电话铃声(中断信号)打断正在进行的工作(程序执行)的例子,讲解中断的定义和作用。强调中断可以实现主机和外设并行工作,提高系统效率和实时性。
中断系统的相关概念:介绍中断源、中断请求、中断处理程序、中断断点、中断返回、中断字和中断向量表等概念。以学生上课过程中,老师突然宣布重要消息(中断)为例,老师是中断源,宣布消息是中断请求,处理消息的方式是中断处理程序,学生被打断的学习位置是中断断点,处理完消息后继续学习是中断返回,所有可能的消息集合是中断字,查找处理消息方法的目录是中断向量表。
中断的分类:讲解强迫性中断(程序性中断、I/O中断、控制台中断、硬件故障中断)和自愿性中断(由访管指令引起)的区别,以及异步中断和同步中断的分类方式。以程序运行时出现除零错误(程序性中断)和用户主动请求系统服务(自愿性中断)为例进行区分。
中断系统的组成与工作过程:展示中断系统的硬件中断装置和软件中断处理程序的协作示意图,详细讲解中断请求的接收、中断响应(保存现场、切换到内核态、查询中断向量表获取处理程序入口地址)和中断处理(根据中断类型执行相应操作、恢复现场)的过程。以快递送达(中断请求)为例,快递员(硬件中断装置)接收快递后通知收件人(CPU),收件人保存手头工作(保存现场),查看快递信息(查询中断向量表)并处理快递(执行中断处理程序),处理完后继续原来工作(恢复现场)。
中断优先级、屏蔽和嵌套:讲解中断优先级的概念,以及如何通过中断屏蔽码屏蔽某些中断。以医院急诊为例,病情严重的患者(高优先级中断)优先处理,医生可以根据情况暂时忽略一些非紧急的呼叫(中断屏蔽)。介绍中断嵌套的概念和处理方式,如在处理一个中断过程中,又有更高优先级的中断发生,就会进行中断嵌套,如同医生在处理一个急诊患者时,突然来了一个更危急的患者,医生会先处理更危急的患者。
5. I/O技术(3分钟)
I/O结构的发展:介绍早期计算机系统中I/O结构的缺陷(处理器轮询效率低),引出通道、DMA技术和缓冲技术。以早期人工检查货物库存(处理器轮询I/O设备)效率低下,引出使用机器自动检查(通道、DMA技术)和设置临时存放区(缓冲技术)的改进方式。
通道技术:讲解通道的概念和工作原理,通道如何独立于CPU进行数据I/O传输,实现CPU和外部设备并行工作。以物流配送中心(通道)独立于生产车间(CPU)进行货物运输,提高整体效率为例说明。
DMA技术:介绍DMA技术的概念和工作过程,DMA控制器如何自动控制成块数据在内存和I/O单元之间的传送。以快递分拣机器人(DMA控制器)自动将货物(数据)从仓库(内存)搬运到运输车上(I/O设备)为例讲解。
缓冲技术:讲解缓冲技术的概念、应用场景(处理器与主存、处理器与外部设备、设备与设备之间)和作用(解决部件之间速度不匹配问题)。以高速公路收费站的缓冲区(缓存区)为例,车辆(数据)在缓冲区暂时停留,缓解了不同路段车辆通行速度不一致的问题。
6. 时钟(1分钟)
时钟的作用:介绍时钟在计算机系统中的作用,如防止死循环、实现时间片轮转、控制实时任务、定时唤醒外部事件和记录时间等。以学校的作息时间表(时钟)为例,控制课程的开始和结束(任务调度),防止课程无限延长(避免死循环)。
时钟的分类与工作原理:讲解硬件时钟(基于晶体振荡器产生脉冲)和软件时钟(利用内存单元模拟时钟寄存器)的工作原理。硬件时钟如同机械闹钟,依靠内部的机械装置(晶体振荡器)定时发出信号;软件时钟则像手机上的电子时钟,通过程序计算时间。
7. 系统调用(1分钟)
系统调用的概念:讲解系统调用的概念,系统调用是用户程序调用操作系统提供的子功能,通过特殊机器指令实现,是操作系统提供给编程人员的唯一接口。以用户在手机上使用APP(用户程序)时,APP调用手机系统的拍照功能(系统调用)为例说明。
系统调用的分类:介绍系统调用的分类,如进程控制类、文件操作类、进程通信类、设备管理类和信息维护类。以文件操作类系统调用为例,说明其实现文件的创建、打开、读写和关闭等操作。
系统调用的处理过程:结合PPT演示,讲解系统调用的处理过程,包括用户程序发出系统调用指令、陷入处理机构捕获并处理、寻找相应系统子程序入口、传递参数、执行系统子程序、保存和恢复处理机现场等。以用户程序请求读取文件为例,用户程序发出读取文件的系统调用指令,陷入处理机构根据指令找到对应的文件读取子程序入口,传递文件路径等参数,执行子程序完成读取操作,最后恢复现场继续执行用户程序。
(三)课堂讨论(5分钟)
1. 讨论问题:提出“在多道程序运行环境下,如何利用中断机制和系统调用提高系统的并发性能?”“结合存储保护技术,思考如何保障用户程序数据的安全性?”等问题。
2. 组织讨论:将学生分成小组进行讨论,鼓励学生积极发表观点,引导学生结合所学知识进行分析和讨论。教师在各小组间巡视,参与讨论,适时给予指导和启发。
3. 总结点评:各小组代表发言,分享讨论结果。教师对各小组的讨论情况进行总结和点评,强调重点知识点,纠正错误观点,进一步加深学生对知识的理解。
(四)课堂总结(3分钟)
1. 知识回顾:结合PPT,与学生一起回顾本节课所学的重点知识,包括计算机系统层次结构、CPU的工作原理、存储系统、中断机制、I/O技术、时钟和系统调用等方面的内容。
2. 强调重点:强调本节课的重点和难点,如用户态与内核态的转换、中断处理过程、系统调用的实现等,提醒学生在课后复习时重点关注。
(五)课后作业(2分钟)
1. 书面作业:布置书面作业,要求学生完成PPT中的复习题,通过书面作业巩固本节课所学的知识点,加深对操作系统运行环境相关概念和原理的理解。
2. 实践作业:让学生查阅资料,了解某一特定操作系统(如Linux)中系统调用的具体实现方式,并撰写一篇简短的报告。培养学生自主学习和查阅资料的能力,提高学生对知识的应用和拓展能力。