.

Wednesday, January 16, 2019

Android: Mobile os Vs Desktop os

Mobile os Vs Desktop os mechanical man was knowing from the ground up as an operating transcription (OS) for smooth devices. Its integrate application and recollection-management systems were engineered with battery life as one of the almost vital concerns. The mechanical man OS does not work like a backcloth operating system. On a desktop OS, like Windows, Mac OS X, or Ubuntu Linux, the user is responsible for closing programs in distinguish to obligate a reasonable amount of memory available. On android, this is not the case. The OS itself automatically removes programs from memory as memory is needed.The OS may in addition preload applications into memory which it thinks might soon be needed. Under the Hood of Google humanoid The easiest way I mountain think of to visualize Androids structure is by imagining a house with five retinue The house invents Android in general. The manners inside, however, represent the five key features in Androids structure * applica tion programs * The Application Framework * Libraries * AndroidRuntime * Linux pump. Now, imagine that each of these rooms hold a certain number of people. Each person represents an element of that room. Different rooms hold distinguishable amounts of people.Applications This first room is a doozy. Its people represent all the applications that you have in Android. Games, SMS a cal finishar, maps, a browser, and your contacts. All applications atomic number 18 written in Java ,so you stooge add or leave away as many of these as you like. The Application Framework As a developer, youll have full acces to the APIs utilize by the encumbrance apps. Android is intentional so that any application can indite its capabilities. In turn, any early(a)application can use those capabilities, as well. It has round security constraints, as is expected, nevertheless still. Thats pretty awesome.Along with all that, you ascertain a Content Provider (which allows apps to sh be information ), a Resource handler (to help you with graphics, layout loads, etc), a Notification passenger vehicle (which gives you those annoying status beeps and such), and an Acticity Manager (which manages the life cycle of your apps). All in all, when it comes to creating applications quickly and easily, Android has you get the pictureed. Well cover how to carry by an application in another article. So, you could say that the people in this room are the managers and providers and etc. Believe me, there are a LOT.Libraries Android has a set of core libraries off of which the applications run. As always, developers can forthwith access these. Some of the core libraries include FreeType, SQLite, LibWebCore, and SGL. Android Runtime You could say that the Android runtime room is pretty exclusive it only has devil people the Dalvik virtual(prenominal) Machine and the core libraries (am I getting on your nerves with this people affair yet? ). In Google Android, theres a tool called DX. W hat this does is it executes files in . dex format, which are particularly for the Dalvik Virtual Machine.This format is also created for minimal memory footprints, which makes it ideal for bangh phones. The Dalvik Virtual Machine is written so it can run fourfold prcesses quickly and smoothly. It relies on the Linux Kernel to do its magic. Well talk about that unspoilt after this. Linux Kernel Lastly, we have the Linux Kernel. This little room contains the Keypad, WiFi, Camera, and etc. drivers. The Linux Kernel holds all of Androids internal structure together. It uses Linux 2. 6, and also acts like an abstraction social class between the hardware and the software program. 6 FILE SYSTEM . 1 memory board media NAND Android uses the YAFFS sleazy file system, the first NAND optimized Linux flash file system. For meandering(a) devices, hard disks are too large in size, too little(a) and consume too much effect to be useful. In contrast, flash memory provides turbulent rea d access time and better energizing shock resistance than hard disks. There are fundamentally two different types of flash memory based on their construction technique NOR and NAND. NOR is low density, offers slow writes and fast reads. NAND is low cost, high density and offers fast writes and slow reads.Embedded systems are increasingly using NAND flash for storage and NOR for scratch and execution. Limitations Important limitations of NAND memory include b affiance erasure and memory wear. pulley erasure means that when erasing any memory the whole block mustiness be erased. NAND can be randomly accessed on a rapscallion basis during programming, but cannot offer arbitrary random access order or erase during normal operation. To overcome this limitation, memory segments are mark to be removed or dirty. When the entire block is dirty, thusly it can be erased.Memory wear means that there are a limited number of erase-write cycles in the flash memory and at the end of its li fe-time the data integrity of storage will deteriorate. Wear levelling techniques are used to uniformly use whole sections and to optimize the total lifetime of the device. Bad block management (BBM) is also used to perform write verification and remapping to spare sectors in case of write failure. 6. 2 file away system for NAND YAFFS YAFFS (Yet Another Flash File System) was developed by toby jug Churchill Ltd (TCL) as a reliable filing system with fast boot time for their flash memory devices.They initially tried to modify exist flash file systems such as JFFS (used mainly for NOR) to add NAND support, but it turned out that the slow boot time and RAM breathing in of existing flash file systems was unacceptable. This led them to develop a different flash file system especially for NAND according to its features and limitations to optimize death penalty and ensure robustness. Upon completion YAFFS performed better than existing flash file systems and can still be used with NOR, even though it is was specifically designed for NAND. YAFFS is the first flash file system specifically designed for NAND flash.YAFFS includes the following features Journaling a log-structured file system, which makes it robust to possible power failures. Note that YAFFS requires some RAM to maintain the data structure for its log. Garbage collection highly optimized and predictable scraps collection strategies that makes it high performance and deterministic nether hard writing. Collection is executed when relieve space becomes low. Lower memory requirement it has a lower memory footprint than most other logstructured flash file systems, so it is more(prenominal) scalable. Flexibility it uses a more general definition of NAND flash, is highly configurable and can be customized to work with unhomogeneous flash devices, different geometries, different error subject area options, caching options, etc. Portability although YAFFS was primarily designed for use with Linux, it s modular design make it easy and takeout to many operating systems. The file-system-specific code was kept separate from the main YAFFS file system code. The YAFFS Direct Interface (YDI) can hook up to other filesystems by applying a wrapper layer. Robustness it is well tested and has been used in many products. Bad block handling and error correction mitigate the limitations of flash memory. We can conceptually treat YAFFS as an better version of flash file system with following improvements 1. YAFFS uses less run-time RAM. 2. YAFFS garbage collection is simpler and faster. 3. YAFFS uses a whole page per file for headers and provides no compression. 4. YAFFS can be used on NOR but, will not perform real well. Therefore, partition size can be a guideline to choose between YAFFS and JFFS.For smaller partition sizes JFFS is better suited whereas for larger sizes YAFFS performs better. KERNAL MODIFICATIONS Android is based on the Linux, but does not use a stock(a) Linux gist. The kernel enhancements of Android include alarm driver, ashmem (Android grappled memory driver), ring- binder driver(Inter-Process Communication Interface), power management, low memory killer, kernel debugger and logger. All these kernel enhancements have been contributed back to the open source community under the wildebeest Public License (GPL) 8. Here we list a summary of the most substantial components alarm driver provides timers to wake devices up from sleep * ashmem allows applications to share memory and manages the sharing in kernel levels. * binder driver facilitates inter-process converse since data can be shared by tenfold applications through the use of shared memory. A service registered as an IPC service do not have to worry about different threads because binder will handle, monitor and manage them. Binder also takes care of synchronism between processes. * Power management built on the top on standard Linux Power Management (PM) and take a more militant policy to manage and save power.Android is hailed as the first complete, open, and free mobile platform. Complete The designers took a comprehensive approach when they developed the Android platform. They began with a secure operating system and built a robust software framework on top that allows for rich application development opportunities. light The Android platform is provided through open source licensing. Developers have uncommon access to the handset features when developing applications. Free Android applications are free to develop. There are no licensing or royalty fees to develop on the platform.No involve membership fees. No required testing fees. No required signing or certification fees. Android applications can be distributed and exploit in a variety of ways. Android instead has its own Linux power extension, Power Manager instead. The core power driver (Shown at the get through of Figure 3 as Power) was added to the Linux kernel in order to facilitate this function ality. This module provides low level drivers in order to cook the peripherals supported by the Power Manager. These peripherals currently include conceal expose and backlight, keyboard backlight and button backlight.Each peripherals power is controlled through the use of Wake Locks. These locks are bespeak through the API whenever an application requires one of the managed peripherals to remain powered on (Each lock setting shown in Table 1). If no wake lock exists which locks the device, then it is powered off to conserve battery life. In the case of multiple power settings the transition is managed through the use of delays based on system activity. A sample of this behaviour is shown in Figure 4 for the screen backlight. In addition to Wake Locks the Power.

No comments:

Post a Comment