计算机操作系统课程教学大纲
《计算机操作系统》教学大纲

《计算机操作系统》教学大纲课程名称:计算机操作系统总学时:68 理论学时:56 实验学时:12一、课程性质及培养目标《操作系统》是计算机科学与技术等专业的专业课之一。
本课程将全面系统地介绍操作系统的基本理论与基本工作原理,包括操作系统内部工作过程与结构及相关概念、技术和理论,并作为实例介绍目前主流操作系统Windows的工作原理。
在各章节中会介绍当前主流操作系统Windows的各部分功能及实现作为实例,以求学生对操作系统的基本理论和原理能够融会贯通。
通过本课程的学习,要求学生理解操作系统在计算机系统中的作用、地位和特点,熟练掌握和运用操作系统在进行计算机软硬件资源管理和调度时常用的概念、方法、算法、策略等。
二、课程的教学原则与方法在总结操作系统课程教学实践经验的基础上,结合课程自身的特点,制定本课程的教学原则为:理论讲解和实践相结合的教学原则。
在教学过程中采用的教学方法主要有:以语言形式获得间接经验的方法(例如讲授法、讨论法、读书指导法等),以直观形式获得直接经验的方法(例如演示法),以实际训练形式形成技能、技巧的教学方法(例如讲练结合法、实验法等)。
三、教学内容与教学基本要求第一单元操作系统引论1、教学内容任务1 操作系统概述任务2 操作系统的发展历史任务3 操作系统的分类2、教学基本要求让学生对操作系统形成初步的认识,对操作系统中的概念有整体的了解。
了解操作系统的发展过程;掌握操作系统类型和功能、操作系统的基本特征;熟练掌握操作系统定义。
3、教学重点与难点教学重点:操作系统的发展过程,操作系统的分类、基本特征和功能教学难点:操作系统的基本特征,操作系统的结构设计4、复习参考题⑴OS的作用可表现在哪几个方面?⑵OS有哪几大特征?最基本得特征是什么?第二单元操作系统原理基础1、教学内容任务1 进程的基本概念任务2 存储管理任务3 文件管理任务4 I/O设备管理2、教学基本要求让学生认识进程,了解进程的概念;了解进程、线程及程序的基本概念;了解进程通信的有关概念、类型和消息传递通信的实现;掌握进程的基本状态与各种基本状态之间的转换。
计算机操作系统课程设计教学大纲

