学位论文 > 优秀研究生学位论文题录展示

基于LinuxContainer的Android移动终端虚拟化

作 者: 陈晓
导 师: 王振宇; 毛祖铁
学 校: 华南理工大学
专 业: 软件工程
关键词: 移动虚拟化 操作系统级虚拟化 容器技术 Cgroup系统 命名空间
分类号: TP316.81
类 型: 硕士论文
年 份: 2013年
下 载: 29次
引 用: 0次
阅 读: 论文下载
 

内容摘要


随着移动智能终端数量的爆炸式增长以及穿戴式设备的兴起,如何有效地利用智能终端的资源并应对不同应用场合成为了当前研究的热点。将传统的虚拟化技术和移动智能终端结合起来将成为一个崭新的发展方向--移动虚拟化。移动虚拟化不仅可以满足单一移动终端上运行不同操作系统的需要,从而节省不同平台下开发相同功能的软件成本,还能通过虚拟化技术带来的隔离性实现单一终端上企业系统和个人系统的分离,防范个人系统上的进程给企业带来的潜在危害,满足一些具有安全要求的企业对“自带设备”的需求。从市场角度来看,虚拟化技术大大降低低端手机的成本,使得低廉的单核手机能承载更多的功能。基于以上的研究背景,本文首先介绍了传统虚拟化以及移动虚拟化的一般实现方式,作为方式之一的操作系统级虚拟化与Hypervisor架构的虚拟化方式的相比较具有性能、部署上的优势。然后从操作系统级虚拟化的层次出发研究Linux容器技术,剖析容器技术中最关键的两个部分:Cgroup系统和命名空间的架构和实现原理,研究内容包括:(1)通过结合通用数据结构的分析,给出Cgroup系统的节点层级结构;(2)重点分析Cgroup系统中子系统控制器的实现原理,包括CPU控制器、内存控制器、设备资源控制器等;(3)通过Cgroup文件系统的挂载和查看修改资源管理信息的过程分析,给出Cgroup文件系统挂载和功能接口的实现原理。之后,本文会描述Linux系统中命名空间的各个子模块,从源码级别分析各个命名空间的结构和其作用于进程资源隔离的实现原理。基于以上对于容器技术关键部分的研究成果,本文给出基于Linux容器技术的Android终端移动虚拟化方案。在此方案中,通过修改Android系统内核适配LXC用户空间工具的功能,并在SD卡上构建Debian OS作为虚拟化管理的宿主环境。在此环境中,通过配置容器内Android根文件系统、网络、设备等资源,构建一个用于运行Android系统的容器环境,使得经过改造的Android系统运行于其中,实现操作系统级的移动虚拟化方案。最后通过分析运行结果,给出Android系统使用容器技术进行操作系统级虚拟化具有效率和隔离相平衡的优势的结论。

全文目录


摘要  5-6
Abstract  6-11
第1章 绪论  11-16
  1.1 研究背景及意义  11-12
  1.2 国内外研究现状  12-14
  1.3 本文的研究内容  14-15
  1.4 论文的组织结构  15-16
第2章 相关理论和技术  16-22
  2.1 传统的虚拟化技术和一般架构  16-17
  2.2 移动终端上的虚拟化技术和一般架构  17-18
  2.3 移动虚拟化解决方案的分析比较  18-21
    2.3.1 PikeOS  18-19
    2.3.2 OKL4  19-20
    2.3.3 NOVA  20-21
    2.3.4 Codezero  21
  2.4 本章小结  21-22
第3章 Linux 容器技术  22-36
  3.1 操作系统级虚拟化  22-25
    3.1.1 产生背景  22
    3.1.2 设计思想  22-23
    3.1.3 优劣势分析  23-25
  3.2 基于容器技术的虚拟化系统架构  25-26
  3.3 应用容器技术的虚拟化解决方案的比较分析  26-31
    3.3.1 Linux-VServer  26-27
    3.3.2 OpenVZ  27-28
    3.3.3 Solaris Containers  28-29
    3.3.4 LXC  29-30
    3.3.5 解决方案比较  30-31
  3.4 Linux 容器中的关键技术  31-35
    3.4.1 资源管理子系统 Cgroup  31-33
    3.4.2 命名空间机制 Namespace  33-35
  3.5 本章小结  35-36
