(二)知识讲解(60分钟)
1.操作系统的概念(15分钟)
计算机系统组成(3分钟):通过PPT展示计算机硬件系统的实物图和架构图,详细介绍CPU、内存、外存、输入输出设备等硬件组件的功
能和相互关系。结合日常生活中图书馆的例子,将硬件系统类比为图书馆的建筑和设施,是图书馆运营的实体基础;软件系统则如同图书馆
的图书管理规则和各类书籍,保证图书馆的有序运作。强调硬件系统和软件系统相互依存,共同构成计算机系统,而操作系统是连接硬件与
上层软件的关键桥梁。
操作系统定义(3分钟):深入阐述操作系统是集中了资源管理功能和控制程序执行功能的软件集合。详细解释其如何有效组织和管理计算
机系统中的硬件及软件资源,例如通过数据结构记录资源的名称、类型、数量、使用状态等信息,并实时更新;如何根据用户需求和作业特点合理组织计算机工作流程,确保程序有序执行;以及如何向用户提供各种服务功能,如为程序开发人员提供编程接口,为普通用户提供操作界面。以学校教务处管理教学资源为例,类比操作系统管理计算机资源,让学生更易理解。
操作系统特征(4分钟):结合实例详细讲解并发性、共享性、随机性、虚拟性和异步性这五个特征。以多个学生同时在图书馆不同区域学习,类比多个程序在计算机中并发执行,每个学生相当于一个程序,不同区域类比为不同的执行空间;以图书馆的桌椅、书籍等资源被不同学生共享,讲解资源共享的互斥和同时共享两种方式,如桌椅一次只能被一个学生使用属于互斥共享,书籍可被多个学生同时借阅属于同时共享;以图书馆随时可能接到新书入库通知,类似计算机接收外部设备中断信号,解释随机性;通过虚拟内存技术,将其比作图书馆的虚拟书架,逻辑上扩充存储空间,虚拟书架可以根据需要随时调整大小,如同虚拟内存可以根据程序需求动态分配空间,介绍虚拟性;以不同学
生完成学习任务的速度不同且不可预知,类比多道程序环境下进程执行的异步性,每个程序的执行速度受到资源分配和其他程序的影响,无
法预先确定。
研究操作系统的观点(3分钟):分别详细讲解软件的观点、资源管理的观点、服务提供者观点、进程的观点和虚机器的观点。从软件的观点出发,分析操作系统作为大型软件系统的外在特性,如操作命令和界面,以Windows和Linux的命令行和图形界面为例,说明不同操作系统的外在表现差异;内在特性,如软件结构特点,包括模块划分、层次关系等。以资源管理的观点,举例说明操作系统如何像图书馆管理员管理图书资源一样,对计算机资源进行登记、协调、保护和扩充,如记录资源的使用情况、解决资源竞争问题、防止非法访问和通过虚拟技术扩充资源等。从服务提供者观点,强调操作系统为用户提供比裸机更强大、更便捷的服务,使用户能更高效地使用计算机。从进程的观点,介绍操作系统可视为多个同时独立运行的程序和一个对这些程序进行协调的核心所组成,进程分为用户进程和系统进程,操作系统负责控制和协调它们的运行。从虚机器的观点,解释操作系统把计算机(裸机)扩充为功能更强、使用更方便的虚拟计算机,操作系统的全部功能构成了虚拟计算机的功能集。
操作系统功能(12分钟):对进程管理、存储管理、文件管理、作业管理和设备管理这五大功能进行深入剖析。
进程管理(3分钟):以工厂生产线安排工人工作为例,详细讲解进程管理对中央处理器的管理作用。进程控制方面,介绍创建进程如同招聘新工人入职,撤销结束的进程如同工人完成任务离职,控制进程运行时的各种状态转换,如工人在不同生产环节间的转换。进程同步中,以多个工人协作组装产品为例,说明互斥是指某些工具(临界资源)一次只能被一个工人使用,同步是指工人之间需要按照一定顺序协作完成任务。进程间通信则如同工人之间传递信息,确保工作协调进行。调度方面,类比为安排工人的工作时间,包括线程调度、进程调度和作业调度等,不同的调度算法就像不同的排班策略,影响着生产效率(CPU资源利用率)。
存储管理(3分钟):通过对比不同的内存分配方式,如固定分区、可变分区和页式管理,详细讲解存储管理的功能。固定分区如同将教室固定划分给不同班级,分区大小固定不变,虽然管理简单但容易造成内存浪费或不足;可变分区根据程序大小动态划分内存空间,如同根据班级人数临时调整教室大小,提高了内存利用率,但可能产生内存碎片;页式管理将内存和程序都划分为固定大小的页,便于管理和调度,类似将书籍和书架都划分成固定大小的格子存放,通过页表实现逻辑地址到物理地址的转换。同时介绍内存的分配与回收过程,以及存储保护的重要性,防止程序越界访问,保障系统安全。
文件管理(3分钟):以图书馆的图书分类和检索为例,详细讲解文件管理的任务。文件存储空间的管理如同图书馆对书架空间的管理,设置专门的数据结构记录文件存储空间的使用情况,采用离散分配方式提高空间利用率。目录管理如同图书馆的图书目录,为每个文件建立目录项,对目录项进行有效组织,方便用户按名存取文件。文件系统的安全性如同图书馆对图书借阅权限的管理,包括文件的读写权限管理以及存取控制,防止未经核准的用户存取文件,防止越权访问文件,防止使用不正确的方式访问文件。
作业管理(2分钟):以学生提交作业等待批改流程为例,介绍作业管理为用户提供一个使用系统的良好环境。作业管理负责接收用户提交的作业,根据作业的特点和系统资源情况进行合理调度,使用户能有效地组织自己的工作流程,并使整个系统高效运行。
设备管理(1分钟):以学校机房管理员管理电脑设备为例,讲解设备管理是对计算机系统中除了CPU和内存以外的所有输入、输出设备的管理。操作系统的设备管理功能负责外部设备的分配、启动和故障处理,确保设备正常运行,为用户提供稳定的设备使用体验。操作系统运行特权级别(3分钟):通过PPT动画展示用户态和内核态的执行环境差异,详细讲解用户态下代码执行的限制,如不能随意修改系统关键配置,以修改系统时间为例,普通用户在用户态下无法直接修改系统时间,需通过系统调用在内核态下完成;内核态下代码对系统资源的无限制访问权限。结合系统调用(如程序请求读取文件)、异常(如程序运行时发生除零错误)和外围设备中断(如网卡接收到数据后向CPU发送中断信号)的实际场景,深入剖析用户态与内核态的切换过程。系统调用时,用户态进程主动发起请求,通过特定机制切换到内核态执行相应服务程序;异常发生时,CPU暂停当前程序执行,切换到内核态处理异常;外围设备中断时,CPU根据中断信号切换到内核态执行相应的中断处理程序。
2. 操作系统的发展(10分钟)发展历程(6分钟):按照电子管时代、晶体管时代、集成电路时代、大规模/超大规模集成电路时代的时间顺序,结合每个时代计算机硬件的特点,详细介绍操作系统的演变过程。在手工操作阶段,讲述程序员如何通过穿孔卡片输入程序,展示穿孔卡片的图片和使用方式,计算机的计算速度与手工操作速度的巨大差异,如手工穿卡速度慢,而计算机处理速度相对较快,但等待穿卡时间长,此时计算机资源利用率极低。在早期批处理阶段,介绍监督程序的出现如何解决手工操作与计算机计算速度不匹配的问题,以及单道批处理的工作流程,详细描述作业从提交到执行的过程,包括操作员将卡片成批输入计算机、监督程序依次处理作业、输出结果等环节,虽然提高了一定的效率,但仍存在资源浪费的情况。多道批处理阶段,强调硬件发展,如通道技术的出现,讲解通道如何实现输入/输出操作与CPU操作并行处理,以及多道批处理系统如何提高系统资源利用率,通过同时在内存中存放多个程序,CPU在不同程序间切换执行,减少CPU空闲时间。分时与实时系统阶段,介绍批处理系统不适合交互式作业的局限性,以及分时系统如何满足交互式工作方式的需求,多个用户通过终端设备与计算机交互作用来运行自己的作业,并且共享一个计算机系统而互不干扰;实时系统则在规定时间内及时响应外部事件请求,完成事件处理,控制实时设备和实时任务协调一致工作。UNIX通用操作系统阶段,详细介绍贝尔实验室的Ken Thompson和Dennis M. Ritchie设计的UNIX操作系统,强调其用C语言编写带来的可移植性优势,以及在不同计算机设备上的广泛应用,介绍其树形文件系统、安全机制、功能强大的shell等特点,UNIX为后续操作系统的发展提供了许多重要的理念和技术。个人计算机操作系统阶段,介绍20世纪70年代末期出现的面向个人计算机的操作系统,如微软公司的MS DOS操作系统,属于单用户单任务操作系统;1984年苹果推出交互式图形功能的操作系统,1992年微软推出交互式图形功能的Windows 3.1,1995年Windows 95出现,Windows成为个人计算机主流操作系统;1991年Linus公布Linux操作系统,继承UNIX全部优点,开放源码,Linux极其健壮,这些操作系统的出现极大地改变了人们使用计算机的方式。
举例说明(4分钟):以早期批处理系统中程序员提交作业的具体流程为例,从程序员编写程序(使用机器语言,展示机器语言指令的示例)、穿孔成卡片(模拟穿孔过程),到操作员将卡片成批输入计算机(展示输入设备的图片和工作方式),再到计算结果的输出和交付(如通过打印机输出结果,展示打印机打印作业的场景),详细展示手工操作与批处理方式的巨大区别,让学生深刻体会操作系统发展的必要性。详细介绍UNIX操作系统用C语言编写带来的可移植性优势,以及其在不同计算机设备上的广泛应用,如从笔记本计算机、PC机、工作站直至巨型机上都能运行,展示不同设备运行UNIX系统的图片,强调UNIX在操作系统发展史上的重要地位,如为后续操作系统的发展提供了许多重要的理念和技术,如树形文件系统、进程管理机制等。
3. 操作系统分类(15分钟)
基本类型(9分钟):对批处理系统、分时系统和实时系统这三种基本类型进行详细讲解。
批处理操作系统(3分钟):详细分析批处理系统的基本工作方式,收到一定数量的用户作业后,组成一批作业,输入到计算机,在系统中形成一个连续的、自动转接的作业流。阐述其特点与分类,优点是成批处理、系统资源利用率高、作业吞吐率高、作业流程自动化较高、作业吞吐量大,例如在大型数据处理中心,使用批处理系统可以高效地处理大量的数据计算任务;缺点是用户不能直接与计算机交互,不适合调试程序,以调试程序为例,用户在批处理系统中无法实时查看程序运行状态和修改代码。介绍其设计思想,简单批处理系统在操作系统发展早期出现,操作员将若干作业合并成一批作业安装在输入设备上,启动监控程序后,监控程序自动控制这批作业的执行,作业的运行以及作业之间的衔接都由监控程序自动控制,有效地提高了作业运行的效率。讲解作业控制说明书的作用,在简单批处理系统中,作业的运行步骤由作业控制说明书传递给监控程序,作业控制说明书是由作业控制语言编写的一段程序,通常存放在被处理作业前面,监控程序读入并解释其中的语句,以控制各个作业步的执行。介绍一般指令和特权指令的概念,运行模式分为用户模式和特权模式,机器指令分为一般指令和特权指令,特权指令如输入/输出指令、停机指令,只有监控程序能执行特权指令,用户程序只能执行一般指令,用户程序向操作系统请求功能通过系统调用(广义指令)完成。详细讲解系统调用的过程,系统调用发生时,处理器通过特殊机制,如中断或者异常处理,把控制流程转移到监控程序内的特定位置,同时处理器模式转变成特权模式;监控程序执行被请求的功能代码;结束之后,监控程序恢复系统调用之前的现场,从特权模式恢复成为用户方式,将控制权转移回原来的用户程序。介绍SPOOLing技术,为提高硬件资源利用率,批处理系统发展为多道批处理系统,关键技术包括多道程序运行和SPOOLing技术等,SPOOLing技术全称是“同时的外部设备联机操作”,借助硬件通道技术,实现输入输出操作和处理器动作的自动并行处理,通道可看作专门的I/O处理机,能自主控制外设与CPU并行工作,为多道程序设计提供重要基础,以打印机打印任务为例,通过SPOOLing技术,打印任务可以先存储在磁盘的输出井中,打印机空闲时再从输出井中读取任务进行打印,提高了打印机的利用率。
分时系统(3分钟):讲解分时操作系统出现在批处理操作系统之后,是为了弥补批处理方式不能向用户提供交互式快速服务的缺点。详细介绍其基本工作方式,用户通过终端交互式地向系统提出命令请求,系统接受用户的命令之后,采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果,用户根据系统送回的处理结果发出下一道交互命令,以用户在终端上输入命令执行简单计算任务为例,展示分时系统的交互过程。阐述其设计思想,将CPU的时间划分成若干个小片段,即时间片,操作系统以时间片为单位,轮流为每个终端用户服务。分析其特点,分时操作系统具有多路性、交互性、独占性和及时性的特点,多路性指有多个用户在同时使用一台计算机,如机房中多个学生同时使用计算机;交互性指用户根据系统响应的结果提出下一个请求,用户直接干预操作每一步的进行,如用户在编辑文档时可以实时看到输入的内容;独占性指每个用户感觉不到计算机为其他人服务,这是因为时间片切换速度快,用户来不及察觉其他用户的存在;及时性指系统能够对用户提出的请求及时给予响应,通过测试系统响应时间来展示及时性的体现。介绍通用操作系统结合了分时系统与批处理系统两种系统的特点,分时优先,批处理在后,在通用操作系统中,一般把系统的分时和批处理运行状态称为前台和后台,在系统的“前台”响应需频繁交互的作业,如大量终端的处理要求;而“后台”则处理对时间性要求不强的作业,以Windows操作系统为例,用户正在进行的文件编辑等交互操作在前台进行,而系统的自动更新等任务在后台运行。
实时操作系统(3分钟):讲解实时操作系统(RTOS:Real Time Operating System)是在规定时间内,及时响应外部事件请求,完成事件处理,控制实时设备和实时任务协调一致工作。介绍其分类,分为硬实时和软实时,硬实时对关键事件的响应和处理时间严格要求,否则产生严重后果,如汽车安全控制系统,一旦出现异常必须立即处理;软实时对事件响应和处理时间有一定要求,不满足要求会影响服务质量,但不会引发严重后果,如视频播放系统,偶尔的卡顿不影响整体观看体验。讲解实时系统为实现硬实时或软实时的要求,需要具备的能力,实时时钟管理,实时任务根据时间要求可分为定时任务(依据用户定时启动并按严格时间间隔重复运行,如定时数据采集任务)和延时任务(非周期运行,允许延后执行但有严格时间界限,如某些设备故障后的延迟处理任务);依据任务功能可分为主动式任务(依据时间间隔主动运行,多用于实时监控,如网络流量实时监控)和从动式任务(依赖外部事件发生,如传感器检测到异常触发的任务)。过载防护,实时任务的启动时间和数量具有随机性,突发大量实时任务可能超出系统处理能力导致过载,实时系统需迅速分析判断,抛弃或延后次要任务以保证重要任务执行,以交通控制系统在车流量高峰时优先处理紧急交通信号为例。高可靠性,高可靠性是实时系统的设计目标之一,实时操作系统需要有很强的健壮性和坚固性,如航天控制系统必须保证极高的可靠性,通过冗余设计、错误检测和恢复机制等手段实现。
其他类型(3分钟):介绍个人计算机操作系统是一种单用户的操作系统,以Windows和Mac OS为例,讲解其主要特点,计算机在某一时间内为单个用户服务,采用图形界面人机交互的工作方式,界面友好,使用简单方便,用户无需专门知识也能使用系统,如普通用户可以轻松通过图形界面进行文件管理、软件启动等操作。介绍网络操作系统是基于计算机网络的、在各种计算机操作系统之上按网络体系结构协议标准设计开发的软件,讲解计算机网络的不同模式,集中式模式下运算处理在主计算机里发生,终端仅作为输入/输出设备使用,通过连接两台或更多主机的方式构成计算机网络;分布式模式下每台计算机都有运算处理能力,多台计算机通过网络交换数据并共享资源和服务,网络环境中的计算机不仅能共享数据、资源及服务,还能够共享运算处理能力,以企业内部网络为例,部分业务在分布式模式下可由多台计算机协同处理。介绍分布式操作系统是网络操作系统的更高级形式,除保持网络操作系统的各种功能外,还具备系统中的所有主机使用统一的操作系统、资源深度共享(通过统一调度,计算任务可在不同主机间迁移执行,如分布式数据库查询任务可分配到不同主机处理)、透明性(用户不知道分布式系统运行在多少台计算机上,主机地理位置差异对用户透明,如使用云存储服务时用户感觉像使用本地存储)、自治性(各个主机之间没有主从关系,一个主机的失效一般不会影响整个分布式系统,如分布式文件系统中某台存储服务器故障时系统仍能正常提供服务)等特征,以及分布式系统的优点,分布式(以较低成本获得较高运算性能)、可靠性(当一个计算机系统发生故障时,整个分布式系统仍旧能够工作,适用于高可靠环境),并介绍机群操作系统专门服务于机群,机群由一群处理器密集构成,可利用低成本设备构造出高性能机群。介绍嵌入式操作系统用于工业控制、交通管理、信息家电等嵌入式系统,设计紧凑、高效,只保留特定应用程序所需功能,以智能手环、智能家居设备中的操作系统为例,讲解其特点,系统内核小(因资源有限,内核比传统操作系统小得多,以减少资源占用)、专业性强(与硬件紧密结合,针对不同任务和设备定制移植,如智能门锁操作系统专注于安全认证和门锁控制)、系统精简(不需要复杂功能设计,降低成本和提高安全性)、高实时性(能及时响应外部事件和中断,保证任务执行顺序和完成时间,如汽车发动机控制系统需实时响应传感器信号)、多任务(支持多任务调度和管理,合理分配利用系统资源,如智能家电可同时处理多个任务,如智能冰箱同时监控温度和控制制冷)。
典型操作系统特点对比(3分钟):通过制作详细的对比表格,从工作方式、资源利用、用户交互、适用场景等多个维度,对单道批处理、多道批处理、分时系统、实时系统、网络操作系统和分布式操作系统等典型操作系统进行对比分析。在工作方式上,单道批处理是串行处理作业,多道批处理是多道程序交替执行,分时系统是按时间片轮转服务多个用户,实时系统是及时响应外部事件;在资源利用方面,单道批处理CPU资源利用率低,多道批处理提高了资源利用率,分时系统需平衡各用户资源分配,实时系统根据任务优先级分配资源;在用户交互方面,单道批处理和多道批处理用户不能直接交互,分时系统交互性强,实时系统根据任务类型决定交互程度;在适用场景方面,单道批处理适用于简单任务且资源需求低的场景,多道批处理适用于大量非交互式任务,分时系统适用于交互式任务,实时系统适用于对时间要求严格的任务,网络操作系统适用于计算机网络环境,分布式操作系统适用于需要高性能和高可靠性的分布式计算场景。让学生通过观察表格,直观地理解不同操作系统的差异,加深对各类操作系统特点的记忆。
4. 操作系统设计(10分钟)
设计困难(3分钟):以大型操作系统项目,如Windows、Linux等为例,展示其庞大的代码量和复杂的接口信息,讲解操作系统设计过程中面临的设计复杂程度高的问题,程序长、接口信息多、动态性强、并行性强,不同部分之间可以同时操作,如Windows系统涉及众多功能模块和复杂的硬件驱动接口,各模块间相互影响。讲解正确性难以保证的原因,操作系统包含很多功能成份,各种外部设备的接口复杂,导致操作系统源代码的正确性较难以保证,如不同型号的显卡、网卡驱动程序开发难度大,容易出现兼容性问题,操作系统的正确性依靠软件工程的规范来保证。介绍研制周期长的特点,一般的软件研制开发周期包括需求分析(用户提供软件需求,制作软件规格说明书)、设计(根据规格说明书进行软件设计)、实现(编写程序、调试、测试并整理开发文档)、应用与改进(提交用户使用,在应用中不断改进提高软件品质),操作系统的开发由于其复杂性,研制周期更长,如一个新的操作系统版本从规划到稳定发布可能需要数年时间。
设计过程(3分钟):介绍操作系统的设计过程可分为功能设计、算法设计和结构设计,且三方面设计互相渗透,不能截然分开。功能设计,根据系统的设计目标和使用要求,确定所设计的操作系统应具备哪些功能,以及操作系统的类型,如针对移动设备设计的操作系统更注重功耗管理和图形界面优化,针对服务器设计的操作系统更强调稳定性和资源管理能力。算法设计,根据计算机的性能和操作系统的功能,选择和设计满足系统功能的算法和策略,并分析和估算其效能,以进程调度算法为例,分析不同算法(如先来先服务、短作业优先、时间片轮转)的特点和适用场景,以及如何选择合适的算法满足系统性能需求,如在分时系统中选择时间片轮转算法保证每个用户都能及时得到响应。结构设计,按照系统的功能和特性要求,选择合适的结构,使用相应结构设计方法将系统逐步地分解、抽象和综合,使操作系统结构清晰、简明、可靠、易读、易修改,而且使用方便,适应性强,如采用层次式结构可以使操作系统各模块间层次分明,便于维护和扩展。
设计目标(2分钟):阐述一个高质量的操作系统应具有可靠性、高效性、易维护性、易移植性、安全性和简明性等特征。可靠性包括正确性和健壮性,正确性受并发、共享以及随之带来的不确定性影响,要求系统能动态地应付随时发生的各种内部和外部事件,如在多用户并发访问时保证数据的一致性和完整性。高效性指提高系统中各种资源的利用率,如合理调度CPU、内存等资源,减少资源闲置时间。易维护性包括易读性、易扩充性、易剪裁性、易修改性等含义,如采用模块化设计可以提高代码的易读性和可维护性,方便添加新功能或修改现有功能。可移植性指把一个程序系统从一个计算机系统环境中移到另一个计算机系统环境中并能正常运行的特性,如Linux操作系统可以在多种硬件平台上运行。安全性是操作系统的重要目标,为保护用户的程序和数据提供了最基本的安全机制,如设置用户权限、访问控制列表等防止非法访问。简明性要求操作系统结构清晰、功能简洁,避免过于复杂的设计,降低系统的开发和维护成本,如在设计时避免过多的层次和复杂的逻辑关系。
体系结构(2分钟):介绍常见的操作系统体系结构有整体式结构、层次式结构、微内核(客户/服务器)结构和外核结构等。整体式结构,首先确定操作系统的总体功能,将总功能分解为若干个子功能,实现每个子功能的程序称为模块,按照功能将每个大模块分解为若干个较小的模块,直至每个模块仅包含单一功能或紧密联系的小功能为止,通过接口将所有模块连接起来形成一个整体,称之为模块组合结构。讲解其优点,结构紧密,接口简单直接,系统效率较高;缺点,模块间转接随意,各模块互相牵连,独立性差,系统结构不清晰,数据基本上作为全程量处理,系统内所有模块的任一程序均可对其进行存取和修改,从而造成了各模块间有着更为隐蔽的关系,要更换一个模块或修改一个模块都比较困难,模块组合结构常以大型表格为中心,为保证数据完整性,往往采用全局封中断办法,从而限制了系统的并发性。层次式结构,力求使模块间调用的无序性变为有序性,把操作系统的所有功能模块,按功能流图的调用次序,分别将这些模块排列成若干层,各层之间的模块只能是单向依赖或单向调用关系,结构清晰,且不构成循环。讲解其优点,各模块之间的组织结构和依赖关系清晰明了,增加了系统的可读性和可适应性,每一步都建立在可靠的基础上,只要下层的各模块设计是正确的,就为上层功能模块的设计提供了可靠基础,从而增加了系统的可靠性;对操作系统增加或替换掉一层而不影响其他层次,层次结构法设计的操作系统具有易于调试、易于修改、易于扩充、易于维护、易于保证正确性等优点,并介绍分层原则,为增加可适应性和方便移植,把与机器特点紧密相关的软件,如中断处理、输入输出管理等放在紧靠硬件的最低层;为便于操作方式转变,把共同使用的基本部分放在内层,把改变部分放在外层;为给进程提供环境和条件,系统调用的各功能构成操作系统内核,放在系统内层。微内核(客户/服务器)结构,客户/服务器结构的操作系统适于应用在网络环境下分布式处理的计算环境中,又称为微内核体系结构,特点是运行在内核态的内核提供所有操作系统都具有的操作,如线程调度、虚拟存储、消息传递、设备驱动以及内核的原语操作集和中断处理等;运行在用户态的并以客户/服务器方式运行的进程层,除内核部分外,操作系统所有的其他部分被分成若干个相对独立的进程,每一个进程实现一组服务,称为服务进程,这些服务进程可以提供各种系统功能、文件系统服务以及网络服务等,服务进程的任务是检查是否有客户机提出要求服务的请求,并在满足客户机进程的请求后将结果返回。讲解其优点,分成若干小的自包含分支(服务进程),分支运行在独立进程中,通过规范一致方式收发消息,内核中建立最小机制,策略留给服务进程,灵活性强,可靠(分支独立自包含,某个服务器失败,不会引起其他服务器崩溃),灵活(便于新功能,接口规范,修改服务器代码不影响系统其他部分,可维护性好),适于分布式处理环境(不同服务运行在不同计算机上,具有分布式处理能力);缺点,只能通过微内核通信,通信频繁时,效率低。外核结构,外核结构(Exokernel)中,内核负责的主要工作仅仅为简单的申请操作以及释放和复用硬件资源,其由以往操作系统提供的抽象全部在用户空间中运行,这种方式实现了应用级资源管理,即由应用程序而不是操作系统管理硬件资源。
5. 操作系统启动(10分钟)引导方式(3分钟):介绍BIOS引导,BIOS是存储在BIOS芯片中的程序,当计算机启动时,BIOS会执行硬件自检并初始化硬件配置,通过PPT动画详细展示硬件自检过程,如检查CPU、内存、硬盘等硬件设备是否正常工作,后根据CMOS中用户指定的硬件启动顺序,读取相应设备的启动或引导记录,引导相应设备上的操作系统启动。介绍UEFI引导,UEFI是一种新型的固件接口,采用模块化、高级语言(主要是C语言)构建的一个小型化系统,直接利用加载EFI驱动的方式,识别系统硬件并完成硬件初始化,对比UEFI引导与BIOS引导的优势,如UEFI引导速度更快、支持更大容量的存储设备等。
引导过程和启动机制(4分钟):详细讲解操作系统的引导过程,计算机开机,BIOS自检并检测第一个能够引导系统的设备,如硬盘或光驱,展示BIOS自检界面和检测设备的过程;运行MBR扇区的启动程序,如GRUB引导程序,介绍MBR扇区和GRUB引导程序的作用;GRUB引导程序读取配置文件获取内核和镜像文件系统的设置以及路径位置,讲解GRUB配置文件的格式和内容;内核和镜像文件系统加载到内存,说明加载过程中内存的分配和数据传输;加载硬件驱动程序,初始化进程,介绍硬件驱动程序的加载顺序和进程初始化的步骤。深入讲解操作系统的启动机制,BIOS程序将存储设备的引导记录(Boot Record)载入内存,执行引导记录中的引导程序(Boot);引导程序将存储设备中的操作系统内核载入内存,进入内核入口点开始执行;内核完成系统初始化,允许用户进行交互,包括初始化系统资源、建立进程管理机制、启动服务等过程。
典型程序执行流程(3分钟):以一个简单的文本编辑程序为例,详细讲解一个程序的典型执行流程。用户通过操作系统启动程序,如双击文本编辑程序图标;操作系统将程序从磁盘加载到内存中,介绍磁盘读取数据和内存分配的过程;操作系统为程序分配资源,如CPU时间、内存空间和输入/输出设备,讲解资源分配的策略和算法;程序开始执行,由CPU按顺序执行指令,展示CPU执行指令的过程;程序可能会与操作系统交互,请求服务,如读写文件或访问网络,以保存文件为例讲解程序与操作系统的交互过程;程序执行完毕后,操作系统回收其占用的资源,说明资源回收的方式和意义。
(三)课堂讨论(15分钟)
1. 提出问题:提出具有启发性和讨论价值的问题,如“在当前的云计算环境下,批处理系统、分时系统和实时操作系统分别会面临哪些新的挑战和机遇?请举例说明”“结合人工智能应用的特点,分析哪种操作系统体系结构更适合支持人工智能计算任务?为什么?”“随着物联网技术的发展,嵌入式操作系统需要具备哪些新的特性?”
2. 分组讨论:将学生分成若干小组,每组5 - 6人,让学生围绕问题展开讨论。在讨论过程中,鼓励学生积极发表自己的观点,互相交流和启发,教师在各小组间巡视,适时给予引导和提示,如引导学生从资源管理、任务调度、系统性能等方面分析问题。
3. 小组发言与总结:每组推选一名代表进行发言,分享小组讨论的结果。其他小组可以进行补充和质疑。教师对各小组的发言进行点评和总结,纠正错误观点,补充遗漏知识点,进一步加深学生对操作系统相关知识的理解和应用能力,如在讨论云计算环境下操作系统的挑战和机遇时,总结不同操作系统在资源弹性分配、多租户管理等方面的应对策略。
(四)课堂总结(5分钟)
1. 回顾重点:通过PPT回顾本节课的主要内容,包括操作系统的概念、发展、分类、设计和启动等方面的重点知识,如操作系统的定义、功能、特征,各类操作系统的特点,操作系统设计目标和体系结构,操作系统的启动过程等,强化学生的记忆。
2. 强调重点:强调操作系统在计算机系统中的核心地位和重要作用,提醒学生在课后复习时重点关注教学重难点内容,如多道批处理系统的原理、用户态与内核态的切换机制等。对学生在课堂上的表现进行总结和鼓励,激发学生继续学习操作系统后续知识的积极性。
(五)课后作业(5分钟)
1. 书面作业:布置书面作业,让学生完成PPT中复习题部分的题目,要求学生认真书写答案,对每道题进行详细分析和解答,通过书面作业巩固本节课所学的知识点,加深对操作系统概念、功能、分类等内容的理解,如让学生分析批处理系统和分时系统在资源利用率和用户交互性方面的差异。
2. 拓展作业:让学生查阅专业文献、技术论坛或相关书籍,了解当前最新的操作系统发展动态,如鸿蒙操作系统在万物互联领域的创新应用,或者分析某一款新型操作系统(如Fuchsia OS)的特点和优势。要求学生撰写一篇800 - 1000字的报告,培养学生自主学习和信息收集、分析的能力,在报告中要求学生阐述新型操作系统对现有操作系统理念的继承和创新,以及对未来计算机应用的影响