|
Author: John Barnes
Abstract:
Welcome back the Ada Gems series! We hope you had a great summer.
Gem #43 is the seventh chapter of John Barnes’ new booklet:
Safe and Secure Software: An Introduction to Ada 2005.
Over the coming months, we will be publishing all thirteen chapters of the booklet. In the attachment at the bottom of Gem #30 you can access the contents and bibliography for the entire booklet.
The memory of the computer provides a vital part of the framework in which the program resides. The integrity of the memory contents is necessary for the health of the program. There is perhaps an analogy with human memory. If the memory is unreliable then the proper functioning of the person is seriously impaired.
There are two main problems with managing computer memory. One is that information can be lost by being improperly overwritten by other information. The other is that the memory itself can become filled and irrecoverable, so that no new information can be stored. This is the problem of memory leaks.
Memory leak is an insidious fault since it often does not show up for a long time. There was an example of a chemical control program that seemed to run flawlessly for several years. It was restarted every three months because of some external constraints (a crane had to be moved which necessitated stopping the plant). But the schedule for the crane changed and the program was then allowed to run for longer – it crashed after four months. There was a memory leak which slowly gnawed away at the free storage.
Note: All chapters of this booklet will, in time, be available on the Ada 2005 home page.
|
700.7Kb |
Posted
in Ada / Ada 2005, Development Log, Devt log - Gem of the Week
If you have an idea for a Gem you would like to contribute please feel free to contact us at: gems@adacore.com
Raoul Duke said:
“As a consequence a garbage collector is not appropriate for a general purpose language and especially to one used for low-level, real-time and safety-critical applications.”
i thought by now there were at least some systems which demonstrated real time gc. perhaps it gets into semantic nuances.
http://www.acmqueue.org/modules.php?name=Content&pa=showpage&pid=454