Answer Posted / deven
When a program needs to store some temporary information
during execution, it can dynamically request a chunk of
memory from the system. However, the system has a fixed
amount of total memory available. If one application uses
up all of the system’s free memory, then other applications
will not be able to obtain the memory that they require.
The implications of a “memory starved” application can
range from a graceful shutdown to an unexpected crash. Most
large scale applications regularly request memory, so
running out of system memory tends to have a domino effect.
Even if the applications do not terminate, the system will
slow down to a crawl—or even hang—in low memory conditions.
Clearly, none of these results are desirable, so the system
never wants to run out—or run low—of memory.
It is the responsibility of each application to “free”
dynamically requested memory when they are finished using
it. Freeing the memory returns it to the system, where it
can be re–allocated to another application when needed.
When an application dynamically allocates memory, and does
not free that memory when it is finished using it, that
program has a memory leak. The memory is not being used by
the application anymore, but it cannot be used by the
system or any other program either.
Memory leaks add up over time, and if they are not cleaned
up, the system eventually runs out of memory. Most everyone
has seen the “Your computer is running low of virtual
memory” message box on Windows when memory gets too high.
It is typically accompanied by horribly slow response time,
and often the user can’t even close the wasteful
application because of this sluggishness. The only response
at that point is to reboot the computer.
Memory leaks are bad on any system. For the automotive
platform, however, they become much more of a significant
problem. This is due to the following:
•Applications stay in memory when not in use. Typically,
the operating system can clean up after a program which
leaks memory after it terminates. However, since we do not
allow the users to easily shut down automotive
applications, Windows CE cannot clean up after any ill–
behaved applications.
•System run–time is expected to be unlimited. If all else
fails, a system reboot will clean up all memory leaks.
However, although we do support system reboots, our goal is
that the user will never need to do so. Since you do not
need to “reboot” your car stereo every few weeks because it
stops working, or because the performance becomes poor, it
is unacceptable to need to do so on the automotive platform.
•Systems typically have lower total available system
memory. Desktop applications can get away with being sloppy
with memory when they run on systems with 64 megabytes of
RAM and more, and with large hard drives to store swapped
out virtual memory pages. But the automotive platform may
have only 16 megabytes total memory, and that includes
process and storage memory together! In order words, that
memory must store what would be in RAM on a desktop PC, as
well as what would be on the hard drive. System memory is
at a premium.
| Is This Answer Correct ? | 1 Yes | 0 No |
Post New Answer View All Answers
What is a quick test professional?
What are the methods used in UFT to handle exceptions or run-time errors?
Where we use data driver in qtp?
why should we give deliver good quality software?
Explain the difference between check point and output value?
What is expert view and keyword view?
How to execute a winrunner script in quicktest professional?
What is the Difference between copy to action and call to action?
Explain how Does Run time data (Parameterization) is handled in QTP?
How to integrate QTP with QC using VB Scripting? What are the prerequisites to connect with QC?
Explain the use of action split in qtp?
Is it possible to refer the same object for referring more than one object that are of different class using the descriptive programming approach? Suppose my code is 'To create the object named as obj Set obj=Description.Create() 'To define the values obj("title").value="IE" obj("type").value="text" obj("html tag").value="INPUT" 'To set the value Browser("IE").Page("Yahoo").WebEdit(obj).Set "xyz" Can I refer the "obj" object for the three objects like Browser,page and webedit objects? If so how?
What are output values and why they are used ?
What are the major/ important methods, functions in QTP we use realtime testing
Hi frens! I am testing VB project with MS Access database. At add button click my record is storing in data table and it is shown in datagrid. So at Delete button click i want to check datagrid rows 9before and after delete). so how can i do it using descriptive programming?