If an embedded-systems programmer uses Ada long enough, he or she will undoubtably need to represent a variable-sized data structure, possibly at an address determined at runtime. Links between such structures may also be necessary, and the programmer may finally break down and attempt to use pointers. Many embedded-systems programmers who use Ada have very little experience with pointers (access types) in Ada. This is largely because the performance of most real time embedded systems cannot tolerate the overhead of the memory management afforded by the usually-provided Ada runtime. This system is generally non-deterministic due to garbage collection considerations, and can be wasteful of both memory and clock cycles. However, the LRM clearly states that an access object (pointer) can only be assigned the result of the NEW allocator, the contents of another access object of the same type, or the NULL constant. Therefore, software engineers often give up on the standard Ada runtime and resort to simple compile-time allocated arrays. ESC_1992_Vol2_Page23_Johnson_Practical Ada Memory Management Strategies for Real-Time Systems.pdf
1 thought on “Practical Ada Memory Management Strategies for Real-Time Systems”
I saw this article referenced in the “Is Ada ready for mainstream embedded designs?” page. The article was written in 1992, well before Ada95 came out. In case someone new to Ada sees this and thinks it is good to learn from, THINK AGAIN! For one thing, th
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept All”, you consent to the use of ALL the cookies. However, you may visit "Cookie Settings" to provide a controlled consent.
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
Cookie
Duration
Description
cookielawinfo-checkbox-analytics
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional
11 months
The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy
11 months
The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
You must verify your email address before signing in. Check your email for your verification email, or enter your email address in the form below to resend the email.
Please confirm the information below before signing in.
{* #socialRegistrationForm *}
{* firstName *}
{* lastName *}
{* displayName *}
{* emailAddress *}
By clicking "Sign In", you confirm that you accept our terms of service and have read and understand privacy policy.
{* /socialRegistrationForm *}
Almost Done
Please confirm the information below before signing in. Already have an account? Sign In.
I saw this article referenced in the “Is Ada ready for mainstream embedded designs?” page. The article was written in 1992, well before Ada95 came out. In case someone new to Ada sees this and thinks it is good to learn from, THINK AGAIN! For one thing, th