Главное меню


Автор: Abdirasulov J.U.,Qodirov F.E.   
29.03.2019 06:28

УДК 004.738.5



Abdirasulov Javohir Ulugbekovich,

Qodirov Farrux Ergashevich

Karshi branch of the Tashkent University of Information Technologies

named after Mohammed al-Khorezmi


Android (Android) is an operating system for smartphones, Internet tablets, e-books, digital players, watches, game consoles, netbooks, smartbooks, Google glasses, TVs and other devices. In the future, it is planned to support cars and household robots. Based on the Linux kernel and Google’s own Java Virtual Machine implementation. Originally developed by Android, Inc., which Google then bought. Subsequently, Google initiated the creation of the Open Handset Alliance (OHA), which is now engaged in supporting and further developing the platform. Android allows you to create Java applications that control the device through Google-developed libraries. The Android Native Development Kit allows you to port libraries and application components written in C and other languages. Before you deal with the Android API, remember what structure this OS has. It is based on the Linux kernel, which implements the basic mechanisms inherent in all * nix-systems. The kernel contains modules designed for low-level work: interaction with hardware, memory organization, file system, and so on.

In the Linux world, every running program is a separate process. Each process has a unique number and its own "territory" - a virtual address space, within which all process data is contained. A thread is a set of instructions inside a running program (process) that can be executed separately. A thread does not have its own unique identifier and address space - it inherits all this from the parent process and shares it with other threads.

An application launched in Android has its own process and at least one thread - the so-called main thread. If there are any visual elements in the application, then an Activity class object is launched in this thread, which is responsible for drawing on the user interface (UI) display.

In the main Activity, there should be as few calculations as possible, its only task is to display the UI. If the main thread is busy counting pi, then it will lose contact with the user - until the number is calculated, the Activity will not be able to process user requests and it will seem from the outside that the application has hung. If the wait lasts a little more than a couple of seconds, the Android OS will notice this and the user will see an ANR message (application not responding) with a proposal to forcibly terminate the application.

Android is known to be based on the Linux kernel. The kernel is the central part of any distribution called Linux. Despite the availability of a “clean” kernel, many developers (Ubuntu, Fedora, SuSe, etc.) add their patches to it before being included in the distribution. Android goes the same way, only at the cost of losing direct compatibility: it will not start on the "clean" core. Linus was a good student, which allowed him to buy a Sinclair QL computer for the money received from the scholarship, at that time the computer was worth about 2 thousand dollars. A serious impetus to creating your own operating system was made by reading the book of the scientist Andrew Tanebaum “Operating Systems: Development and Implementation”. The book described the creation of Minix OS family UNIX. After buying a new computer based on the 386th processor, Linus decided to install Minix and noticed a number of flaws.

After that, Linus slowly began to refine the operating system, adding new features. There were so many improvements that the system could be called completely new. On September 17, 1991, Linus published the source code of the program, the system became widely known throughout the world, after which it was decided to name it in honor of Linus - Linux.

        Currently, there are intentions to include "androidisms" in the main version of the kernel; in 2011, Linus Torvalds gave 4-5 years to this process. Success has already been achieved as part of the inclusion of the wakelocks mechanism in kernel version 3.5. Desktops and laptops have a well-established system of power modes (there are several of them in x86 processors): the computer works “at full speed” when something is done and goes to the system is idle. Leaving in the "sleep" mode occurs either after a rather long inactivity, or manually, for example, when closing the lid of the laptop.

On phones, a different mechanism was required: the main state of the system is “hibernation”, and it is only exited when necessary. Thus, the system can fall asleep, even if some application is active.

In Android, the wakelock mechanism was implemented: if an application (or driver) performs something important that should reach its logical conclusion, it “captures” the wakelock, preventing the device from falling asleep. Itself, except for optimizations, tweaks, and various advanced control systems hardware, in custom kernels you can also find completely new functionality, which is not in standard kernels, but which can be useful to users. These are mainly different drivers and file systems. For example, some kernels include support for the CIFS module, which allows you to mount Windows balls. Such a module is in the Matr1x core for Nexus S, faux123 for Nexus 7, SiyahKernel and GLaDOS. It is useless by itself, but there are several applications in the market that allow you to use its capabilities. Android file managers can be a handy tool for organizing data storage in your smartphone, but the Android structure itself (or its apparent absence) can be somewhat confusing . Application data, pictures, music - and access to this all from one root folder - this is a slightly different approach to the hierarchical structure than what PC and Mac users are used to, and this approach gives users much more opportunities than iOS.

In Android, you will not be able to access deeply hidden system files through a regular file manager or by connecting to a PC. But this does not mean that you can delete on a whim any file you want. Let's take a look at how the typical folders in the device’s memory are organized, what they are for, and what you can remove from this and what not.

Even if you did not install a large number of applications, by default this section with user data may contain a number of folders - they contain your contacts, music, pictures and everything else. But the built-in manager is rather weak compared to some of the options available on Google Play. For more efficient file management, install one of the available file managers. Solid Explorer is one of the most popular file managers in the Play Market. The flexible Android operating system allows you to use a variety of settings, and one of the most popular methods to personalize your smartphone is to set your own ringing tones and notification sounds. To do this, you first need to understand the file structure and correctly determine the place where ringtones are stored.


1.     П. Дейтел, Х. Дейтел, А. Уолд. Android для разработчиков. 3-е издание(2016).

2.     Брайан Харди, Билл Филлипс,Крис Стюарт, Кристин Марсикано.Программирование под Android. 2-е издание (2016).

3.     Android Programming: The Big Nerd Ranch Guide. By Bill Phillips, Chris Stewart & Kristin Marsicano. Big Nerd Ranch Guides; 3 edition February 9, 2017.

4.     https://www.android.com/