《计算机操作系统》课程设计教学大纲课程编号:08120070课程名称:计算机操作系统/Computer Operating System课程总学时/学分:56/3.5(其中理论46学时,实验10学时课程设计时间/学分:1周/1学分适用专业:计算机科学与技术一、设计任务及目的《计算机操作系统》课程是计算机科学与技术专业的一门重要专业基础课,“计算机操作系统课程设计”的目的是在学生学习了《计算机操作系统》课程之后理论联系实践,一方面延续《计算机操作系统》课程实验的要求,进一步加深与巩固学生对计算机操作系统中概念、基本原理、算法的理解和掌握,培养学生对计算机常用操作系统的操作能力;另一方面通过本环节加强培养学生分析、修改和设计操作系统的能力。
期望达到学为所用,并且能进一步提高使用计算机和编程能力。
二、课程设计的基本要求1、了解所选择开发环境的调试功能,掌握跟踪,修改错误的技巧。
2、能根据实际问题选择数据结构,清淅的描述算法。
3、培养良好的编程风格。
4、撰写课程设计报告,按格式要求写出完整的、规范的报告并打印,其中模块图、流程图要清楚规范,特别要求学生独立完成。
三、设计需运用的基本理论设计需运用计算机系统知识、操作系统基本概念、进程管理、存储管理技术、I/O管理技术、文件管理、高级语言程序设计、数据结构等内容。
四、课程设计内容与时间安排1、设计内容:可以选择下面提供的参考选题,也可以自选,如果自选,需要将自选题,目的详细内容以及实现要求提供给老师,老师批准后方可采用。
课题一:进程管理演示设计目的:加深对进程概念及进程管理各部分内容的理解;熟悉进程管理中主要数据结构的设计及进程调度算法、进程控制机构、同步机构及通讯机构的实施。
设计内容:设计一个允许n个进程并发运行的进程管理模拟系统。
该系统包括有简单的进程控制、同步与通讯机构,其进程调度算法可任意选择(优先级调度,时间片轮转,短进程优先中的一种)。
每个进程用一个PCB表示,其内容根据具体情况设置。
操作系统课程教学大纲

操作系统课程教学大纲一、引言操作系统作为计算机科学和信息技术领域的重要组成部分,对于学习者全面了解计算机系统的运行原理、管理方式和资源调度具有重要作用。
本课程的教学目标是使学生掌握操作系统的基本概念、原理和设计方法,培养学生的系统思维和问题解决能力。
二、课程目标1. 理解操作系统的基本概念和功能,包括进程管理、内存管理、文件系统、输入输出等。
2. 掌握操作系统的设计原则和实现技术,了解多道程序设计、并发控制、死锁处理等核心概念和算法。
3. 熟悉操作系统的应用领域和发展趋势,了解实时操作系统、分布式操作系统和网络操作系统的基本特点。
4. 培养学生的团队合作和实践操作能力,通过实验和项目实践提高学生对操作系统的理解和应用能力。
三、课程安排1. 操作系统概述- 了解操作系统的定义、发展历程和重要性。
- 理解操作系统的功能和基本组成部分。
- 介绍操作系统的分类和应用领域。
2. 进程管理- 介绍进程和线程的基本概念,了解进程的创建、调度和终止。
- 学习进程同步和互斥的方法,包括信号量、互斥量、条件变量等。
- 理解死锁的原因和解决方法,包括银行家算法和资源分配图。
3. 内存管理- 了解内存的层次结构和地址映射技术。
- 学习内存分配和回收的方法,包括连续内存分配、分段式内存分配和分页式内存分配。
- 熟悉虚拟内存的概念和实现机制。
4. 文件系统- 理解文件系统的基本概念和组织方式。
- 学习文件系统的实现技术,包括文件的存储结构、目录管理和文件访问控制。
- 掌握文件系统的缓存管理和磁盘调度算法。
5. 输入输出系统- 了解输入输出设备与计算机系统之间的接口和工作方式。
- 学习输入输出的基本概念和操作方法,包括缓冲区管理、设备驱动程序和中断处理。
- 熟悉输入输出设备的特性和性能评价方法。
6. 操作系统设计和实现- 介绍操作系统的设计原则和实现方法。
- 学习操作系统的内核结构和模块划分。
- 进行实验和项目实践,设计和实现一个简单的操作系统原型。
《操作系统》教学大纲

《操作系统》教学大纲操作系统教学大纲一、引言操作系统是计算机科学中非常重要的一门课程。
本教学大纲旨在介绍操作系统的基本概念、原理和设计等内容,帮助学生深入理解操作系统的工作原理和应用。
二、课程目标1. 了解操作系统的基本概念和发展历史;2. 掌握操作系统的主要组成部分及其功能;3. 理解操作系统的进程管理、内存管理和文件系统等关键原理;4. 掌握常见操作系统的实践应用;5. 培养学生的问题分析和解决能力,以及团队合作和沟通能力。
三、课程内容1. 操作系统概述1.1 操作系统的定义和作用1.2 操作系统的历史演变1.3 操作系统分类和特点2. 进程管理2.1 进程的定义和特点2.2 进程的创建、调度和终止 2.3 进程同步与通信2.4 死锁及其避免与解决3. 内存管理3.1 内存的层次和管理需求3.2 内存分配和回收策略3.3 虚拟内存和页面置换算法3.4 内存保护与共享4. 文件系统4.1 文件系统的基本概念和功能 4.2 目录结构与文件操作4.3 文件系统的实现与管理4.4 文件存储与磁盘管理5. 输入输出管理5.1 输入输出设备的特点和分类 5.2 缓冲区管理和设备驱动程序5.3 文件IO与设备IO的区别和联系5.4 IO性能优化和错误处理6. 操作系统安全6.1 访问控制和权限管理6.2 安全性漏洞与攻击类型6.3 数据加密和防护机制6.4 安全策略和审核措施四、教学方法1. 理论讲授:通过课堂讲解介绍操作系统的基本概念和原理;2. 实验演示:通过操作系统实验,让学生了解操作系统的实际应用;3. 课堂讨论:引导学生进行问题讨论和解决方案的思考;4. 团队项目:组织学生进行操作系统设计与实现的团队项目。
五、考核方式1. 课堂作业:布置与课程内容相关的编程或理论作业;2. 实验报告:要求学生完成操作系统实验并撰写实验报告;3. 期中考试:对学生对操作系统的理论知识进行考核;4. 期末项目:要求学生独立或团队完成操作系统设计与实现的项目。
计算机操作系统课程教学大纲

计算机操作系统课程教学大纲一、课程概述本课程旨在介绍计算机操作系统的基本概念、原理和技术,培养学生对操作系统的深入理解和掌握,为后续学习相关课程奠定基础。
二、课程目标1. 着重介绍操作系统的基本概念和原理,让学生了解操作系统的作用和重要性;2. 引导学生深入理解操作系统的运行机制和管理方法;3. 培养学生分析和解决操作系统问题的能力;4. 掌握操作系统的常见功能和技术,如进程管理、内存管理、文件系统等;5. 培养学生的团队合作能力和实践能力,通过实验和项目来巩固所学知识。
三、教学内容和学时安排1. 操作系统概述(4学时)- 操作系统的定义和发展历程- 操作系统的主要功能和作用- 操作系统的分类和常见例子2. 进程管理(10学时)- 进程的基本概念和进程控制块- 进程的状态和状态转换- 进程的调度算法和调度策略- 进程同步与进程通信- 死锁的概念和避免策略3. 内存管理(8学时)- 内存的层次结构和地址空间- 内存分配和回收的基本方法- 页面置换算法和内存页面置换策略- 虚拟内存的概念和地址映射技术- 内存保护和内存扩展技术4. 文件系统(8学时)- 文件系统的基本概念和组织结构- 文件的逻辑结构和物理结构- 文件的访问控制和权限管理- 文件系统的存储管理和数据恢复技术 - 磁盘调度算法和磁盘缓存技术5. 输入输出系统(6学时)- 输入输出设备的种类和特点- 输入输出控制器和设备驱动程序- 缓冲区管理和数据传输方式- 输入输出中断处理和中断机制- 输入输出软件和设备驱动的编写6. 分布式系统和并发处理(8学时)- 分布式系统的概念和基本特点- 分布式系统的组织结构和通信机制- 并发处理的概念和基本原理- 并发控制和互斥访问技术- 进程间通信和进程远程调用技术四、教学方法和评价方式教学方法包括讲授、讨论、实验和项目实践等。
通过教师主导的讲授,引导学生理解操作系统的基本概念和原理。
通过小组讨论和案例分析,培养学生的分析和解决问题的能力。
李治军操作系统教学大纲

李治军操作系统教学大纲一、课程简介本课程旨在介绍计算机操作系统的基本概念、原理和技术,使学生掌握操作系统的基本原理、实现技术和应用方法,了解当前操作系统的发展动态和未来发展方向。
通过本课程的学习,学生能够掌握操作系统的基本概念,了解各种操作系统的特点和常见问题,掌握操作系统的设计与实现技术。
二、教学目标1. 掌握操作系统的基本概念和工作原理;2. 理解操作系统的结构和组成;3. 掌握操作系统的设计与实现方法;4. 了解不同类型的操作系统,并能够对其进行比较分析;5. 培养学生的问题分析和解决问题的能力。
三、教学内容1. 操作系统概述1.1 操作系统简介1.2 操作系统的功能和特点1.3 操作系统的发展历程2. 操作系统结构2.1 操作系统的层次结构2.2 操作系统的组成和功能2.3 操作系统的接口和服务3. 进程管理3.1 进程的概念3.2 进程的状态和转换3.3 进程的调度3.4 进程同步与通信4. 存储管理4.1 存储器的层次结构4.2 存储器的管理方式4.3 虚拟存储器4.4 存储器的分配与回收5. 文件系统5.1 文件系统概念5.2 文件系统的组织和访问方法5.3 文件系统的实现技术5.4 文件系统的管理和保护6. 设备管理6.1 设备的分类和结构6.2 设备的管理和分配6.3 设备的中断和处理6.4 设备的保护和控制四、教学方法本课程采用多种教学方法相结合的方式,包括理论讲授、案例分析、实验操作、课堂讨论等。
通过理论讲解,学生可以系统地了解操作系统的基本概念和原理;通过案例分析和实验操作,学生能够深入理解操作系统的实现技术和应用方法;通过课堂讨论和互动,能够提高学生的问题分析和解决问题的能力。
五、教学评估学生的学习成绩将主要由平时作业、实验报告、课堂讨论和期末考试等方面综合评定。
通过学生的课堂表现、实验操作和学术论文,来考察学生对操作系统基本理论的掌握及对操作系统实践应用的能力。
六、参考教材1. 《操作系统:设计与实现》2. 《现代操作系统》3. 《操作系统概念》七、补充说明本大纲仅为教学参考,实际教学内容和教学方法将根据学生实际情况和教学需要进行调整。
计算机操作系统教学大纲

计算机操作系统教学大纲一、引言计算机操作系统是计算机学科的基础课程,是计算机系统的核心和基础,对于计算机专业学生具有重要的意义。
本课程旨在介绍计算机操作系统的基本概念、原理和技术,使学生了解计算机操作系统的结构和功能,能够熟练掌握计算机操作系统的一些基本操作和应用技术。
二、课程目标•了解计算机操作系统的基本概念和原理;•掌握进程、线程、内存管理、文件系统等操作系统的核心技术;•熟练掌握并应用Unix/Linux操作系统;•学会编写并调试简单的操作系统代码。
三、教学内容及进度安排第一章:概论第一节:操作系统概述•操作系统的历史•操作系统的定义和功能•操作系统的分类第二节:计算机硬件基础•处理器•存储器•输入输出设备第三节:操作系统结构•操作系统的组成•操作系统的层次结构•操作系统的运行环境第二章:进程管理第一节:进程和线程•进程和线程的概念和特点•进程和线程的状态•进程和线程的调度算法第二节:进程同步与通信•进程同步的概念和原理•进程并发访问的问题和方法•进程间通信和同步的机制和方式第三节:死锁的概念和预防•死锁的原理和特征•死锁的预防第三章:内存管理第一节:内存的物理地址分配•内存的物理地址映射•内存的物理地址分配第二节:动态内存管理•动态内存管理的基本原理•动态内存管理的实现方法第三节:虚拟内存管理•虚拟内存的概念和特点•虚拟内存的实现方法第四章:文件系统管理第一节:文件系统的概念和组成•文件系统的概念和功能•文件系统的组成第二节:文件系统的实现•文件系统的基本操作•文件系统的存储结构•文件系统的缓存管理第五章:Unix/Linux操作系统第一节:Unix/Linux概述•Unix/Linux的历史和发展•Unix/Linux的特点和优势第二节:Unix/Linux基本命令•目录操作命令•文件操作命令•系统管理命令第三节:Unix/Linux系统管理•用户管理和权限管理•进程管理和服务管理•网络管理和安全管理第六章:操作系统的应用第一节:嵌入式操作系统•嵌入式操作系统的概念和特点•嵌入式操作系统的应用领域第二节:实时操作系统•实时系统的概念和特点•实时操作系统的基本特征和分类第三节:分布式操作系统•分布式操作系统的概念和特点•分布式操作系统的实现方法四、教材及参考书目主教材•《操作系统:精髓与设计原理》(第七版),Silberschatz, Galvin, Gagne 著,机械工业出版社,2016参考书目•《现代操作系统》(第三版),Tanenbaum, Bos 著,机械工业出版社,2015•《操作系统与网络管理》(第二版),谢仁发,刘建荣著,高等教育出版社,2016•《UNIX环境高级编程》(第三版),W. Richard Stevens, Stephen A. Rago 著,人民邮电出版社,2014五、教学方法与考核方式教学方法•讲授课程讲述主要理论知识和基本原理;•实验课程让学生自己操作实践并探讨问题的解决方式;•课堂讨论适时引导学生思考并掌握要点。
2024年度《操作系统原理》教学大纲

介绍RBAC的基本概念和实现方法,如何通 过角色来管理用户的权限。
2024/2/2
35
加密技术在操作系统中的应用
加密技术的基本概念
解释加密技术的核心思想,包括加密 算法、密钥管理等。
文件加密
描述操作系统中文件加密的实现方法 和技术,如EFS(加密文件系统)。
2024/2/2
磁盘加密
阐述磁盘加密的原理和实现方法,包 括全盘加密和分区加密等。
微型化与嵌入式操作系统
随着物联网和智能终端的普及 ,微型化和嵌入式操作系统将 成为未来发展的重要方向,它 们需要更加轻量级、高效和安 全。
云计算与分布式操作系统
云计算和分布式系统的快速发 展对操作系统提出了新的挑战 和机遇,未来的操作系统需要 支持大规模并发处理、资源动 态管理和跨平台协作等功能。
人工智能与操作系统融合
优点分析
解决了内存碎片问题,提高了内存利用率。允许程序的大小超过可用内存的大小,通过虚 拟内存技术实现。提供了更好的内存保护,每个程序只能访问自己的内存空间,不能访问 其他程序的内存空间。
缺点分析
需要复杂的软件和硬件支持,如页表、段表等数据结构以及相应的内存管理算法。在页式 存储管理中,会产生页面抖动现象,即频繁地换入换出页面导致系统性能下降。
34
访问控制机制的实现原理
访问控制的基本概念
访问控制列表(ACL)
解释访问控制的核心思想,即主体对客体 的访问权限管理。
描述ACL的工作原理和实现方法,如何通过 ACL来管理用户对资源的访问权限。
强制访问控制(MAC)
基于角色的访问控制(RBAC)
阐述MAC的特点和实现原理,如基于格模 型的访问控制。
2024/2/2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《计算机操作系统》课程教学大纲课程编号1620034 学分总学时64 理论54 实验/上机10 英文课程名Operating Systems2006年9月1日开课院(系)信息学院开课系计算机系、网络系修订时间课程简介“计算机操作系统”是计算机应计算机科学与技术专业学生必修的重要专业基础课,是一门涉及较多硬件知识的计算机系统软件课程。
在计算机软硬件课程的设置上,它起着承上启下的作用。
其特点是概念多、较抽象和涉及面广,其整体实现思想和技术难于理解。
操作系统对计算机系统资源实施管理,是所有其他软件与计算机硬件的唯一接口,所有用户在使用计算机时都要得到操作系统提供的服务。
操作系统技术是衡量一个国家计算机技术整体实力和创新能力的关键。
本课程主要内容包括:操作系统引论、进程管理、存储器管理、文件系统、设备管理等方面的概念和技术方法等。
课程大纲一、课程的性质与任务:操作系统是计算机科学与技术专业的主干课程,它综合了计算机软件和硬件技术,具有很强的系统性,是衡量教学质量和学生专业技能整体水平的重要课程。
操作系统技术的掌握与应用决定了一个国家计算机系统软件的研发能力,是培养计算机创新人才的重要途径。
学生通过本课程的学习,理解操作系统的基本概念和主要功能,它是如何组织和运作的,从而在本质上掌握计算机系统的运行机制,为迅速发展我国自己的操作系统,振兴我国信息产业打下坚实基础。
二、课程的目的与基本要求:●本课程的目的掌握操作系统这一重要系统软件的结构与构造,它的各组成部分的具体工作原理与技术实现方法,各部分之间的相互联系。
通过系统的学习,学生站在一定高度掌握计算机系统的软硬件协作关系和整体工作原理,为今后从事专业工作打下坚实基础。
●基本要求1、掌握理论上的重要概念和重要技术,例如多道程序、并发、分时、进程、进程间通信、虚拟存储器等。
2、由于本课程难度很高,对于专业技术经验不足的一般学生来讲本课程的内容不容易消化和掌握,加上课内学时有限等因素,建议教学过程中多建设网络视频资源,教师将讲授之内容以网络教学资源的形式提供给学生,一方面便于学生课前预习、课后复习,突破学时限制,另一方面为交互式教学和自主式学习创造条件,而且可以扩大课堂容量。
3、知识掌握要有层次结构。
第一个层次是主流操作系统(类UNIX)的常用命令,第二个层次是学会用系统调用编写C语言应用程序,第三个层次是操作系统原理的掌握。
这种层次结构教学方法保证不同层次的学生均有收获和成就感,也体现了由浅入深、由表及里的教学方法的灵活运用。
4、教学过程避免“重理论、轻实践”的现象,应该紧密结合一个具体操作系统来帮助学生理解深奥的理论与技术。
三、面向专业计算机科学与技术、信息管理与信息系统四、先修课程计算机组成原理、汇编语言、C语言程序设计、数据结构。
五、本课程与其它课程的联系操作系统是一门综合性较强的课程,需要学生有一定的计算机硬件基础知识,而操作系统本身是一个大型的系统软件,它的功能是通过定义数据结构和程序描述来实现的。
为此,学习本课程之前学生应具备计算机组成、汇编语言、C语言程序设计、数据结构等方面的知识。
操作系统又是其它许多后续课程如计算机网络、编译原理、软件体系结构等的先行课程,它为进一步学习后续课程打下基础。
六、教学内容安排、要求、学时分配及作业:第一章引言(INTRODUCTION),(理论2学时,实验2学时)§什么是操作系统(WHAT IS AN OPERATING SYSTEM?)从功能扩展机和资源管理器两个角度掌握操作系统的概念(Extended Machine & Resource Manager)作业:1.What are the two main functions of an operating system?2.What is the difference between kernel mode and user mode? Why is the difference important to an operating system?§操作系统历史(HISTORY OF OPERA TING SYSTEMS)结合硬件发展了解操作系统的由来,通过现有的操作系统产品重点掌握分时系统和多任务系统的概念。
作业:1.What is multiprogramming?2.What is spooling? Do you think that advanced personal computers will have spooling as a standard feature in the future?§操作系统中的重要概念(OPERATING SYSTEM CONCEPTS)结合实际抽象出并理解进程、文件、shell等概念。
(Processes, Files, and Shell)作业:1.Write a shell that is similar to Fig. 1-10 but contains enough code that it actually works so you can test it. You might also add some features such as redirection of input and output, pipes, and background jobs.§系统调用(SYSTEM CALLS)通过演示UNIX下的带有系统调用的C语言程序,使学生理解操作系统中各种主要的系统调用功能和使用方法。
作业:1.Write a program (or series of programs) to test all the MINIX 3 system calls. For each call, try various sets of parameters, including some incorrect ones, to see if they are detected.§操作系统结构(OPERA TING SYSTEM STRUCTURE)一般了解单一结构、分层结构、虚拟机操作系统,理解微内核操作系统结构。
作业:1.Examine the difference between a micro-kernel system and a monolithic system第二章进程(PROCESSES), (理论16学时,实验2学时)§进程引言(INTRODUCTION TO PROCESSES),1学时掌握进程模型,理解进程实现,了解线程作业:1.Why is multiprogramming central to the operation of a modern operating system?2.What are the three main states that a process can be in? Describe the meaning of each one briefly.§进程间通信(INTERPROCESS COMMUNICA TION),2学时理解竞争条件、临界区、临界资源以及信号量的概念,掌握用信号量解决进程同步与互斥的方法作业:1.Does the busy waiting solution using the turn variable work when the two processes are running on a shared-memory multiprocessor, that is, two CPUs, sharing a common memory?2.Consider a computer that does not have a TEST AND SET LOCK instruction but does have an instruction to swap the contents of a register and a memory word in a single indivisible action. Can that be used to write a routine enter_region such as the one found in Fig. 2-12?3.Give a sketch of how an operating system that can disable interrupts could implement semaphores.4.Show how counting semaphores ., semaphores that can hold an arbitrarily large value) can be implemented using only binary semaphores and ordinary machine instructions.5.In a situation with a high-priority process, H, and a low-priority process, L, was described, which led to H looping forever. Does the same problem occur if round-robin scheduling is used instead of priority scheduling? Discuss.§经典进程同步问题(CLASSICAL IPC PROBLEMS),1学时掌握进餐的哲学家问题,了解读者-写者和理发师问题作业:1.In the solution to the dining philosophers problem (Fig. 2-20), why is the state variable set to HUNGRY in the procedure take_forks?2.Consider the procedure put_forks in Fig. 2-20. Suppose that the variable state[i] was set to THINKING after the two calls to test, rather than before. How would this change affect the solution for the case of 3 philosophers? For 100 philosophers?3.The readers and writers problem can be formulated in several ways with regard to which category of processes can be started when. Carefully describe three different variations of the problem, each one favoring (or not favoring) some category of processes. For each variation, specify what happens when a reader or a writer becomes ready to access the data base, and what happens when a process is finished using the data base.§进程调度(SCHEDULING),1学时掌握轮转和多级队列调度算法作业:1.Round- robin schedulers normally maintain a list of all runnable processes, with each process occurring exactly once in the list. What would happen if a process occurred twice in the list? Can you think of any reason for allowing this?2.Five batch jobs A through E, arrive at a computer center at almost the same time. They have estimated running times of 10, 6, 2, 4, and 8 minutes. Their (externally determined) priorities are 3, 5, 2, 1, and 4, respectively, with 5 being the highest priority. For each of the following scheduling algorithms, determine the mean process turnaround time. Ignore process switching overhead.(a) Round robin.(b) Priority scheduling.(c) First-come, first-served (run in order 10, 6, 2, 4, 8).(d) Shortest job first. For (a), assume that the system is multiprogrammed, and that each job gets its fair share of the CPU. For (b) through (d) assume that only one job at a time runs, until it finishes. All jobs are completely CPU bound.§ MINIX中进程的实现(IMPLEMENTATION OF PROCESSES),11学时了解源代码的组织和头文件(1学时);掌握MINIX引导和系统初始化(1学时),MINIX 的中断处理、进程间通信和调度(4学时),硬件相关的内核支持(1学时)作业:1.During execution, MINIX maintains a variable proc_ptr that points to the process table entry for the current process. Why?2.MINIX does not buffer messages. Explain how this design decision causes problems with clock and keyboard interrupts.3.When a message is sent to a sleeping process in MINIX, the procedure ready is called to put that process on the proper scheduling queue. This procedure starts out by disabling interrupts. Explain.4.The MINIX procedure mini_rec contains a loop. Explain what it is for.5.MINIX essentially uses the scheduling method in Fig. 2-43, with different priorities for classes. The lowest class (user processes) has round-robin scheduling, but the tasks and servers always are allowed to run until they block. Is it possible for processes in the lowest class to starve? Why (or why not)?6.Add code to the MINIX kernel to keep track of the number of messages sent from process (or task) i to process (or task) j. Print this matrix when the F4 key is hit.7.Modify the MINIX scheduler to keep track of how much CPU time each user process has had recently. When no task or server wants to run, pick the user process that has had the smallest share of the CPU.8.Modify the hwint_master and hwint_slave macros in so the operations now performed by the save function are performed inline. What is the cost in code size? Can you measure an increase in performance?第三章输入/输出(INPUT/OUTPUT) (理论16学时,实验2学时)§ I/O硬件原理(PRINCIPLES OF I/O HARDW ARE),1学时了解I/O设备、设备控制器以及DMA等概念作业:1.What is memory-mapped I/O? Why is it sometimes used?2.Explain what DMA is and why it is used.3.Although DMA does not use the CPU, the maximum transfer rate is still limited. Consider reading a block from the disk. Name three factors that might ultimately limit the rate of transfer.§ I/O软件原理(PRINCIPLES OF I/O SOFTWARE),1学时了解I/O软件的目标;掌握中断处理程序、设备驱动程序、设备无关I/O件以及用户空间I/O软件的概念、原理以及它们之间的层次调用关系作业:1.Each device driver has two different interfaces with the operating system. One interface isa set of function calls that the operating system makes on the driver. The other is a set of calls that the driver makes on the operating system. Name one likely call in each interface.2.Why do operating system designers attempt to provide device-independent I/O wherever it is possible?3.In which of the four I/O software layers is each of the following done?(a) Computing the track, sector, and head for a disk read.(b) Maintaining a cache of recently used blocks.(c) Writing commands to the device registers.(d) Checking to see if the user is permitted to use the device.(e) Converting binary integers to ASCII for printing.4.Why are output files for the printer normally spooled on disk before being printed?§死锁(DEADLOCKS),1学时一般了解死锁的概念和原理;了解死锁检测、预防和避免的算法§ MINIX I/O系统概述(OVERVIEW OF I/O IN MINIX),2学时掌握MINIX中断处理程序、设备驱动程序、设备无关I/O软件以及用户空间I/O软件的实现。