《计算机操作系统》学习指南

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

作为计算机专业的核心课程之一,《计算机操作系统》课程主要讲授现代操作系统经典的实现原理、方法、算法和相关数据结构,帮助学生建立系统级概念,并将操作系统的实现原理用于应用软件和系统软件的设计与开发。我校《计算机操作系统》教学除了注重知识和专业能力培养,还注重培养学生的学术研究能力和科学思维能力,以帮助学生从思维训练的角度学习操作系统的设计原理和实现技术。

作为计算机资源的管理者,操作系统负责管理计算机中的各类软硬件资源,保障计算机系统有效且高效地运行。课程教学中从两个角度剖析计算机操作系统,一方面,从管理学的角度,把操作系统看作计算机资源的管理器,分析操作系统如何有效且高效地管理处理器、存储器、I/O设备和文件等软硬件资源;另一方面,从软件工程的角度,将计算机操作系统看作一种大型系统软件,按照模块化的思想,将其划分为处理器管理子系统(即进程管理子系统)、存储管理子系统、I/O设备管理子系统和文件管理子系统等几个较小的子系统。再分别研究各子系统的设计与实现技术。上述两个角度可以交替进行,不妨可以将操作系统比拟为一个公司的财务总监,其主要责任即准确实时登记公司的各类资产情况,以确保公司各部门能高效运转。同时,培养学生的软件工程设计能力,以操作系统设计者的身份,与老师一道共同设计实现操作系统的各功能模块。计算机操作系统中包含若干工程训练和计算思维训练的实例。希望同学们在学习过程中认真体会:

(1)化繁为简:模块化设计

作为一个大型复杂的系统软件,操作系统的设计和开发必须遵循化繁为简的思想,采用模块化设计方法,将一个复杂的大系统划分为几个较简单的、相对独立的子系统。一般地,根据操作系统管理的计算机资源类型不同,可以将操作系统划分为处理机管理子系统(常称为进程管理子系统)、存储管理子系统、I/O设备管理子系统和文件管理子系统等几个独立的子系统。

其中,进程管理子系统主要实现进程的并发控制、处理器的有效竞争使用(进程调度)、多进程并发潜在引起的死锁问题的解决等功能。存储管理子系统实现内存的划分、为进程分配存储空间并实时回收可用空间、虚拟存储技术的实现等功能。I/O设备管理子系统实现外部设备的分配与回收、缓冲存储的实现、多进程对磁盘I/O访问的请求与服务等功能。文件管理子系统实现文件的组织、文件目录管理、为文件分配磁盘存储空间等功能。上述诸功能的实现依赖各类数据结构,例如进程控制块PCB、进程页表、设备分配表、文件分配表等,以及大量算法,如进程调度、页面置换、磁盘调度等算法。

模块化思想是计算思维的基本要素之一。以操作系统的设计与实现为例,训练学生如何将一个大型软件划分为若干较小的模块,再对各模块进行需求分析和功能设计。

(2)队列与调度

超市结账、银行办理业务、乘车排队等生活中的排队现象司空见惯。一般地,按照约定俗成,排在队首者优先获得服务,这其实就是一种调度算法—先来先服务。计算机中存在很多队列,如进程队列(阻塞队列、就绪队列、I/O等待队列等)、作业队列等。凡是存在队列的地方,都需要某种调度策略,以服务于队列中的各对象。因此,操作系统中需要讲解进程调度、作业调度、磁盘调度等调度算法。

如何更好地讲解各种调度算法,训练学生的计算思维呢?笔者认为,操作系统中出现的各类调度算法本身不难,重点是通过学习,让学生学会如何研究算法、评价其性能,并进行改进,在这样的学习过程中训练学生的科研能力和计算思维。因此,此类内容适合于让学生预习自学,完成相关模拟实验,并组织学生互动讨论,启发学生从日常生活中提出简单的调度算法,再逐步改进完善,进行研究性学习。历经数年的教学改革实践证明,该方法切实可行,部分学生完全有能力通过自学,以研究方式设计、改进调度算法,完成模拟实验。通过互动讨论交流,其学习经验对其他同学亦具有激励和示范作用。

(3)多道程序设计技术:并发与并行

现代计算机系统一般都支持多道程序设计技术,即允许多道程序(进程)同时驻留内存,在单处理器系统中,某时刻只允许一道程序运行(称为多任务并发)。当正在运行的那道程序(进程)因为某种原因(比如等待输入或输出数据)暂时不能继续运行时,系统将自动地启动另一道程序(进程)运行;一旦原因消除(比如数据已经到达或数据已经输出完毕),暂时停止运行的那道程序(进程)在将来某个时候还可以被调度继续运行。在多处理器系统中,某时刻允许多个任务同时运行,称为多任务并行。与传统的支持单道程序设计技术的系统相比,支持多道程序设计技术的计算机系统能显著提高效率。

单处理器系统中的并发实质上是一种串行技术,通过进程调度实现处理器的快速切换,在一段时间内完成多个任务。可见,在个人计算机中同时打开多个QQ窗口、播放音乐、收发电子邮件等任务,都是通过CPU快速切换执行各应用程序完成的。

多道程序设计技术是现代操作系统的核心技术之一,也是一种非常重要的计算思维。教学中,首先分析多道程序设计技术的概念,剖析其实现技术,区分单

处理器和多处理器系统中的实现差异。要求学生掌握单处理器多道程序系统中,如何控制进程并发执行,如何实现进程同步与互斥。操作系统课程将进程的同步与互斥抽象成生产者/消费者、读者/写者以及哲学家进餐三类经典问题,以此为例,训练学生如何实现多进程同步与互斥的计算思维能力。

(4)缓冲与多级存储体系

人们外出时,通常会携带一个随身包,其中装有一些日常必备用品,或装一些外出办事临时的资料用品等,这就是一种缓冲技术。缓冲技术是现代计算机系统中常用的技术,它利用多余的空间存储一些最近常用的数据,以加速数据的访问速率。计算机中存在各种各样的缓冲区,例如,由于CPU的处理速度比访问内存的速度快,在CPU中配置高速寄存器,存储CPU最近经常处理的数据和指令,避免每次访问内存而降低计算机的效率。再如,由于内存的访问速率比磁盘的访问速率快,在内存配置缓冲区,用于存储输出到磁盘或从磁盘输入内存的数据。由于本地磁盘的访问速率比网络存储访问速率快,在本地磁盘中配置缓冲区,存储最近访问网络的数据等。

利用缓冲技术,用多余的空间换取时间,可以构建计算机的多极存储体系。下图示意了现代计算机金字塔结构的多级存储体系,即以容量小、价格昂贵、访问速度快的寄存器为塔尖,以容量大、价格便宜、访问速度慢的外部存储器(如磁盘)为塔基,塔身由存储容量、价格、访问速率等逐步变化的各级缓存和物理内存构成。

图现代计算机的多级存储体系

操作系统负责管理计算机系统中的各类缓冲存储区,包括缓冲区的分配与回收、缓冲区内容的更新与置换等。该部分教学主要训练学生理解缓冲技术的基本原理、缓冲技术的应用、缓冲区内容的置换算法等计算思维能力和方法,并启发学生将缓冲技术从单机系统拓展到网络环境,将缓冲技术提升为一种计算思维。(5)中断技术

现代计算机利用中断技术,支持多任务并发执行。当前正在执行的任务因为

相关文档
最新文档