登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 计算机类 > 软件工程 > 正文

不同Android操作系统老化现象分析及建模研究毕业论文

 2021-03-15 07:03  

摘 要

随着时代的发展,人们的日常生活越来越离不开智能手机。但是在长时间高强度的使用手机的情况下,就容易出现系统的老化问题。Android作为用户使用最多的移动端操作系统更是受到软件老化的危害。为了更好地了解影响软件老化的因素与应对软件老化问题,我需要在不同的Android手机进行相关的测试与分析。

研究的方法主要是通过一个app去获取安卓手机内部的一些可能与软件老化的参数,然后在手机上用脚本运行一些日常人们使用的app,以此来模拟人为的日常使用手机的行为,最后,把收集到的参数文件导入到MySQL数据库中。我们通过在三个手机上做测试,通过相关的数据分析就得出,哪些参数是影响软件老化的主要因素。

论文主要研究了三星手机,索尼手机和联想手机的老化问题。分别通过收集三部设备的系统错误信息,垃圾回收,事件日志,系统相关信息。大致将整个运行的过程分为3个状态:健康,亚健康和老化状态,然后用随机森林算法让机器进行学习,最后通过输入待测数据来计算这套模型的准确性。

研究结果表明:错误信息量,垃圾回收,内存管理等方面都是引起Android手机老化的重要因素。通过这些参数联合分析,创建的预测软件老化的模型准确率高。

本文的特色:与以往的软件老化的方法不同,通过扩大实验的样本与数量,在不同的安卓手机上,找到共同的影响软件的老化的因素,找到一套适合不同手机的预测软件老化的模型,得出的结果将对于应对软件老化问题来说,有重要的引导作用。

关键词:软件老化,安卓手机,内存管理机制,错误积累,随机森林算法

Abstract

With the development of the times,the smart phone plays an important role in our daily life. But in the case of using mobile phones at a long time, it maybe cause the software aging of system. Android as the most people use the mobile operating system is affected by the aging of the software. In order to understand the factors that affect the aging of the software and deal with the aging of the software, I need to testing and analysis at different Android mobile phones.

The main method of research is to write an application to get some of the internal parameters which may be aging with the software in Android mobile phone, and then use the script to run some of the daily use of the application which simulate the daily use of mobile phone behavior. And finally, to collect the parameters of the file into the MySQL database. This thesis uses three mobile phones to do the test, doing the relevant data analysis to get out which parameters are the main factors that affecting the aging of the software.

The thesis mainly studies the aging of Samsung mobile phone, Sony mobile phone and Lenovo mobile phone. Roughly,the whole process of running divides into three states: health, sub-health and aging state. And then use the random forest algorithm to let the machine learn. Finally, calculate the accuracy of this model.

The results show that: the amount of error information, garbage collection, memory management and the version of the Android phone are important factors in software aging. Through these parametric analysis, the predictive created by the software aging model has high accuracy.

The characteristics of this article: different from the previous software aging method, this paper expands the number of experiments in different Android mobile phones to find a common impact on the aging of the software factors. The results will be for the software aging problem. There is an important guiding role.

Keywords: software aging, android mobile phone, memory management mechanism, the error accumulation, random forest algorithm.

目录

第一章 绪论 1

1.1软件老化的研究背景 1

1.2软件老化的研究目的与意义 1

1.3国内外的研究现状 2

1.4课题研究内容 2

1.5 文件综述 3

1.6 安卓操作系统简介 3

1.6.1 安卓系统的系统架构 3

1.6.2 四大组件 4

1.7 Android系统的垃圾回收 4

1.7.1 Mark and Sweep算法 5

1.7.2 Mark-Copy 算法 5

1.8 Android两种模式下的垃圾回收 6

1.8.1 Dalvikvm 模式下 GC 6

1.8.2 ART模式下GC 6

第二章 实验参数以及方法 8

2.1实验相关参数与获取方法 8

第三章 实验设备,步骤以及出现的问题 11

3.1 实验设备相关信息简介 11

3.2 实验步骤介绍 11

3.3实验过程中遇到的问题 12

第四章:实验结果与分析 15

4.1错误信息量 15

4.2 应用程序的启动时间 16

4.3 垃圾回收的时间变化 17

4.4 系统版本 19

第五章:结论与未来的展望 21

5.1结论 21

5.2 对未来的展望 21

参考文献 22

第一章 绪论

软件老化问题一直是阻碍着软件长时间且有效率地运行的一个重大问题。以下将简单介绍一下软件老化的研究背景,目的与意义,软件的相关概念以及软件老化目前的相关研究。

1.1软件老化的研究背景