第4章 Cgroup 系统剖析  36-67
  4.1 Cgroup 系统整体结构  36-37
  4.2 通用数据结构  37-45
    4.2.1 Cgroup 系统核心数据结构  37-41
    4.2.2 Cgroup 文件系统结构  41-43
    4.2.3 Cgroup 子系统控制器通用结构  43-45
  4.3 Cgroup 系统初始化  45-47
  4.4 Cgroup 文件系统  47-50
    4.4.1 Cgroup 文件系统的挂载  47-48
    4.4.2 Cgroup 文件系统的功能接口  48-50
  4.5 Cgroup 资源控制子系统详细实现  50-66
    4.5.1 CPU 控制器  51-54
    4.5.2 内存控制器  54-58
    4.5.3 CPUSET 控制器  58-63
    4.5.4 DEVICES 控制器  63-66
  4.6 本章小结  66-67
第5章 Namespace 机制  67-76
  5.1 命名空间代理  67-69
  5.2 命名空间的创建与复制  69-70
  5.3 PID 命名空间  70-73
    5.3.1 PID 与 UPID  71-73
    5.3.2 PID 命名空间的创建  73
  5.4 MNT 命名空间  73-75
    5.4.1 MNT 命名空间的整体视图  73-74
    5.4.2 MNT 命名空间的底层实现  74-75
  5.5 本章小结  75-76
第6章 应用容器技术的移动虚拟化解决方案  76-92
  6.1 系统架构设计  76-77
  6.2 适配 Android 内核  77-81
    6.2.1 config 配置  77-79
    6.2.2 内核源码修改  79-80
    6.2.3 内核启动参数修改以及 boot 分区生成  80-81
  6.3 建立 Host 宿主环境  81-85
    6.3.1 装载 Debian 宿主系统于 SD 卡  81-82
    6.3.2 配置宿主系统  82-85
  6.4 移植 LXC 建立 Android 容器  85-88
    6.4.1 lxc 用户工具集  85-86
    6.4.2 设立虚拟网桥  86-87
    6.4.3 创建 Android 根文件系统  87
    6.4.4 创建容器配置文件  87-88
  6.5 Android 容器的运行与结果分析  88-91
  6.6 本章小结  91-92
结论  92-95
参考文献  95-97
攻读硕士学位期间取得的研究成果  97-98
致谢  98-99
附件  99

相似论文

  1. Windows平台下虚拟执行环境的研究与实现,TP391.9
  2. 计算网格环境下网格文件系统研究,TP393.09
  3. XML技术研究及在水利信息系统中的应用,TP399
  4. 基于OSGI的普及计算关键技术研究,TP393
  5. NAS集群文件系统元数据管理的设计与实现,TP311.52
  6. 元过程实例生成器与角色/命名空间协同方法研究,TP311.52
  7. 面向代理服务的分布式文件系统设计与实现,TP333
  8. 基于LXC的Android系统虚拟化关键技术设计与实现,TP316
  9. 嵌入式Linux设备驱动程序设计与实现,TP316.81
  10. Linux内核进程调度算法的分析、研究与改进,TP316.81
  11. 中文Linux标准兼容测试认证系统,TP316.81
  12. 基于Linux的小型高性能集群的研究和优化,TP316.81
  13. ARM平台上实现Linux内核虚拟机技术研究,TP316.81
  14. 基于FMS02平板电脑原型机的Linux内核及驱动架构研究,TP316.81
  15. 基于嵌入式Linux的远程桌面技术研究及实现,TP316.81
  16. 面向众核温度感知的Linux调度器的研究与实现,TP316.81
  17. 操作系统调度器结构及算法研究,TP316.81
  18. 基于视频采集系统的嵌入式Linux操作系统裁剪方法探讨,TP316.81
  19. ARM9平台上的嵌入式Linux系统移植研究,TP316.81
  20. 基于嵌入式Linux的系统构建及桌面应用程序研究,TP316.81
  21. Linux环境下DUET平台引导程序设计与实现,TP316.81

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机软件 > 操作系统 > 网络操作系统 > UNIX操作系统
© 2012 www.xueweilunwen.com