Potential opportunity to increase device longevity? - General Questions and Answers

I was thinking and can't remember where I posted it before, but it seems that all of windows mobile devices for the most part lack one think available ram, now I was wondering if a developer or everyday tinker person could create this. As we all know all of the new MS OS available have a feature called ready boost that allows you to use an usb flash drive with the same size to increase or double your available ram similar to the use of swap in linux. Now if were able to partition our sd disk to a portion being the size of the available ram and would make device see it maybe this could increase the lifespan of older devices and increase performance. I believe this can be achieved because I am able to boot an entire android rom off my sd card. And with the community effort this can be achieved. If you guys think this is a worthy opportunity please let me know though I don't program I will do what I can to help. Thanks in advanced.

search for ramdisk.
or click:
http://lmgtfy.com/?q=ramdisk+xda

gotcha but
I read through that and had different results (thanks for showing me how to use google........you have to have appropriate keyword for appropriate responses). Have you tried that image and did it help you?

Related

NAND and NOR ROM on the Kaiser

So with all the excitement going on in the page pool thread I was doing some external reading. One topic that caught my interest is NAND and NOR ROM.
I got a nice summary from here:
http://blogs.msdn.com/windowsmobile/archive/2005/08/19/453784.aspx
Basically, the synopsis is:
NOR: Faster to read, slower to write.
NAND: Slower to read, faster to write.
But, more importantly, NOR ROM let's you perform XIP operations. Now i remember seeing this XIP acronym before...in a directory when I extracted a ROM. This leads me to believe that at least part of the ROM in the Kaiser is NOR ROM.
XIP means eXecute In Place. It basically allows code to be executed directly from the ROM without first being copied into the RAM. This means less RAM utilization. As the article states i works for programs only, not user data files.
If we look in the XIP directory of an extracted ROM we see subdirectories like:
busenum.dll
diskcache.dll
imgfs.dll
These are things like low level bus, disk, and file system drivers. These things make perfect sense to XIP.
My question then is... if indeed we do have NOR ROM that can do XIP operations, how much is free on a typical ROM? AND can we cook in other applications into this XIP NOR location instead of into the NAND ROM and thus have those eXecute in Place and free up additional RAM?
It would be nice to get the 3% of my RAM back from Voice Command, or the 1% from PocketCM, etc, etc...
Could it be as easy as moving .dll files from \SYS to \ROM\XIP before cooking the ROM? I doubt it, but is it possible?
I'm just throwing a concept out there and asking about it's feasability. I'm not really a developer so I don't know how much further I can take this.
Thoughts?
bengalih said:
My question then is... if indeed we do have NOR ROM that can do XIP operations, how much is free on a typical ROM? AND can we cook in other applications into this XIP NOR location instead of into the NAND ROM and thus have those eXecute in Place and free up additional RAM?
It would be nice to get the 3% of my RAM back from Voice Command, or the 1% from PocketCM, etc, etc...
Could it be as easy as moving .dll files from \SYS to \ROM\XIP before cooking the ROM? I doubt it, but is it possible?
I'm just throwing a concept out there and asking about it's feasability. I'm not really a developer so I don't know how much further I can take this.
Click to expand...
Click to collapse
I don't think that blog applies to the Kaiser-like devices anymore. We already use all the ROM space we get. The partitioning between XIP and storage is out of the same space and controlled by how the ROM image is built and whatever they set the pagepool to.
Did you run out of space of the 100MB+ internal storage we all get?
I don't know why it wouldn't apply...it's not a WM5 vs WM6 issue.
Based on the only specs I have seen it lists the Kaiser with 256 ROM and 128 RAM.
The question is what type of ROM is it? Devices can mix NOR and NAND ROM. And based on what I see on the extracted ROM, at least some of it must be NOR (because of the existence of the XIP directories).
And this isn't a question of storage space. I am not trying to get more usable storage...I have a 8GB SDHC card for that. I am trying to maximize my available application space.
The point of my post is... can an application, let's say like Voice Command be moved from what might be the NAND portion of the ROM into the NOR portion of the RAM (from \SYS to \ROM\XIP). It would take up the same space of the TOTAL ROM, but when it executed it DOES NOT NEED BE LOADED INTO RAM and thus your available application space is not decreased.
Again, I am not a developer, so I may be way off in asking if this can be done. However your response is one that doesn't speak to the theory I am proposing.
if I remember right this was talked about before but on a different device I think the hermes. I am not sure of the reason it couldnt be done but I just remember it couldnt lol. Something about allocated memory maps
Some interesting things
I found this wile reading the link you posted. Some great information in there.
By the way, every SD and CF card is made out of NAND flash. So, no, you can't XIP programs stored on a storage card.
Click to expand...
Click to collapse
So am I reading this right. That any program we have stored on our Storage Card won't utilize the XIP
I've been working on & subsequently screwing up, page pool alteraitions for awhile. Because I'm messing with a Kaiser(CE5) & a UMPC (CE6) based device, I can tell you that while the pagepool will save you some seconds, mostly with the loading of contacts, your inbox, & the boot to os speed of the device, for the most part you're right, you won't see much difference.
However, with CE6, that will change. With CE 6 based devices you will be able to completely comtrol paging, be it XIP or Data (Read Only) paging. Maybe wm7 will introduce CE6 to PDA devices. With CE6, formerly & frequently confused with WM6, you will have 2 page pools & several controls over them including compaction.
The effectiveness of page pool sizes can vary widely depending on the types of processes & programs you use, but suffice to say, the average user will take little to no benefit from a larger paging file.
For all of you truly interested, there is a PB process file called DevHealth.exe, that can be used via SD card to report the actual status of the paging pool. Google it, you will find it. Kind of interesting to see what your device is actually doing before & after the changes.
AllTheWay said:
I found this wile reading the link you posted. Some great information in there.
So am I reading this right. That any program we have stored on our Storage Card won't utilize the XIP
Click to expand...
Click to collapse
No but what the OP is asking is if we can take apps and put them in the XIP section and run them from there. I think someone should try it out just cook up a rom with a complete app cooked in the XIP and see what happens. the worst is bad blocks i would guess but maybe POF or OLI should chime in on this one.
I do believe you can XIP from an SD card, I believe MS has done this with a few test devices that utilize under battery sd cards. I think it's not something they've done mostly because of problems in system stability when the SD is removed.
austinsnyc said:
No but what the OP is asking is if we can take apps and put them in the XIP section and run them from there. I think someone should try it out just cook up a rom with a complete app cooked in the XIP and see what happens. the worst is bad blocks i would guess but maybe POF or OLI should chime in on this one.
Click to expand...
Click to collapse
THANK YOU AUSTIN!
Yes, this is what I am saying. Forget about SD cards (which, according to what I have read are all NAND and thus can't XIP).
I am just asking if some of the applications that we are cooking into the flash (the things that extract to \SYS) like MS Voice Command, CM Contacts, QuickGPS, etc... if instead those things can be places in XIP.
Again, this is under the assumption (which is a big assumption) that what is in \XIP gets placed in the NOR ROM and what is in \SYS gets placed in the NAND.
What this would mean is that when you execute any of the programs I mention, like say Quick GPS you won't see the RAM utilization on your device go up, meaning you will have the same amount of available free memory. This is because of the XIP (based on the description I have read) it can be executed from the ROM without being copied into RAM.
Now, my guess is that even though the NOR has faster reads than NAND, it still might be slower than RAM. So, it might take another second to open Quick GPS. However for some apps I think I would prefer the slight delay in order for my available memory to be increased.
GSLEON3 said:
I've been working on & subsequently screwing up, page pool alteraitions for awhile. Because I'm messing with a Kaiser(CE5) & a UMPC (CE6) based device, I can tell you that while the pagepool will save you some seconds, mostly with the loading of contacts, your inbox, & the boot to os speed of the device, for the most part you're right, you won't see much difference....
For all of you truly interested, there is a PB process file called DevHealth.exe, that can be used via SD card to report the actual status of the paging pool. Google it, you will find it. Kind of interesting to see what your device is actually doing before & after the changes.
Click to expand...
Click to collapse
Good info Leon...but better to put this in the pagepool thread so we can discuss it there (and please do). What I'm trying to get at here is not directly related to pagepool sizes and speeds.
austinsnyc said:
if I remember right this was talked about before but on a different device I think the hermes. I am not sure of the reason it couldnt be done but I just remember it couldnt lol. Something about allocated memory maps
Click to expand...
Click to collapse
That's entirely possible. Again, I'm being the "idea guy" as I'm trying to synthesize some info I have absorbed. The most programming I do is high level scripting and VB so I don't know details about how this stuff would actually work down at the memory map level. There may be some other issues as well. I was hoping there was someone in these forums who actually had the knowledge (and wasn't just following cooking tutorials like most of us) of how this stuff truly interacts.
Also please reference my post in the pagepool thread, has some good thoughts (I think!):
http://forum.xda-developers.com/showpost.php?p=2101324&postcount=99
bengalih said:
http://forum.xda-developers.com/showpost.php?p=2101324&postcount=99
Click to expand...
Click to collapse
In addition to the above, I have found some more info which may partially defeat my reasoning:
XIPKernel
There are portions of the deepest parts of the OS that have to XIP. If you're on NOR, that code just XIPs like everything else. Not so on NAND. For a NAND system to boot, it needs to load this code into RAM first and then run it from there. When the system is running, it can't really tell if it's running from RAM or ROM, so it assumes it's running from ROM and doesn't count this space.
The XIPKernel region tends to be between 1.5 and 2M.
Click to expand...
Click to collapse
So it seems that just because we have a \XIP directory doesn't mean we have NOR ROM. It could just be the area the ROM places data that in NEEDS to XIP, and therefore means that it will get copied to RAM on boot (instead of just XIPing from where it is in ROM). This could also account for the additional "missing" RAM up to 128MB.
Therefore moving an application to this \XIP pre-cook doesn't mean that it will save us any RAM (again, assuming we DON'T have NOR ROM). It could however speed up that application since we are basically "pre-loading" it into RAM instead of waiting for the load to be user initiated.
I guess a question now is does all XIPed code run at the same time and is that all at boot? It does us no good to try and load up voice command (or QuickGPS, etc.) before the supporting code from the OS has loaded.
So, this may all be a wash, but it does help explain some of the interaction better and even if it leads no where, at least we will better understand how the devices memory system works.

patch to increase managing capacity of larger SDHC

Hi,
Would very much appreciate if some kind expert would teach
me how can i use a widely known patch to enlarge SDHC limited management skill of HTC p3600.
The patch i´m refferring instructs to replace 2 files in the wm5 system: a .dll and other more...
Now what happens is that when i try to replace the said files i
get a msg. denouncing "violation" and the system does not allow the operation.
Since i do not know how to boot in safe-mode -- if such move is possible at all within Windows Mobile 5, very poor, sadly limited environment, i wonder if some of you could help me??
If yes, i thank you a thousand,
N'R.

[Info] For Newbie What It Is It Mean? Your Answare Are Here (Updated 24th January)

Newbie Quick Start​
UPDATES
[Info] For Newbie What It Is It Mean? All Your Answare Are Here Part I
[Info] For Newbie What It Is It Mean? All Your Answare Are Here Part II - 29th December 2011, 07:54 PM
[Info] What Is Odex And Deodex In Android - 24th January 2012, 03:07 PM
[Info] What Is Zipalign In Android And How To Make Apps Zipaligned - 24th January 2012, 03:18 PM
Click to expand...
Click to collapse
USER REVIEW'S ABOUT THIS THREAD IN JUST SOME MINUTES
m.kochan10
Really good idea! IT should be sticky!
-----------------------------------------------------------------------------
rajanprash
Hi Sbxlive,
Thanks for all the info on the Galaxy R.
I am getting the device today.
I wanted to know if thr GR has NFC and MHL. As far as I know no review states that these features are present on the Galaxy R.
Thanks.
Click to expand...
Click to collapse
I Created This New Thread Because Of When I Entered In XDA With My Galaxy R ,I Really Don't Know About Above This Things And I Thought Daily New Members Are Coming In XDA With Their Devices And Facing Thats Problems Also So I Help This Buddies As I Do. So Lets Go On The Worlds ​
ITS SIMPLE BASIC BUT IMP MY FRIENDS SO PLEASE READ IS CAREFULLY YOUR DEVICE IS YOUR PART OF YOUR LIFE I THINK SO ​
OTG USB On-The-Go
USB On-The-Go, often abbreviated USB OTG, is a specification that allows USB devices such as digital audio players or mobile phones to act as a host allowing a USB flash drive, mouse, or keyboard to be attached.
Click to expand...
Click to collapse
NFC
Near field communication (NFC) is a set of standards for smartphones and similar devices to establish radio communication with each other by touching them together or bringing them into close proximity, usually no more than a few centimetres. Present and anticipated applications include contactless transactions, data exchange, and simplified setup of more complex communications such as Wi-Fi.Communication is also possible between an NFC device and an unpowered NFC chip
Click to expand...
Click to collapse
OC
Over Clock (more clock cycles per second)
Disadvantages
Many of the disadvantages of overclocking can be mitigated or reduced in severity by skilled overclockers. However, novice overclockers may make mistakes while overclocking which can introduce avoidable drawbacks and which are more likely to damage the overclocked components (as well as other components they might affect).
Click to expand...
Click to collapse
ROOT
Rooting is a process that allows you to access the workings of your phone that the phone provider does not want you to. It allows you to changed settings, functions, whole operating systems, make upgrades etc......
You can leave the "Stock" OS behind and get the most out of a phone. IT DOES VOID YOUR WARRANTY.
Click to expand...
Click to collapse
KERNEL
In computing, the kernel is the main component of most computer operating systems; it is a bridge between applications and the actual data processing done at the hardware level. The kernel's responsibilities include managing the system's resources (the communication between hardware and software components). Usually as a basic component of an operating system, a kernel can provide the lowest-level abstraction layer for the resources (especially processors and I/O devices) that application software must control to perform its function. It typically makes these facilities available to application processes through inter-process communication mechanisms and system calls.
Click to expand...
Click to collapse
MHL
Mobile High-Definition Link (MHL) is a proposed industry standard for a mobile audio/video interface for directly connecting mobile phones and other portable consumer electronics (CE) devices to high-definition televisions (HDTVs) and displays. The MHL standard features a single cable with a low pin-count interface able to support up to 1080p high-definition (HD) video and digital audio while simultaneously charging the connected device.
Click to expand...
Click to collapse
CWM
ClockWorkMod - A utility for Android used to flash zip files containing Android ROM distributions on an Android mobile phone. It also allows the user to create or restore backup files containing a whole installation of a ROM, including system, application and user files.
Click to expand...
Click to collapse
ROM
Technical Definition of ROM
ROM stands for Read-Only Memory and technically speaking, it refers to the internal storage of a device, which is supposed to contain the operating system instructions that needn’t be modified at all during the device’s normal operation. For this reason, such instructions are stored in read-only memory – much like on a non-rewriteable CD or DVD – to make sure no changes are made to them that could possibly make the device malfunction. This is in contrast with hard disk drives, solid state drives or regular flash storage devices used by personal computers that allow full read/write access even to the storage area that contains the operating system files.
Click to expand...
Click to collapse
What is Firmware
The read-only operating systems that we just discussed above are also called ‘firmware’, as they stay firmly in place without modification access to the users of the device. Modification of firmware is still however possible, just not under normal usage. Many devices require specialized hardware to be used for the purpose while other devices have the storage set as read-only through software protection only, which can be removed or overridden without the need for any specialized hardware, just by using software written for the purpose, often but not always requiring connection to a computer.
Click to expand...
Click to collapse
Thus, the terms ‘operating system’ and ‘firmware’ both refer to the same thing and can be used interchangeably when applied to such devices.
Click to expand...
Click to collapse
Flashing
The ROM memory used in smartphones and tablets etc. is often same as flash memory found in SD cards and USB flash drives, simply optimized for better speed and performance while running the operating system. As explained above, it is read-only under normal usage and requires a special procedure for any modifications to be made to its contents. The procedure of modifying or replacing the contents of such flash memory is known as flashing. Thus, in layman’s terms, flashing is essentially the same as installing or modifying the firmware of a device that is stored on its protected flash memory.
Click to expand...
Click to collapse
ROM as the Operating System
When it comes to smartphones and tablets, the term ROM is used to refer to the firmware stored in the internal memory of the device, rather than the internal memory itself. It can also refer to a file prepared for the purpose of replacing this firmware with another version of using a special method.
Thus, when you are told by someone to download a ROM, they are referring to the file that contains the firmware in a format ready to be installed to your phone to replace it’s existing firmware. Similarly, when asked what ROM is your phone running or when told by someone their phone is running a particular ROM, they are again talking about the particular variant of the firmware.
Click to expand...
Click to collapse
Types of ROMs
Unlike most desktop operating systems, mobile operating systems can be found in installable format in multiple forms, which can be categorized as follows.
Truly Stock ROMs / firmware:
This is the operating system in its default form, without any modifications made to it except for any device-specific support required to run it on the particular device. Truly stock firmware provides the standard user experience of the operating system without any cosmetic or functional changes made. These days, truly stock firmware is primarily found in cases where both the device and the operating system is built by the same company. Amongst modern mobile devices, examples of truly stock firmware can be found on Apple’s iOS devices, Palm’s WebOS devices and some Android devices shipped without any modifications made to the operating system by their manufacturers.
Click to expand...
Click to collapse
Manufacturer or Carrier branded Stock ROM / Firmware:
This type of firmware has had enhancements added over the default operating system by the device manufacturer or the mobile service carrier. This often includes interface enhancements, proprietary applications and in most cases, restrictions intended to limit the use of the device with a specific carrier or region. There are often further restrictions preventing installation of firmware not released by the carrier or manufacturer.
Most Android and Symbian devices fall under this category, and so do most Windows Phone 7 devices but in their case, the changes made from the truly stock firmware are minimal and limited to the inclusion of additional apps only.
Click to expand...
Click to collapse
Custom ROM / firmware:
Almost all devices ship with either of the above two categories of firmware, though things don’t end there. Independent developers who like to customize their devices beyond the standard options provided often tend to release the fruits of their labor for the rest to enjoy, in form of custom ROMs. The more open the platform, the more independent development it attracts, a good example of which is the independent custom ROM development for Android.
Click to expand...
Click to collapse
In case of proprietary firmware such as iOS and Windows Phone 7, there is often little or no room for customization of the operating system itself but regardless of that, developers still tend to release custom ROMs bundled with useful tools and hacks applied to provide functionality beyond the stock features. In fact custom ROM development for the otherwise proprietary and closed-source Windows Mobile platform lead to the formation of the largest independent mobile development community – the XDA-Developers forum.
Click to expand...
Click to collapse
Stock Vs. Custom ROMs
Both stock and custom ROMs have their merits and demerits and choosing between the two requires careful consideration. In this section, we are going to make a comparison between the two types of ROMs to help you make the right choice. Let us begin by taking a look at their advantages and disadvantages.
Do note that this section is written with primarily Android (and now obsolete Windows Mobile) devices in mind. However, the many of these concepts will also apply to other smartphone platforms.
Click to expand...
Click to collapse
Advantages & Disadvantages of Stock ROMs
Stock firmware is the result of a lot of research and testing done by the operating system vendor, the device manufacturer and/or the mobile service carrier. Therefore, it carries several advantages:
It is usually quite stable upon release.
Almost all bugs are patched during the extensive beta testing before release.
It carries the official support by the firmware vendor, device manufacturer and the mobile service carrier.
Updates are pushed automatically to the device by the carrier.
Along with its advantages, stock firmware also carries its disadvantages and these include:
Updates aren’t frequent, as development is done mostly by corporations who have to follow a scheduled release cycle.
Providing feedback to the manufacturer in case of any issues is either impossible, unwelcome (often with Apple devices), or a long, tedious process.
Similarly, getting official support can be a hassle as well, involving a tedious process.
If the device manufacturer and operating system developer are different (as is the case with Android and Windows Phone 7), any updates released by the operating system vendor need to be edited by the device manufacturer or mobile carrier to add compatibility and additional software before release. Hence, some devices get updates delayed by months.
Updates are often released first in the United States, leaving the rest of the world waiting. (A world does happen to exist beyond the United States, we’ve confirmed it ourselves!)
Worse still, when manufacturers choose to no longer release official updates for their older devices in favor of newer ones, their users are essentially stuck with old versions of the operating system. This case is evident with many Android devices barely a year and a half old.
Several OS developers, device manufacturers or mobile service carriers add
restrictions in the stock firmware ranging from locking the use of the device with one network/region to disabling sideloading of apps (we’re talking about you, AT&T) not available in the official app market, to advanced restrictions removing any chance of getting root access, just to name a few.
Click to expand...
Click to collapse
Advantages & Disadvantages of Custom ROMs
Custom ROMs are as good or as bad as the effort put into them by their developers. Key advantages of custom ROMs are:
First and foremost, choice! There are thousands of custom ROMs out there for a range of devices, each offering a diverse set of features not found in the stock ROM.
Update frequency – custom ROMs are often under active development and newer releases of the core operating system are incorporated in them way before updated official ROMs are released. This is particularly true in case of Android devices, where developers start porting newer versions of Android to several devices as soon as they are released.
Providing feedback is as easy as leaving a message on the development forum for the ROM in question, resulting in highly efficient bug reporting.
Getting support with your issues at the forums is similarly easy, as not only the main developers themselves but also other experienced users of the ROM from the community are glad to help you with your issues and in the process, improve the ROM for everyone.
Custom ROMs usually have all the extra restrictions removed, enabling users to sideload apps, tether their mobile data connection to their computer without paying extra for it, gain root access, use their device in any region etc. without any need for circumventing the protection themselves.
Performance enhancements and optimizations found in many custom ROMs can make them much faster than stock ROMs, enabling users to get the most out of their devices.
Overclocking options are built into some custom ROMs, further speeding up the devices.
Undervolting options found in some ROMs on the other hand result in improved battery life.
Old phones with little internal memory can benefit most from custom ROMs that allow them to use the external SD card memory for the apps exactly the way they would use the internal memory.
So with all these advantages, there should be no reason to stick with the stock ROM, right? Not necessarily! Like all things in life, custom ROMs come with their disadvantages as well:
Due to the lack of extensive testing prior to release, many custom ROMs can be buggy in the beginning and installing a ROM with missing or corrupt critical files can even brick your phone.
Several custom ROMs that are ports of ROMs from other phones can have missing functionality that hasn’t been made to work on your phone with the ROM yet.
Installing a custom ROM usually involves wiping your phone to factory settings, so you lose your data and start from scratch. Fortunately, Android’s built-in contact syncing along with apps offering message, call log and app backup/restore make this process easier, letting you retain your data.
The installation process itself can be cumbersome and may require you to root your phone and often circumvent its security features to allow for custom ROM installation in the first place.
Installing a custom ROM will in most cases void your phone’s warranty, though often the process is reversible, meaning you can turn your phone back to stock as long as it isn’t bricked.
Installing a ROM to your phone requires you to root it first in most cases. While rooting most phones is easy, some phones require a complicated procedure to be followed before you can install a ROM to it and often, such procedures involve a risk of bricking your device if things go wrong.
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Click to expand...
Click to collapse
------------------------------------------------​
I THINK THIS THREAD HELPED YOU MUCH MORE AS YOU KNOW IT WILL KEEP UPDATING WITH NEW WORDS SO KEEP IN TOUCH AND DONT FORGET TO SAY THANKS OR REPLY
IF YOU HAVE SOME SUGGESTIONS OR ANY QUERY"S PM ME OF REPLY
Click to expand...
Click to collapse
DONT FORGET TO CLICK ON THANKS​
Really good idea! IT should be sticky!
Thanks for the Info.
Hi Sbxlive,
Thanks for all the info on the Galaxy R.
I am getting the device today.
I wanted to know if thr GR has NFC and MHL. As far as I know no review states that these features are present on the Galaxy R.
Thanks.
m.kochan10 said:
really good idea! It should be sticky!
Click to expand...
Click to collapse
t-t i can not understand my english very poor
Thank you.It makes a huge contribution to new users to understand Android.
No problem mys199156 Sticky thread means in this context "fixed", it remains always on the top, no matter if a new post has come or not.
great! post, sticky now!!
Thanks. This should be sticky !!
PS : ClockWorkMod should be CWM....Not CMW.
Cheers !
s4sixty said:
Thanks. This should be sticky !!
PS : ClockWorkMod should be CWM....Not CMW.
Cheers !
Click to expand...
Click to collapse
sry my mistek
somthing wrong here wait i will again edit this topic from first line coc i dare to edit this topic on my mobile thats why it happen sorry for that
Sent from my GT-I9103 using XDA App
[Info] For Newbie What It Is It Mean? All Your Answare Are Here Part II
BFQ - Budget Fair Queueing
BFQ (Budget Fair Queueing) is a Proportional Share, or equivalently Fair Queueing, disk scheduler that allows each process/thread to be assigned a fraction of the disk throughput. It has the following characteristics.
It distributes the disk throughput to disk-bound proceses as desired, even if it fluctuates, independently of the disk parameters and with any workload. Providing this sector-domain fairness to processes issuing random requests would easily cause the disk throughput to drop on one hand, and cause other processes to experience very high latencies on the other hand. To face this problem, for processes issuing random requests, BFQ switches to time-domain fairness, in which it is the disk time to be fairly distributed (basically the scheme of CFQ).
According to our results, BFQ achieves up to 30% higher aggregate disk throughput than CFQ with most of the workloads considered, or the same throughput with the others.
BFQ guarantees to each disk request a tight delay with respect to the completion time that the requests would enjoy in an ideal (unfeasible) perfectly-fair system.
BFQ exports a low_latency tunable. If enabled (currently the default), BFQ executes a special heuristics that automatically gives to interactive and soft real-time applications more than their fair share of the disk throughput, to reduce their latency. According to our results, for desktop or handheld usage, the system becomes virtually as responsive as if the disk was idle, whatever the actual disk load is. Soft real-time applications enjoy up to 3-time lower latencies than under CFQ.
Low-latency guarantees are preserved also in presence of NCQ.
Click to expand...
Click to collapse
Click to expand...
Click to collapse
USB JIG
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
This jig will allow you to get your phone into download mode when your phone is 3 button combo disabled or soft bricked. As long as there is something on the screen, the jig should work for you.
This JIG also works to RESET THE FLASHING COUNTER. You can flash custom ROMS and put the flash counter back to 0.
***WORKS ONLY AS RESETTER FOR ANDROID 2.3.4 AND EARLIER***
For More Info : http://usbjig.com/
Click to expand...
Click to collapse
SbXLivE said:
BFQ - Budget Fair Queueing
Click to expand...
Click to collapse
You should always update this article
Very good explanation of basics!
Would be nice to have similar intro explaining slightly more complex things seen during flashing a new firmware or somehow else modding a phone. Not everyone understands what is kernel, boot, recovery, system and data partitions.
Very interesting! You resolve some doubts, thank you!
Sent from my GT-I9103 using xda premium
SbXLivE said:
sry my mistek
somthing wrong here wait i will again edit this topic from first line coc i dare to edit this topic on my mobile thats why it happen sorry for that
Sent from my GT-I9103 using XDA App
Click to expand...
Click to collapse
what I've said is wrong. I always say CMW
Nice post for android beginners.
much useful info. thanks!
What Is Odex And Deodex In Android
What Is Odex And Deodex In Android
WHAT IS AN ODEX FILE?
In Android file system, applications come in packages with the extension .apk. These application packages, or APKs contain certain .odex files whose supposed function is to save space. These ‘odex’ files are actually collections of parts of an application that are optimized before booting. Doing so speeds up the boot process, as it preloads part of an application. On the other hand, it also makes hacking those applications difficult because a part of the coding has already been extracted to another location before execution.
Click to expand...
Click to collapse
THEN COMES DEODEX
Deodexing is basically repackaging of these APKs in a certain way, such that they are reassembled into classes.dex files. By doing that, all pieces of an application package are put together back in one place, thus eliminating the worry of a modified APK conflicting with some separate odexed parts.
In summary, Deodexed ROMs (or APKs) have all their application packages put back together in one place, allowing for easy modification such as theming. Since no pieces of code are coming from any external location, custom ROMs or APKs are always deodexed to ensure integrity.
Click to expand...
Click to collapse
HOW THIS WORK
For the more geeky amongst us, Android OS uses a Java-based virtual machine for running applications, called the Dalvik Virtual Machine. A deodexed, or .dex file contains the cache used by this virtual machine (referred to as Dalvik-cache) for a program, and it is stored inside the APK. An .odex file, on the other hand, is an optimized version of this same .dex file that is stored next to the APK as opposed to inside it. Android applies this technique by default to all the system applications.
Now, when an Android-based system is booting, the davlik cache for the Davlik VM is built using these .odex files, allowing the OS to learn in advance what applications will be loaded, and thus speeds up the booting process.
By deodexing these APKs, a developer actually puts the .odex files back inside their respective APK packages. Since all code is now contained within the APK itself, it becomes possible to modify any application package without conflicting with the operating system’s execution environment.
Click to expand...
Click to collapse
ADVANTAGES & DISADVANTAGES
The advantage of deodexing is in modification possibilities. This is most widely used in custom ROMs and themes. A developer building a custom ROM would almost always choose to deodex the ROM package first, since that would not only allow him to modify various APKs, but also leave room for post-install theming.
On the other hand, since the .odex files were supposed to quickly build the dalvik cache, removing them would mean longer initial boot times. However, this is true only for the first ever boot after deodexing, since the cache would still get built over time as applications are used. Longer boot times may only be seen again if the dalvik cache is wiped for some reason.
For a casual user, the main implication is in theming possibilities. Themes for android come in APKs too, and if you want to modify any of those, you should always choose a dedoexed custom ROM.
Click to expand...
Click to collapse
Click to expand...
Click to collapse
What Is Zipalign In Android And How To Make Apps Zipaligned
What Is Zipalign In Android And How To Make Apps Zipaligned
WHAT IS ZIPALIGN?
zipalign is an archive alignment tool introduced first time with 1.6 Android SDK (software development kit). It optimizes the way an Android application package (APK) is packaged. Doing so enables the Android operating system to interact with the application more efficiently, and hence has the potential to make the application and overall the whole system much faster. Execution time is minimized for zipaligned applications, resulting is lesser amount of RAM consumption when running the APK.
Click to expand...
Click to collapse
SO HOW DOES IT EXACTLY WORK?
In an Android operating environment, data files stored in each application package are accessed by multiple processes, for example, the installer will read the data manifest to determine the associated permissions; the system server can read these resources for multiple reasons, like displaying notifications; the Home application, for example, will read resources to get the application’s name and icon. Since Android is based on a a true multi-tasking operating infrastructure, these files are continually and repeatedly accessed. Finally, but not least, the application itself reads the manifest data.
As Android is Linux-based, memory-mapping plays a key role in efficient handling of processes. Essentially, the optimal alignment for the Android OS’ resource-handling code is 4-byte boundaries. What this means is that, if APKs are memory-mapped to 4-byte boundaries, and aligned accordingly, the OS will not need to ‘read through’ the whole application package to get to the desired data manifest. Every system process will know in advance where to look for it’s desired resources, and hence will execute much smoother and faster.
Summing it up, zipaligning an APK results in all uncompressed data within the package to be aligned on 4-byte boundaries, allowing all portions to be accessed directly with the memory-map. RAM consumption is lowered while execution because the querying code doesn’t have to read through the entire application package.
Click to expand...
Click to collapse
DISADVANTAGES OF UNALIGNED APKs
Quite understandably, situation would be reserved for unaligned application packages. Resource reading would be slow and memory usage would be on the higher end of the spectrum. It would also depend on how many unaligned applications are present. For example, if less number of applications with an unaligned home application, you’d see slower application launch times. This is the best case scenario. For a worst case scenario, having a number of unaligned applications will result in the system repeatedly starting and killing processes, struggling with lags and huge battery drain.
Click to expand...
Click to collapse
HOW DO YOU DO IT, THEN?
As mentioned earlier, the zipalign tool became a part of Android SDK from 1.6 onwards. It can be found under the ‘tools’ folder of the SDK. To use it, simply run the command:
Code:
zipalign [-f] [-v] <alignment> infile.apk outfile.apk
where infile.apk is the source file, and outfile.apk is the output file.
Furthermore, you can also verify the alignment of an APK file using the following command:
Code:
zipalign -c -v <alignment> existing.apk
where existing.apk can be any application package that you need to get verified. Also, the <alignment> tag in both the commands needs to be an integral value (otherwise the command will return invalid). This value, although can be any integer, MUST always be 4, which would provide 32-bit alignment. Any other value and it will effectively do nothing.
Finally, for the flags used in these commands,
-f : overwrites existing outfile.zip
-v : will give verbose output
-c : will confirm the alignment of a given file
WORD OF CAUTION: zipalign operation must only be performed after you have signed the APK file with your private key. If zipaligned before signing, the signing procedure will disturb the alignment. Same holds true for any other alteration, addition or removal to the APK file. Any change after running zipalign will undo the alignment.
Click to expand...
Click to collapse
Click to expand...
Click to collapse
thanx dude, i am translating to my own language and will use at a forum with your permission?

KSM, does it really improves performance ?

Well sadly i don't have an answer for that question yet...
I'm trying to think of a way to put KSM to the test on my android device.
As far as i understand it is possible that the kernel actually causes high CPU usage trying to map and unmap memory pages over and over again.
This issue is known for linux and other virtual machines so it is possible that the Same effect will be on the android vm
Testings that i found are not relevant to android.
For example:
The result is a dramatic decrease in memory usage in virtualization environments. In a virtualization server, Red Hat found that thanks to KSM, KVM can run as many as 52 Windows XP VMs with 1 GB of RAM each on a server with just 16 GB of RAM. Because KSM works transparently to userspace apps, it can be adopted very easily, and provides huge memory savings for free to current production systems. It was originally developed for use with KVM, but it can be also used with any other virtualization system - or even in non virtualization workloads, for example applications that for some reason have several processes using lots of memory that could be shared.
Click to expand...
Click to collapse
http://kernelnewbies.org/Linux_2_6_32
What i would really want to know is what would happen if each of these VMs Would run a different application/game/audio/graphics software at the same time ? or what if the same vm will run many different apps ? and also to compare cpu usage with and without KSM
Guess i'll need a tool for that. something like 'iostat' but for memory diagnostic and another tool to see a per process CPU usage but 'top' is not good enough for that.
Any way, the best test should present clear results with precised data.
I'll keep looking for legit way to put it to the test.
If you can think of a way to test KSM with android, please let me know.
This is a technique that relates mostly to processes like virtualisation. For example, when you load 5 windows XP VMs, you'll have a good 10 - 20 services that are practically the same in memory in each VM. Instead of each service using 10mb (ie, 10mb x 5 = 50mb), you only need say 15 or 20mb using KSM. If you use different applications, it is very unlikely that anything would be saved FOR THAT APPLICATION. However, the main elements of a Windows XP System would still be there (drivers, explorer, firewall, logon, search and so on). Means little in one setup, but when you have several VMs it is shown to be a huge advantage. As we know a simple XP install can use 500mb of RAM actively, and this is fairly uniform across instals.
With android, i don't know if there are specific RAM savings to be had. Don't know enough about the inner workings and the sandbox android puts its apps in or how apps interact with system services. Sadly, i can't think of a good way to test it out either, but i'll be keeping an eye on this topic for someone (much) more knowledgeable to come along.
Harbb said:
Sadly, i can't think of a good way to test it out either, but i'll be keeping an eye on this topic for someone (much) more knowledgeable to come along.
Click to expand...
Click to collapse
Enter bedalus, stands there with a vacant expression on his face. Harbb looks disappointed.
kernels ; battery ; ROM ; gov/sched
That entire paragraph was dedicated to you bedalus, we both know that.
Lol
I hope someone can answer this though.
kernels ; battery ; ROM ; gov/sched
Wait for someone............
Sent from my Nexus S using xda premium
KSM does not improve performance on Android just like that - all enabling KSM does, is enable SUPPORT for the Feature but Applications would have to make use of the feature, which they don't.
You can easily verify this like that :
echo 1 > /sys/kernel/mm/ksm/run
<wait and/or run the Applications of your choice>
cat /sys/kernel/mm/ksm/pages_sharing
IF the above shows a value > 0 then you are making use of KSM else it's just available, without anyone using the feature.
Here's an interesting Article that gives a little more insight :
http://www.linux-kvm.com/content/using-ksm-kernel-samepage-merging-kvm
By the way, the same is true for ZCACHE. If you really want to make better use of your Memory (RAM) then using ZRAM as a Swapdevice does work (and may often make sense, too).
That all said : There appear to be efforts to make use of KSM http://forum.xda-developers.com/showthread.php?t=1464758 - so things may well change ...
any update on this...?

ROM and kernel flashing guide for beginners

XDA Kernel and ROM flashing beginners guide.
If you are reading this, you’ve found your way to the famous XDA Forums. The place where developers and users contribute to the spirit of open source Android development.
If you already have TWRP setup and running and just look for the next ROM to flash, this guide isn’t for you. If you wonder what this TWRP thingy is or what exactly the three letters, R O M mean, that float around these forums all the time, then read on.
This paragraph is about the basic geek terminology, used by developers. ROM stands for read only memory, which basically is the system partition of your device, which can only be read, not written. In everyday usage scenarios, where you browse the web, download some apps, or chat und Telegram, you will never get in the situation, where you have to write on your /system partition. If you plan to get your hands on one of those amazing custom ROMs, that add battery life, performance and beauty of use to your OS experience, the ROM is the smartest way of accomplishing this goal.
What a custom recovery is used for:
This is where the recovery comes into play. The recovery partition is pre installed by the manufacturer of your device. It is used for OEM software updates, wiping your cache and dalvic or performing a factory reset. Enough functionality for the average Joe, but this is XDA developers. Things get interesting, once you unlock the full potential of your device. To do so, you’ll need a custom recovery. Team Win Recovery Project (TWRP) is most common these days. It is fully optimized for touch screen input and offers various features, that even come in handy, if you don’t want to modify your phones software. Nandroids for example.
This is where things start to become really interesting. There are various recognized XDA Developers like Francisco Franco or Flar2 who focus their efforts on bringing custom Kernels to their supported devices. What is a kernel? Do I even need it and why should I bother changing it?
To say this clearly, the kernel is the heart of your software. You might use your phone with a broken Bluetooth driver, without caring to much, without a kernel installed your device won’t be able to boot. So what does the kernel do, if it is so essential for a proper working phone? We can describe it as the bridge between hardware and software. That latest processor and the wickedly fast RAM won’t do anything without something telling it how to unleash it ‘s potential.
That’s where the kernel comes into play. You can imagine the kernel as a moderator between the hardware and the software of your system. An example: You touch the screen to launch your favorite game on your Droid. This game is really challenging your hardware, so the processor has to run on a high clock frequency, otherwise the game would take ages to load. The kernel detects your input and ramps up the frequency by it’s in input boost driver. This is often a pre configured value, that is used as soon as some (touch) input is detected, that’s why it is often called touchboost. OEMs choose a middle frequency offering a good balance between power consumption and performance.
For our gaming scenario this isn’t enough, we need the full potential of the CPU and the GPU should get busy rendering all those pixels as soon as possible. This task is accomplished by the kernel. It is balancing the system frequency based on the load of the system, but that’s just an easy to explain example of what a kernel does. The kernel is doing a lot more things on your device. How should the phone know, how much RAM it can give to that messaging application you open every each five minutes? Simple answer, it doesn’t the hardware of your phone is just silicon ready to do your work. You can compare it to a young guy doing an internship at a company. The guy has some potential, but he gets lost in a moment, if there is nobody showing him what to do. This is where the kernel comes into play again. It calculates which task requires which amount of memory and decides, which task should be kicked out of your recent access and memory and, which is there to stay. The messaging application I just mentioned a few lines back for example should remain in memory. You use it all the time, so it doesn’t make any sense to generate some unnecessary CPU load, which eats up your battery in the long run.
As you can see the kernel is more than a boring piece of code. It basically drives your phone, so you really want a stable kernel.
Which different kernel development approaches exist?
There are various recognized developers who focus on UX features. This means they take the official stock kernel (be it a OEM or let’s say the one made by Lineage) and they add their features on top. For example a fading notification LED or a backlight dimmer, that allows to lower the minimum screen brightness further than the stock kernel allows.
These features focus on adding userspace features on top, which don’t touch the core functionality of the kernel, like CPU scaling or RAM management. These kernels are chosen by users who want additional kernel functionality without leaving the stability of the stock ROM in favor of a custom ROM.
On the other hand their are developers and users who want bleeding edge functionality, which brings new stuff to the table, but is to new and not deemed stable enough to be used in the mainline OEM kernel. A good example for such a feature is f2fs support. F2fs is a file system developed by Samsung. It’s main focus is to suite flash storage (like the SD cards in our smartphones), in terms of write speeds it is significantly faster, than the established and rock stable standard ext4. But it comes with certain downsides for example a ROM won’t boot with a data partition formatted to f2fs if the kernel doesn’t have the required f2fs commits. A year back their also were some major issues with root, which made a lot of users switch back to the stable ext4. However if you want to squeeze the last bit of performance out of your phone, the kernel is the way to go.
Kernel tweaking: A custom kernel allows you to modify certain parameters, which aren’t accessible for the using an official kernel. Some developers ship with their own app, which is optimized to tweak their own kernel. This ensures maximum compatibility, one of the reasons why those kernels are so successful across all XDA sub forums. You don’t have to use a kernel managing app to modify your kernel configuration, you could also use an init.d script, but this requires further knowledge. No matter how advanced your knowledge is, it doesn’t get any easier than using an application to set up the configuration of your choice.
Kernel tweaking fills another guide and their is already a really good one, that you should check it out. Further links will be put at the end of this guide.
To root or not to root?
Another controversial topic is rooting. While a lot of OEMs try to prevent you from doing so by locking the bootloader, a lot of enthusiast swear on the power root access unleashes. Often android root is compared to administrator privileges under Windows. This is an illustrative explanation, but isn’t accurate. Root goes far beyond what Windows Admin rights allow. The main difference that jumps right into your eye: Microsoft allows Administrator access out of the box. Root is blocked by all OEMs, you have to enable it manually (by flashing a root solution of your choice. More about popular root solutions and their main advantages and disadvantages down below.
So what does root do? It gives you full control over your device. One of the main advantages is to gain write access to your system partition, which normally is read only. The power of root is defined by the knowledge of the user, the more you know, the more you can make out of it. For beginnners root apps like Titanium Backup, Adaway, Better Battery Stats or SD Maid are interesting. They utilize the potential of root for you without having to dig to deep into the topic. However root isn’t enabled by default for a reason. Most big custom ROMs, don’t ship with root out of the box anymore these days. Back in the day root basically just gave you more control, without any major disadvantages. This however changed with the introduction of Safety net by Google.
The company developing the OS we all love, is trying to make Android safer and they are pushing this approach forward these days. If you just flash SuperSu, Safetynet gets triggered which results in being unable to use apps which use Safetynet to verify the integrity of your system. Mainly banking apps, but also Snapchat for example or that stupid game, that generated all the hype in summer 2016. You got curious about root or came to this forum, to figure out how to root your phone? Then the next paragraph deserves your attention.
Most XDA users used SuperSU developed by XDA legend Chainfire during the last years. A while ago Magisk by XDA Recognized Developer and contributor Topjonwu. It became very popular, when Safetynet started to break certain Apps. It allows to hide root from safetynet, but it includes much more. One of the key features is mounting modules systemlessly to your boot partition, that way your /system stays untouched and removing a certain module, doesn’t require more than disabling it and rebooting. What about the disadvantages of magisk? It isn’t as compatible as SuperSU, since that root solution was the standard for years. All the developer arranged their work around SuperSU, but most famous root apps, have already adopted to Magisk, so you won’t run into issues unless you are using really outdated apps, which is never a good idea.
Which one to choose is a decision you can make. Both work flawless and it really comes down to personal preference.
Since nobody is willing to read through 50 pages, I’ll just thank you for your attention. This Guide is on going WIP, so if there is anything you’d like to see being added, feel free to let me know, but make sure to tag me, otherwise I might miss your message in the storm of ongoing notifications. Have a great day and keep flashing.

Categories

Resources