Effective Memory Management For Mobile Operating Systems
Effective Memory Management For Mobile Operating Systems
Effective Memory Management For Mobile Operating Systems
2017
American Journal of Engineering Research (AJER)
e-ISSN: 2320-0847 p-ISSN : 2320-0936
Volume-6, Issue-1, pp-245-248
www.ajer.org
Research Paper
Open Access
ABSTRACT:As technology is progress day by day, a person who is not using a mobile phone is hardly
discovered nowadays because the mobile phone is a device which helps people to ease their tasks. As mobile
phone users, much concern about the high quality and much user experience in mobile applications, the mobile
application needs more memory. So it has to keep several processes in memory to improve CPU Utilization and
the speed of its response to users. So memory management is a key issue for mobile operating systems (OS).
Mainly its memory is limited and not expandable, and efficient memory management is the only solution for
these problems.
Mostly when the memory is not enough to run the applications, mobile phones get stuck. So mobile operating
systems use different techniques to manage memory in a proper way. In most of these techniques involved with
terminating of applications forcefully when the device runs in low memory. But it does not consider whether it
is a more usable application or an application that takes more time to launch. It is the most common issue in the
OSs.There are many types of studies, various applications and approaches have been proposed in achieving the
optimized use of memory in the mobile operating system. Still, there is no complete solution for this
issueIndex-Terms:launch, low memory, memory management, mobile operating systems, several processes
I. INTRODUCTION
New technologies are introduced in every day. Most of them are based on mobile phones. So people
move to use smartphones more and more. A person who is not using a smart mobile phone is hardly discovered.
There are many different mobile OSs which used by smartphones.
Most of the app users much concerned about user experience and high-quality of theapp, it takes the
app developer to develop a high memory consuming apps. Especially users tend to use many apps repeatable. So
the main problem inmobile phones is memory management. Since most of the mobile phones memory is a
limited resource, it is a must to manage memory well.As a cause of low memory, many phones are stuck time to
time. Mostly the phone should be restart in a situation like that. This is a problem that should be solved in
operating system level because if the memory management is properly done, memory problems do not
rise.Themobile device manufacturers try to fulfill the demand of high memory by increasing RAM capacity.
Today there are phones which are having more than 4GB RAM. The high usage of different apps by the users,
but increasing RAM is not a sustainable solution for memory management.
When an app is launched there is a time which it needs to load. If the user uses the same app, again and
again, launching time will cost for each time the user launch the app and it will not be in the state that the user
stopped. So if the app stored in memory when it relaunched it will load from thememory with smaller time
compared to launch time and it will restore to astate where the user stopped. This technique is used in most of
modern OSs. But if the remaining memory became low, suddenly some of the apps which are in the memory is
forcefully terminated. Before terminating the apps, it does not check whether this is the most usable, launching
delay high or other reasons.All the platforms implement the similar app life cycle and memory reclamation
scheme. Android is one of major OS which is using in smartphones. It uses several techniques to manage
memory in a proper way. The Zygote process is one of key memory management in Android. The Zygotes
main job is to launch the apps. This maps commonly used libraries into processors address space[1].Activity
Manager Service(AMS) executes at framework layer of Android. It is responsible for receiving and responding
to user requests in an appropriate way. Starting and killing processors is the main function which is doing by
this[2].
Android keeps the apps which were launched in memory. When the free memory gets below a
threshold, memory reclamation method calls Low Memory killer(LMK), choose an app to be terminated. The
selection is done according to Least recent used (LRU) page. That means the app used. In this technique, if the
chosen app is large and its often used it can have a negative impact on user experience because to relaunch it
www.ajer.org
Page 245
246
2017
will take time[3],[4] and [5].Another technique which used is Out-of-Memory Killer(OOMK). It is done
according to priority. As soon as memory get low it terminates apps with lower priority. But the operations of
OOMK seriously degrades the execution speed of new app due to trashing[4].Mainly reclamation happened on
an on-demand basis, a number of apps need to be killed to secure a large amount of memory. The apps are killed
one after another. So to free particular amount of memory, it can kill more apps due to on-demand basis.
In current reclamation, the victim app selection policy is not completed one and has many main aspects
to be optimizedin terms of user experience. These are some of the major issues which are in current app
reclamation model:
1. It prefers the apps with a large memory footprint to those with small memory footprint. This is done
because if the apps which have large footprint killed, users may need to wait for a long time.
2. It does not consider app launch time. Even the apps which have same memory footprint can exhibit
different launch times.
3. Reclamation happens on an on-demand basis. So it can mislead the decision to a suboptimal sequence of
app termination and cannot reclaim memory in a simultaneous way.
By considering these issues in current memoryreclamation caused in a negative impact on user experience.
To overcome this issue many researchers have proposed and came with some solutions.
Page 246
247
2017
History Store to select an app and consults the Knapsack Solver to get optimal victim app. The Knapsack Solver
gives the optimal victim app by solving the 0/1 Knapsack based equation which customized by the researchers
(Equation 1)
( ).
=1
=1
Page 247
248
2017
launch time. This strategy was evaluated through trace-driven simulation and a real experiment. As their
experimental results, the app launch time can be reduced by 15% [15].
IV. CONCLUSION
There are some problems of current app reclamation model. It only considering the size of memory
footprint and it does not consider launching time of the app. These two are the major issues in current app
reclamation model.This paper has evaluated some research which proposed new mobile memory management
techniques. There are some problems in memory management scheme which used in most of mobile OSs. The
selection of victim apps to terminate to gain memory when the device runs in low memory has a negative impact
on user experience.
Many researchers had concerned this issue and came up with different approaches. After considering
these methodologies experimental results, the methodologies which are using users apps usage has more
success rates. To solve this problem, the victim selection has to do according to users usage of that app.
REFERENCES
[1].
[2].
[3].
[4].
[5].
[6].
[7].
[8].
[9].
[10].
[11].
[12].
[13].
[14].
[15].
H. Kim, D. Manatunga, and G. Park, Accelerating Application Start-up with Nonvolatile Memory in Android Systems, pp. 15
25, 2015.
K. Vimal, A Memory Management Scheme for Enhancing Performance of Applications on Android, no. December, pp. 162
166, 2015.
K. Zhong, X. Zhu, T. Wang, D. Zhang, X. Luo, D. Liu, W. Liu, and E. H.-M. Sha, DR. Swap, Proc. 2014 Int. Symp. Low
power Electron. Des. - ISLPED 14, pp. 8186, 2014.
G. Lim, S. Member, C. Min, and Y. I. Eom, Virtual Memory Partitioning for Enhancing Application Performance in Mobile
Platforms, IEEE Trans. Consum. Electron., vol. 59, no. 4, pp. 786794, 2013.
S. Kim, J. JEONG, J.-S. KIM, and S. MAENG, SmartLMK: A Memory Reclamation Scheme for Improving User-Perceived
App Launch Time, vol. 15, no. 3, 2016.
D. Ferreira, J. Gonalves, V. Kostakos, L. Barkhuus, and A. K. Dey, Contextual experience sampling of mobile application
micro-usage, 16th Int. Conf. Human-computer Interact. with Mob. devices Serv., no. SEPTEMBER, p. to appear, 2014.
Multitasking the Android Way, 2010. [Online]. Available: http://android-developers.blogspot.com/2010/04/multitaskingandroid-way.html. [Accessed: 24-Sep-2016].
H. Falaki, R. Mahajan, S. Kandula, D. Lymberopoulos, R. Govindan, and D. Estrin, Diversity in Smartphone Usage, Proc. 8th
Annu. Int. Conf. Mob. Syst. Appl. Serv. (MobiSys 10), pp. 179194, 2010.
A. Rahmati, C. Shepard, C. Tossell, M. Dong, Z. Wang, L. Zhong, and P. Kortum, Tales of 34 iPhone Users: How they change
and why they are different, Analysis, pp. 112, 2011.
A. Rahmati and L. Zhong, A longitudinal study of non-voice mobile phone usage by teens from an underserved urban
community, Control, vol. 1, no. 1, pp. 110, 2009.
M. Linares-Vsquez, G. Bavota, C. Bernal-Crdenas, R. Oliveto, M. Di Penta, and D. Poshyvanyk, Mining energy-greedy API
usage patterns in Android apps: an empirical study, Proc. 11th Work. Conf. Min. Softw. Repos. - MSR 2014, pp. 211, 2014.
Y. Kim, M. Imani, S. Patil, and T. S. Rosing, CAUSE: Critical Application Usage-Aware Memory System Using Non-volatile
Memory for Mobile Devices, Proc. IEEE/ACM Int. Conf. Comput. Des., pp. 690696, 2015.
W. Song, Y. Kim, H. Kim, J. Lim, and J. Kim, Personalizedoptimization for android smartphones, ACM Trans. Embed.
Comput. Syst., vol. 13, no. 2, pp. 125, 2014.
S. Kim and J. Kim, Controlling Physical Memory Fragmentation in Mobile Systems, Ismm 2015, no. Vm, pp. 114, 2015.
Y. F. Chung, Y. T. Lo, and C. T. King, Enhancing user experiences by exploiting energy and launch delay tradeoff of mobile
multimedia applications (Extended abstract), 2012 IEEE 10th Symp. Embed. Syst. Real-Time Multimedia, ESTIMedia 2012,
vol. 12, no. 1, p. 86, 2012.
www.ajer.org
Page 248