随着经济的发展与科技的进步,软件变得越来越普遍。为了顺应时代的发展的趋势,各行业对软件的需求以及依赖也越来越多。一开始,软件老化这个问题主要是针对服务器而提出来的[1]。服务器需要长时间持续性地工作,时间一久,服务器在处理数据方法的能力与效率便由此明显下滑。它如同一个非时间性的炸弹,随时都对计算机的性能造成威胁。如果这个问题得不到很好的重视,那么各种错误就会积累,当这个积累达到了一定的程度后,就会导致宕机。软件老化的现象早在1960年就已经有证据了:一旦错误报告的缓存区满了,保卫军事系统的正常工作就会受到影响[14]。在文献中,也有记载了有关实际系统的软件老化情况[12],[13]。而造成这种运行环境的恶化的原因其实有很多,比如内存泄漏,内存碎片,未释放的文件锁,舍入误差的累积等等[11]。目前,无论上国内还是国外,都有一些实验室或者科研机构从事着软件老化方面的相关研究[15],比如国外的IBM,贝尔实验室,Duke大学,国内的东北大学[16],中科院,西南师范大学[17]。他们对软件老化方面的研究取得了一定的进展成果,或者在前人的研究基础上继续深入探究。但是软件老化不仅仅影响着服务器,其实对于日常身边的智能手机也有一定的影响。由国外的一篇文章指出,手机在几个小时的压力测试之下确实会受到软件老化的影响[5]。为了更好地探究Android手机的软件老化问题的相关因素,我将会在不同的Android手机的相关信息作测试,并对其结果进行分析。

1.2软件老化的研究目的与意义

软件老化时刻都在威胁着服务器的正常运行,而服务器与我们的生活其实密不可分。我们浏览的新闻,联网听音乐,日常看视频,写博客,这些都离不开服务器。服务器每天都会处理用户各种各样的需要,为用户提供相应的服务等等。单是这样还远远不够,为了满足广大的用户需求,服务器还必须保持高效运作,让用户感觉不到丝毫的“卡顿”。假如一家企业的服务器突然崩溃了,那么企业的损失将是巨大的,而这不仅在于金钱,还有信誉的损失。为了保证服务器长时间高效运行,必须去研究软件老化问题并且采取措施去应对软件老化问题。研究软件老化的意义就是为了避免用户或企业因为这个问题而导致重大损失。随着时代的发展,智能手机尤其是安卓系统的手机越来越普遍。它在人们的生产与生活中扮演的角色越来越重,人们受到软件老化的影响也会因此增加。为了减少这些软件老化对智能手机带的影响,我们需要积极地应对软件老化问题。对于智能手机的软件老化问题的研究是很有必要的,是刻不容缓的。在目前只能手机的市场中,安卓手机的用户比例较大。所以研究基于Linux内核的安卓操作系统的研究老化问题对于未来的生活与工作都很有意义。

1.3国内外的研究现状

软件老化这一概念被David Lorge Parnas的著作介绍得很好:计算机是因为软件老化引起的性能衰退而最终导致机器崩溃的[2]。这与后面的一篇文章相呼应:软件老化并不是一个漏洞或者错误,而是一个很多错误积累的过程,而在这个过程会消耗着计算机的资源,降低计算机的性能,直到计算机的资源衰竭,最终便会导致系统崩溃[3]。Y. Huang, C. Kintala, N. Kolettis, 和 N. Fulton.联合发表了《Softwarerejuvenation: analysis, module and applications》,文章指出了在一个c/s模式的应用程序在服务器上永久运行的时候,我们可以用最多空余时间来划分周期,然后重启服务器,以此来实现软件复兴[1]。后来, Guo C, Wu H, Hua X等人联合发表的《Use Two-Level Rejuvenation to Combat Software Aging and Maximize Average Resource Performance》可以说是一次明显的改进[4]。文章指出可以采用n次暖恢复和一次冷恢复来组成的一个周期来应对软件老化的问题。然而,软件的老化问题并不仅仅局限在服务器端,在智能手机的平台上,软件老化开始被一些学者,专家和研究工作者所研究。《Software Aging Analysis of the Android Mobile OS》就是其中的经典著作之一,它提供了相关方法,对手机的内存,外存,事件,任务管理等方面进行了相关的数据收集并作了详细的分析[5]。

1.4课题研究内容

我的课题研究内容是:不同的Android系统的软件老化问题以及建模研究。

软件老化是指软件在长期不间断的运行舍入误差的累积等原因会导致软件性能的衰退的现象[3]。在不同的压力模型下,不同的安卓系统的老化问题也会不同。通过对比,我们可以发现其优劣,这对于以后更好地开展老化恢复技术和策略。Android是一种基于:Linux的自由及开放源代码的操作系统。Android操作系统的老化问题的研究,对于未来的生活与工作都有极大的意义。为了更好地研究软件老化,我将会在三星,Sony和联想三台不同品牌的安卓智能手机上进行测试。在给智能手机施加一些压力应用程序的情况下,开始记录一些系统信息,垃圾回收日志信息,activity事件日志信息,错误日志信息。最后,利用收集到数据进行分析。

1.5 文件综述

绪论这一章主要介绍一下软件老化的背景,研究的目的以及意义,研究现状,安卓系统架构和安卓系统的垃圾回收的基本知识介绍。第二章主要是介绍一些实验的相关参数与获取这些参数的方法。第三章主要讲的是实验的相关设备,步骤和在实验中遇到的大问题以及其解决方案。第四章的重点是对测试的相关参数进行图表分析,通过这些分析来创建软件老化的模型,最后对软件老化进行预测以及计算其准确性。最后一章是对整个实验的一个总结以及实验尚待改进的地方。

1.6 安卓操作系统简介

1.6.1 安卓系统的系统架构

Android操作系统可以分为4层架构与5大区域。

您需要先支付 80元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图