文档详情

任务调度中断处理同步互斥任务调度.ppt

发布:2019-07-30约1.68千字共16页下载文档
文本预览下载声明
多核操作系统工程 指导老师:华保健 小组成员:陈 玮 栗 博 杨松文 主要内容 1.项目背景与进展 2.课题目标与分析 3.工程实践过程 4.进度安排 5.可能的困难与预期成果 1.1 项目背景 随着多核技术的不断普及,多核的硬件平台越来越平民化,越来越多的个人PC采用双核、四核的CPU。我们有理由相信,在可以预见的未来,PC机中的CPU将拥有越来越多的核。 在这样的背景下,发挥硬件能力提高系统效率显得至关重要。只有操作系统与硬件配合起来,才能达到这一目标。 但是当前的操作系统无论是应用层接口,还是底层内部实现,都是从单核模式发展而来。因此现有的操作系统不能很好地兼容多核,从而大大降低上层应用程序的性能。 因此,对操作系统进行修改,使其能够适应当前普及的多核环境,已经成为了现代日用操作系统研究的重点之一。 1.2 课题研究状况 国内外已经在操作系统支持多核的领域做了较多研究,也有了一些进展。其中,研究方向主要有三个: 操作系统任务调度优化; 操作系统对于底层硬件提供新的抽象; 虚拟化技术运行多个操作系统。 下面是找到的几个实例,就是这几个方向中比较有代表性的。 1)面向多核的任务调度机制,如Linux在2.6版本之后引入“调度域”的概念; 2)加拿大多伦多大学研发的Hurricane,实现对处理器进行多种粒度的控制; 3)美国斯坦福大学设计的Disco,使用虚拟化技术,让多个操作系统同时运行在多核平台上。 2.1 课题目标 操作系统原理学习和源代码构建 基于多核的操作系统设计 2.2 目标分析 我们的目标是在学习MIT的Operating System Engineering 课程后,深入理解操作系统的概念,详细研究虚拟内存,内核和用户模式,系统调用,线程,上下文切换,中断,进程间通信,并发活动的协调,以及软件和硬件之间的接口 。 最终在课程实验的基础上,建立自己的基于多核的操作系统和操作系统源代码。 3.1 课程开发环境与平台 引入了一个操作系统,xv6。它是在20世纪70年代开发的UNIX版本6,这是由于它更易于理解并且有许多现代操作系统类似结构。 为了简化开发,我们将使用一个完整的机器模拟器(Bochs) 用于开发和调试。 3.2 MIT课程 将构建一个称为JOS的操作系统,它将有类似UNIX的功能,但是一种扩展内核的类型,因为的在Unix功能的实现大多为用户级库,而不是内置的内核 。 JOS主要包括: Booting Memory management User-level environments Preemptive multitasking File system and spawn A shell 3.3 多核操作系统设计的设想 任务调度 中断处理 同步互斥 任务调度: 使用局部的任务等待队列,使任务基本上无需在 多个 CPU 核心间切换; 中断处理: 多核的各处理器之间需要通过中断方式进行通信; 同步互斥: 多核 CPU 是一个多任务系统。由于不同任务会竞争共享资源,因此 需要系统提供同步与互斥机制。 4.1 进度安排 甘特图 5.1 可能遇到的问题 由于缺少工程项目经验,实践上可能出现各种问题; 缺乏对操作系统源代码的了解,所以可能需要比较长的时间来学习; 多核操作系统实现上有其复杂性。 5.2 预期成果 在课程实验基础上建立一个自己的操作系统及其源代码; 基于多核操作系统设计的设想对其修改、调试以应用于多核处理器 欢迎提出宝贵的意见 谢谢!
显示全部
相似文档