You are on page 1of 6

Android Operating System

The Android OS is an open source operating system primarily used in mobile devices.
Written primarily in Java and based on the Linux operating system, it was initially developed by
Android Inc. and was eventually purchased by Google in 2005. The Android operating system is
symbolized by a green colored Android Robot logo. The development of the Android OS was a
result of the consortium of the initial members of the Open Handset Alliance (OHA) such as
Google, HTC, Dell, Intel, Motorola, Qualcomm, Texas Instruments, Samsung, LG, T-Mobile,
Nvidia, and Wind River Systems back in November of 2007. The OHA is a business alliance of
hardware, software and telecom companies dedicated to advance the cause of open sourcing for
mobile phones.

Based on the modified version of the Linux kernel version 2.6, the Android code was
released by Google under the Apache license which is also a free software and open source
license. The Android OS consists of numerous Java applications and Java core libraries running
under the Java-based object oriented application framework and the Dalvik Virtual Machine
(VM). Dalvik is integral for the Android to run in mobile devices as these systems are
constrained in terms of processor speed and memory. As for multimedia support, the Android OS
can back 2D and 3D graphics, common audio and video formats. It may also support multi-touch
input (depending on device) and carries in its browser Google Chrome’s V8 JavaScript runtime.

Allocation of processes and threads to physical and Virtual Memory of Android OS

The Android Runtime (ART) and Dalvik virtual machine use paging and memory-
mapping (mmapping) to manage memory. This means that any memory an app modifies-whether
by allocating new objects or touching mmapped pages-remains resident in RAM and cannot be
paged out. The only way to release memory from an app is to release object references that the
app holds, making the memory available to the garbage collector. That is with one exception:
any files mmapped in without modification, such as code, can be paged out of RAM if the
system wants to use that memory elsewhere.

The Dalvik heap is constrained to a single virtual memory range for each app process.
This defines the logical heap size, which can grow as it needs to but only up to a limit that the
system defines for each app. The logical size of the heap is not the same as the amount of
physical memory used by the heap. When inspecting your app's heap, Android computes a value
called the Proportional Set Size (PSS), which accounts for both dirty and clean pages that are
shared with other processes—but only in an amount that's proportional to how many apps share
that RAM. This (PSS) total is what the system considers to be your physical memory footprint.
For more information about PSS, see the Investigating Your RAM Usage guide.

The Dalvik heap does not compact the logical size of the heap, meaning that Android
does not defragment the heap to close up space. Android can only shrink the logical heap size
when there is unused space at the end of the heap. However, the system can still reduce physical
memory used by the heap. After garbage collection, Dalvik walks the heap and finds unused
pages, then returns those pages to the kernel using madvise. So, paired allocations and
deallocations of large chunks should result in reclaiming all (or nearly all) the physical memory
used. However, reclaiming memory from small allocations can be much less efficient because
the page used for a small allocation may still be shared with something else that has not yet been
freed.

Creating a special software that would cater Memory Management

Most of android phones nowadays do not have a default memory cleaner which is needed
on every device. There are also a lot of users who are addicted to mobile games, selfies and
many more that they want a larger memory space. It is inconvenient to clear the cached files of
every application installed on the device one by one every day. Although there are several
memory cleaners existing now, the user still has to download it from the Playstore and most of it
is unreliable. The researchers came up with certain software after a long brainstorming and
decided to create the memory cleaner application. The Go Cleaner is an app wherein the user can
allow it to clean and delete unnecessary data stored on the device. The users may also choose if
they are going to allow the application to access the files in the virtual memory. The software
would cater the memory management through deleting cached files, junks, and other data that are
not needed by the user anymore. The application will optimize the memory space along with
maintaining the privacy of the users. There will also be a scheduler for memory clean up if ever
the user is forgetful and too lazy to optimize the memory space often.
Features and Design Considerations of the Software

The Go Cleaner has different features with its own unique functions. The icons of the
application have its corresponding meaning which helps the user to know its purpose. On the
other hand, the design was thoroughly made since its main goal is to make the application user-
friendly, easier to manipulate and understandable. It has four (4) major features that serve as the
foundation of the whole application.

The four (4) major Features are the following:

1. Quick Scan
Quick Scan is for closing unnecessary running applications that are not used by
the users as of the moment. This feature typically executes for minimum of three (3)
minutes and maximum of five (5). It is also for memory acceleration and partial
optimization of the device. Instead of closing or exiting each application one by one
manually, the users can use this feature for one-touch optimization in a way that it saves
up time which is even more convenient.
2. Clean Up and Accelerate

The Clean Up and Accelerate feature is for quick deletion of cached files of
applications that are easy to remove. It is the temporary and small cached files that an
application has after the users used it. It cleans up the memory in a light way that helps
the device not to be lagged and slowed. Furthermore, it does not affect the major files that
require direct access and consent from the users. This feature automatically clears the
simple files such as redundant package, cache junks, uninstalls residuals, and many more
once you click on it.

3. Privacy Permission
The Privacy Permission feature is for the user’s set up of access to the memory
management of the device. It includes the Account Encryption, App Permission
Management, Privacy Protection, and Memory Permission Management that have its own
function. This feature is mainly about what the user wants to happen on the device and
what it gives consent with.

 Account Encryption

Account Encryption is about creating a legitimate account wherein the user is


only one who can access the memory management application. It contains the email and
password which the device is encrypted with. If the user ever forgets the password of the
application, they can retrieve it through the email address given. This account will serve
as an ID for verifying the user since the memory management application has access with
all of the files stored on the device. The users may also access the status of their memory
in this section and also in the main settings.

 App Permission Management

The App Permission Management feature pertains to the applications installed on


the device that the user allows to be handled by the Go Cleaner application. The users
just have to allow or choose the applications that they want to be cleaned and optimized
based on the assigned schedule. There are applications that contain personal and
important information that cannot be deleted so it is wiser to just manually delete its
unnecessary content.

 Privacy Protection

The Privacy Protection is an optional feature because it only set up customized


password and verification before the user can open the application. It could be a simple,
numbered or complex password as long as what the users want.

 Memory Permission Management

The Memory Permission Management is one of the most important features of the
Go Cleaner because this is where the user decides if he would allow the application to
handle the memory management of the virtual memory. It is also optional but kind of
crucial because the free memory space on the virtual memory also affects the device
optimization state.

4. Scheduler

The Scheduler is responsible for setting date, time and duration of the whole Go
Cleaner process. This is where the users input or choose whether when the memory
cleaner automatically cleans up the device. This feature may also be customizable but it
is limited since it suggests the best and suggested dates for the optimization of the device.

 Notification of Optimization

This feature allows the users to receive notification when the Go Cleaner is doing
its work. The user may also turn off the notification if he does not want to be updated
with the status of device’s memory.

 Set Time

Set Time is where the users set when the exact time that the Go Cleaner starts
doing its function. The users can choose from 12am up to 12pm depending on what they
want. The Memory Cleaner do not interrupt other processes that are currently executing
once it starts.

 Scheduled Optimization
 Frequency (Daily, Weekly, Monthly, Customized)

This feature is where the user decides on how frequent the memory cleaning will
be. The users can choose on the give dates and they can also input it. Although there will
be best suggested frequency displayed, the users may still follow it or not.

Sample memory table process distribution

4 MB 4 MB Call
Contacts Free Space
14 MB
Messages
20 MB Camera 10 GB Internal Memory
Photos
9 MB
Music 2 GB RAM
16 MB Video
Calendar
20 MB File Manager
4 MB
4 MB Background Processes

8 MB
100
MB
Unused Space

You might also like