473,386 Members | 1,726 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,386 software developers and data experts.

Steady State ?

Hi,

What does this sentence mean ?

"A nonfragmenting memory allocator reaches steady state as soon
as it exercises all the parts of the application"

Is steady state a state where the memory allocation routine is not
called upon to allocate more memory by the application ?
For example if I call malloc five times in my program, is the memory
allocator in a steady state after the last call to malloc? I could be
wrong. Please clarify.

Rgds.
May 10 '06 #1
1 1590
In article <11*************@news.oracle.com>,
Amogh <am*****@nospam.com> wrote:
What does this sentence mean ? "A nonfragmenting memory allocator reaches steady state as soon
as it exercises all the parts of the application"
It helps when you provide the context for the quote. I found it at
http://www.ednasia.com/print.asp?id=182
which places special emphasis on memory allocation issues
for embedded systems.
Is steady state a state where the memory allocation routine is not
called upon to allocate more memory by the application ?
For example if I call malloc five times in my program, is the memory
allocator in a steady state after the last call to malloc? I could be
wrong. Please clarify.


In the context of the article, non-fragmenting memory allocation
regimes are not permitted to request dynamic memory allocation such as
via calls to malloc(). When it is known that there is no dynamic memory
allocation, then there is no heap, and all variables can be either
statically allocated or allocated on the stack at runtime, with the
stack memory being completely deallocated when the function returns. In
such a situation, there is no memory fragmentation, and if there is no
recursion then there is a sequence of calls that results in a maximal
memory allocation that will not be exceeded by any other call pattern.
The memory allocator at that point will have reached a "steady state"
in the sense that no -worse- memory usage will occur.

If recusion is added to the mix, then one still might be able to
get to the steady-state point, if one can prove upper bounds on
the recusion depth.
If dynamic memory allocation is added in, then a worst-case
analysis requires knowledge of the details of the memory allocation
strategy, together with firm upper bounds on variables, and firm
algorithm restrictions such that dynamically allocated memory
is always deallocated by the end of the routine that allocated it
[and that no persistant variable may be assigned a pointer into
dynamically allocated memory, so nothing keeps a handle onto
memory that is officially deallocated.] These are fairly strong
restrictions on the algorithms that seldom apply to programs
that are not specifically written for embedded (or "provably secure")
systems. Therefore if dynamic memory allocation is allowed,
then for -most- programs, one must Test! Test! Test! to be sure
that memory exhaustion through fragmentation will not occur.
--
"It is important to remember that when it comes to law, computers
never make copies, only human beings make copies. Computers are given
commands, not permission. Only people can be given permission."
-- Brad Templeton
May 10 '06 #2

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

32
by: Xah Lee | last post by:
is it possible to write python code without any indentation? Xah xah@xahlee.org http://xahlee.org/PageTwo_dir/more.html
4
by: Chad Crowder | last post by:
I've taken a look at this article http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspnet/html/asp12282000.asp which someone posted a month or so ago regarding setting up SQL...
1
by: Johan Nedin | last post by:
Hello! I have a problem with SQLSession state on my ASP.NET pages. SQLSession state behaves very different from InProcess session state, which I think is very bad. I can understand some of...
6
by: Daniel Walzenbach | last post by:
Hi, I have a web application which sometimes throws an “out of memory” exception. To get an idea what happens I traced some values using performance monitor and got the following values (for...
1
by: Neo | last post by:
hi, This is my first post in C++ group, so please be nice to me. Thanks. Also, I will post my first C++ program following. There is a compile error, I cannot figure it out even I can fix it. And...
4
by: Shawnk | last post by:
This post is intended to verify that true value semantics DO NOT EXIST for the Enum class (relative to boolean operations). If this is true then (thus and therefore) you can not design state...
4
weaknessforcats
by: weaknessforcats | last post by:
Design Patterns State Often computer software operates based on a condition called a state. These states traditionally have been implemented using a switch statement. The cases of the switch...
4
by: laktofil | last post by:
This may seem like an abstract question on behavioral inheritance. Anyway, I'm building a hierarchical state machine in C++ (with gcc for target platform Gentoo Linux). More precisely, I'm using this...
1
by: =?Utf-8?B?Q2FwdFJKc2xvZw==?= | last post by:
The USB is recognised but I get code 37 and cannot read any devices, I have tried 4 different USB memory sticks including IronKey which was in when I tried to install Steady State which is...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.