已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学士学位论文开题报告论文题目:轻量级虚拟机文件系统设计与实现 专 业:计算机科学与技术 本 科 生: 学 号: 指导教师:北京航空航天大学计算机学院2013年3月14日目 录1题目背景与意义31.1课题来源31.2选题的背景与意义32研究现状42.1 轻量级虚拟机结构42.2 LINUX下的文件系统结构52.2.1 虚拟文件系统(VFS)52.2.2 实际文件系统62.3 LINUX文件系统结构在轻量级虚拟机上可能带来的问题63研究内容63.1研究目标63.2研究内容及解决方案83.2.1 设计对轻量级虚拟机文件系统的操作的处理流程83.2.2 设计虚拟文件系统中的数据结构83.2.3 设计磁盘文件管理结构94进度安排96参考文献10学士学位论文开题报告1题目背景与意义1.1课题来源本毕业设计课题来源于国家“863”高技术研究计划“以支撑电子商务为主的网络操作系统”(2011AA01A202),以及国家“973”基础研究计划“规模化按需聚合资源的高效运行支撑”(2011CB302602)。1.2选题的背景与意义虚拟机技术是在软、硬件之间引入虚拟层,可以应用提供独立的运行环境,屏蔽硬件平台的动态性、分布性和异构性,支持硬件资源的共享和复用,并为每个用户提供属于个人独立、隔离的计算环境,同时,为管理员提供硬件资源和软件资源的集中管理。比如VMWare Workstation、Xen、Vitual PC等。虚拟机技术使得在同一台计算机资源上可以同时运行多个操作系统。多个用户可通过网络登陆到相应操作系统中,运行独立的应用程序。从而,虚拟机为应用程序的运行提供了相互隔离的运行环境。然而,虚拟机技术是通过重复运行多个操作系统副本来实现应用程序执行环境的相互隔离,但多个操作系统副本会浪费一些硬件资源,比如内存空间等。虽然用户可充分控制整个操作系统,但这也许不是用户想要的,可能用户只想运行里面的某个程序。因此,为充分利用有限的计算机资源来提供更多的服务,对轻量级的虚拟执行环境的研究是有必要的。多种虚拟化技术中,轻量级虚拟机采用的是操作系统虚拟化技术。操作系统虚拟化以其低消耗、小尺寸的设计特点,可以应用于服务器整合、测试研发、业务连续性等标准虚拟化应用场景,以及一系列它更擅长的商业和企业内部托管等独特的应用场景。操作系统虚拟化,分析公司Gartner给出的定义是:共享的操作系统虚拟化允许多个不同应用在一份操作系统拷贝的控制下隔离运行。单一的宿主操作系统,通过划分其特定部分,成为一个个隔离的操作执行环境,供程序运行。实际达到的效果和虚拟机技术类似,同样将一台物理服务器划分成了 多个“虚拟”的操作系统实例,从而达到分区的目的。简而言之,操作系统中模拟出一个个跑应用程序的容器,所有虚拟机共享内核空间。操作系统虚拟化由于只有一个操作系统内核,少了虚拟机和Guest操作系统两个资源消耗层次,操作系统虚拟化的运行效率和运行在虚拟环境中的应用性能都有很大优势;然而,操作系统虚拟化只能是同一种操作系统的划分和衍生,从而形成两个缺点: 一,无法支持异种操作系统并存于同一个物理服务器之上;二,多应用同时操作文件系统造成临界资源的竞争-等待现象。本次毕业设计要解决的是上面提到的第二个问题,计划设计一种面向轻量级虚拟机的文件系统,减少资源的竞争-等待时间,提高系统运行效率。所以我们提出了:轻量级虚拟机文件系统的设计与实现。2研究现状2.1 轻量级虚拟机结构2.1 1轻量级虚拟机结构图在轻量级虚拟机中,操作系统虚拟化层位于宿主机操作系统层之上,它从应用与操作系统之间的层次横切一刀,将操作系统资源访问虚拟化,为每一台虚拟机创造隔离于其他机器的独立空间。对上而言,让应用“相信”它是运行于它自己的独立的操作系统实例中;对下而言,翻译和转换上层应用的命名空间、资源进程需求,使之和谐共存于底层的一个操作系统内核和硬件资源之中,从而达到更细粒度的资源控制和更有效的可管理性。每一台虚拟机能够拥有自己的目录树,看到自己的命名空间,但在本质上,所有虚拟机共同使用宿主机操作系统内核,自然地内核中的文件系统为虚拟机共有。2.2 LINUX下的文件系统结构总体上说 Linux 下的文件系统主要可分为两大块内容:一是虚拟文件系统 VFS(Virtual Filesystem Switch),二是挂载到 VFS 中的各实际文件系统,例如 ext2,FAT等。文件系统总体结构如下:2.2 1 Linux下文件系统结构2.2.1 虚拟文件系统(VFS)虚拟文件系统(Virtual Filesystem Switch)是物理文件系统与服务之间的接口层,它对Linux的每个文件系统的所有细节进行抽象。在进程看来,访问文件系统都是通过VFS,不会因为实际文件系统的结构差异而不同,这即是为访问文件系统的系统调用提供了一个统一的抽象接口。严格说来,VFS并不是一种实际的文件系统。它只存在于内存中,不存在于任何外部存储空间。在每次系统初始化期间,Linux 都首先要在内存当中构造一棵 VFS 的目录树,实际上便是在内存中建立相应的数据结构,而各实际文件系统必须在内核中注册过才能够被挂载、使用。2.2.2 实际文件系统实际文件系统是我们说的EXT2、EXT3、FAT、NTFS等文件系统的总称,LINUX中由于设计了VFS层,进程调用系统调用时并不是直接与文件系统交互,而是调用VFS的接口,之后VFS区分进程所处的文件系统类型,调用实际文件系统的相应函数,实际文件系统进一步寻找要访问的文件。由此可知,实际文件系统需要为上层的VFS提供接口以备调用,向下实际文件系统需要与页面高速缓存层(page cache layer)交互,完成磁盘访问工作。2.3 LINUX文件系统结构在轻量级虚拟机上可能带来的问题由于操作系统虚拟化只是同一种操作系统的划分和衍生,所有的虚拟机共用一个内核,反映到文件系统上所有的虚拟机共用一套文件系统,VFS中的的资源是被所有虚拟机共用的,为了保证访问数据的一致性,在VFS的运行中会对临界资源加锁,这样就导致了资源的竞争-等待。一个例子:VFS使用目录项高速缓存,其中需要维护一个“最近最少使用 (LRU)目录项的双向链表”。LRU链中保存的是刚被使用过且现在没有被使用的目录项,链表中的目录项按照插入的时间排序,最后被使用后释放的目录项对象放在链表首部,所以最近最少使用的目录项对象总是靠近链表的尾部。系统中每结束创建一个文件后,它的目录项不会立刻从内存中删除,而是保存在LRU链中。,但是当一个目录项被添加时,为防止此时有操作修改、删除LRU链中的目录项,需要为LRU链上锁。当多个虚拟机都需要大量创建文件时,各个目录项都需要被添加到LRU目录项链中,此时这些目录项只能 “排队”等待“加锁-加入-解锁”操作。此时文件系统中的临界资源是VFS中的LRU链,由于对它的竞争-等待现象,影响了系统效率。3研究内容3.1研究目标研究目标为,为每一个虚拟机用户提供一套独立的文件系统,文件系统功能综合VFS和实际文件系统,形成虚拟机与文件系统一一对应的结构,从而避免轻量级虚拟机由于所有虚拟机用户共用一个内核而造成的文件系统内对临界资源的竞争-等待现象,提高系统对文件系统的访问效率。3.1 1 轻量级虚拟机文件系统结构图在这种结构中,对于应用进程,轻量级虚拟机文件系统与Linux文件系统接口相同,应用进程可以直接调用它的接口,使用是,我们拦截所有对文件系统的系统调用,转而调用轻量级文件系统系统调用;而在存储上,每一个虚拟机文件系统最终以一个文件的方式表现在下层宿主机的操作系统中,它的存储范围就是与它相对应的文件,通过读写这个文件来实现对这个文件系统的读写。3.1 2 轻量级虚拟机文件系统分层结构图这种结构中并不是VFS的完全分割。即使进程调用的是轻量级虚拟机文件系统,但是最终由于要读取文件系统数据,仍然要使用Linux文件系统打开存储虚拟机文件系统对应的文件。例如:两台虚拟机,每一台要创建50个文件,如果直接调用Linux文件系统,那么需要在Linux下VFS的LRU链表中创建100项;而如果调用改进后的文件系统接口,那么需要在每一个虚拟机的LRU链表中创建50个目录项,在Linux文件系统中只需要打开两个文件即可。这种方法采用的是“分而治之”的思想,分散Linux内VFS的压力,从而提高系统性能。3.2研究内容及解决方案3.2.1 设计对轻量级虚拟机文件系统的操作的处理流程轻量级虚拟机文件系统改变了Linux原有文件系统的系统结构,对它的操作的处理流程也需要相应做出改变。这部分中研究内容包括两个重要内容。第一,设计文件系统及其子模块的函数接口;第二,选择加锁对象、加锁时机。解决方案:与Linux下原有文件系统结构对比,通过分析二者结构上的异同,得出对系统调用处理的不变部分和变化部分,设计时不变部分可以直接参考Linux采用的流程,重点设计变化部分,并且要确保在设计出的流程下操作正确,即要保证可用性。3.2.2 设计虚拟文件系统中的数据结构VFS将数据从实际文件系统中取出后,封装之后成为VFS定义的数据结构,让提供给上层的数据有统一的数据结构。需要研究设计VFS中的数据结构,在能够提供足够的数据保证系统调用机制正确运行的前提下,减小VFS对内存的占用。这部分研究内容主要分两个部分。第一, 设计轻量级虚拟机的VFS中节点(inode)、目录项(dentry)等缓存数据的数据结构。由于虚拟机与文件系统“一对一”,所以Linux文件系统下的数据结构会有一部分冗余,设计中应该去掉不必要的数据,只保留此结构中必要的部分。第二, 设计缓存数据(inode、dentry等)在内存中的组织结构。例如VFS中的正在被使用的目录项都被存储在一个哈希中,采用这种数据组织结构原因在于,几乎每次用到一个目录项都需要先判断这个目录项是否正在被使用,使用频率非常大,哈希表能够比较迅速地确定要寻找目录项的位置,因此选择哈希表来存储正在使用目录项。类似的缓存数据很多,如刚刚被使用过的目录项、正在使用的节点等都需要确定对其组织结构。3.2.3 设计磁盘文件管理结构设计磁盘中数据的存储格式,明确磁盘中数据如何组织,即设计一种实际文件系统对磁盘的管理方式。首先需要分析比较EXT2、EXT3、FAT等文件系统的优劣,选择一种适合于轻量级虚拟机的实际文件系统,由于在本课题中的文件系统只对应单独的虚拟机,所以设计时需要把握文件系统规模小这个关键点。拟实现一种类似于EXT2存储结构的实际文件系统,但需要对它的数据结构改进。难点加锁时机选择测试方案4进度安排2013年3月3日3月16日阅读资料、了解技术、整理思路、准备开题2013年3月17日3月31日设计、实现EXT2文件系统的结构,使其可以挂载到LINUX下2013年4月1日4月21日实现自定义VFS,将VFS与类EXT2文件系统组装成为一个完整的文件系统2013年4月22日4月30日系统性能测试2013年5月1日6月10日撰写论文2013年6月11日6月20日准备答辩6参考文献1 BOVET&CESATI著,陈莉君等译. 深入理解LINUX内核M. 北京:中国电力出版社,2007.2 怀进鹏,李沁,胡春明. 基于虚拟机的虚拟计算环境研究与设计J. 软件学报, 2007, Vol 18(8) 2016-2026. 3 张桂权(译). 操作系统虚拟化J. 软件世界, 2008, 1005-2348 (4):51-54.4 VMware World Wide Site Locator for the Global Leader in Virtualization, /worldwide.html5 P. Barham, B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, R. Neugebauer, I. Pratt, and A. Warfield, Xen and the art of virtualization, in Proceedings of the 19th ACM Symposium on Operating Systems Principles. ACM Press, 2003, pp. 164177.6 Susanta Nanda,Tzi-cker Chiueh. A Surv
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年中国真空包装休闲食品行业市场规模及未来投资方向研究报告
- 2026年中国刺梨汁行业市场前景预测及投资价值评估分析报告
- 2025河南省体育彩票管理中心合同制聘用人员招聘50人考试笔试参考题库附答案解析
- 2025重庆江津区第二人民医院招聘非编人员2名笔试考试参考试题及答案解析
- 2026年中国铁路青藏集团有限公司招聘普通 高校本科及以上学历毕业生603人(一)笔试考试参考试题及答案解析
- 外科股骨骨折康复训练方案
- 颈动脉狭窄的术后管理与血流监测方法
- 2025年上饶银行供应链金融保理协议
- 餐饮业员工培训合同协议2025
- 子宫内膜异位症治疗方案
- 单招考试宣传课件
- 2024-2025学年安徽合肥七年级上册数学期中试卷及答案
- 塔罗教学课件
- 产程中产妇的饮食管理
- 机械行业安全隐患排查清单
- 2025年陕西邮政校招笔试题及答案
- 《体育场馆运营管理课件》课件
- 砂石料场租赁协议
- 第15届全国海洋知识竞赛参考试指导题库(含答案)
- 收养申请书模板
- 干部人才培养与医院管理
评论
0/150
提交评论