* Suitability of ada environments for systems development @ 1999-07-02 0:00 John Duncan 1999-07-02 0:00 ` David Botton ` (2 more replies) 0 siblings, 3 replies; 7+ messages in thread From: John Duncan @ 1999-07-02 0:00 UTC (permalink / raw) Hi all, I am foreseeing an operating system project to occur in the near future. This project will require development directly on the hardware, of course, and will build the OS libraries and API. I understand how Ada works to provide systems programming features, but I'm wondering how suitable each individual tool is. I would like to write the majority of the OS in a high-level language, such as Ada or EC++ (based on the quality of the tool, really), and I was wondering how much operating system support is needed for tasks and protected objects. The goals are reusability and retargetability. I want to make the whole project very easily retargetable to any underlying chip. Do vendors provide library implementations of the normally OS-dependent features such as tasking and protected objects? If so, could vendors please mention how their tools help solve these problems? Good responses will facilitate choice of platform for a number of users. Thank you very much, John ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Suitability of ada environments for systems development 1999-07-02 0:00 Suitability of ada environments for systems development John Duncan @ 1999-07-02 0:00 ` David Botton 1999-07-02 0:00 ` Marin David Condic 1999-07-02 0:00 ` Robert Dewar 2 siblings, 0 replies; 7+ messages in thread From: David Botton @ 1999-07-02 0:00 UTC (permalink / raw) You may find http://www.adapower.com/lab/adaos.html of interest in relation to your question. David Botton John Duncan wrote in message <7lis9r$oil$1@usenet01.srv.cis.pitt.edu>... >Hi all, > >I am foreseeing an operating system project to occur in the near future. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Suitability of ada environments for systems development 1999-07-02 0:00 Suitability of ada environments for systems development John Duncan 1999-07-02 0:00 ` David Botton @ 1999-07-02 0:00 ` Marin David Condic 1999-07-02 0:00 ` Robert Dewar 2 siblings, 0 replies; 7+ messages in thread From: Marin David Condic @ 1999-07-02 0:00 UTC (permalink / raw) John Duncan wrote: > Do vendors provide library implementations of the normally OS-dependent > features such as tasking and protected objects? If so, could vendors please > mention how their tools help solve these problems? Good responses will > facilitate choice of platform for a number of users. > Since Ada was originally targeted at the Embedded System market where you typically have no OS to depend on, most vendors will provide you with a Run-Time-Kernel (RTK) which supports what would otherwise be "OS Calls" to support task scheduling, etc. (That is, if you are looking at a compiler that bills itself as targeted for embedded systems. There are a number to choose from.) There is a RTK floating about called "RTEMS" which was originally written in Ada and provides the support needed for an embedded target. You may want to investigate RTEMS as one way to go. Also, check with the major venders (Aonix, Ada Core Technologies, Green Hills, etc.) and inquire about their support for your target of interest. For most popular processors, you can very easily find one or more Ada compilers that will target to the bare hardware. MDC -- Marin David Condic Real Time & Embedded Systems, Propulsion Systems Analysis United Technologies, Pratt & Whitney, Large Military Engines M/S 731-95, P.O.B. 109600, West Palm Beach, FL, 33410-9600 ***To reply, remove "bogon" from the domain name.*** Visit my web page at: http://www.mcondic.com/ ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Suitability of ada environments for systems development 1999-07-02 0:00 Suitability of ada environments for systems development John Duncan 1999-07-02 0:00 ` David Botton 1999-07-02 0:00 ` Marin David Condic @ 1999-07-02 0:00 ` Robert Dewar 1999-07-02 0:00 ` John Duncan 2 siblings, 1 reply; 7+ messages in thread From: Robert Dewar @ 1999-07-02 0:00 UTC (permalink / raw) In article <7lis9r$oil$1@usenet01.srv.cis.pitt.edu>, "John Duncan" <jddst19+@pitt.edu> wrote: > Do vendors provide library implementations of the normally > OS-dependent features such as tasking and protected objects? > If so, could vendors please mention how their tools help solve > these problems? Good responses will facilitate choice of > platform for a number of users. That's a bit of an odd note. If you are interested in serious evaluation of Ada vendors, I suggest getting in touch with the relevant vendors directly, explaining your needs, and asking them for details. A very vague request on CLA is unlikely to draw useful responses. In the case of Ada Core Technologies, please send a statement of your requirements to sales@gnat.com. The other vendors have similar contact points. The question you ask shows some confusion not at all surprising, given that indeed in other languages the situation is confusing, and these are real problems! So now let me make some completely vendor independent responses that are really about Ada, and not any particular implementation. Tasking and protected operations are an integral part of the Ada language. Consequently *any* Ada compiler MUST provide completely transparent implementations of all Ada features including tasking and protected operations. Whether they do this with library implementations, inline code, direct calls to the operating system, special hardware operations or whatever is something that an Ada programmer does not generally need to be concerned about. Typically Ada tasks will for example simply map to operating systems threads. Basically then tasking and protected operations, while the may indeed be "problems" in other languages, are not problems in Ada, they are simply part of the well defined language, and for details of how these [non-]problems are solved you read the definition of the language, just as you would to find out how to add two integers. Robert Dewar Ada Core Technologies Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Suitability of ada environments for systems development 1999-07-02 0:00 ` Robert Dewar @ 1999-07-02 0:00 ` John Duncan 1999-07-03 0:00 ` Robert Dewar 1999-07-08 0:00 ` Tucker Taft 0 siblings, 2 replies; 7+ messages in thread From: John Duncan @ 1999-07-02 0:00 UTC (permalink / raw) Robert- Thank you for your help. I do understand that this is an odd place to put a vendor question. I did it for two reasons: 1. I don't want to get vendors' hopes up that something will actually happen. (Perhaps I may have, I don't know.) 2. I thought it would be useful information to a lot of people in the community. What I am interested in is finding a retargetable standard library in Ada, perhaps like a runtime kernel like someone already suggested. What I do not want is some sort of operating-system specific solution, even to the extent of the scheduling of tasks. I am merely interested in whether someone has come up with implementations of the System.Interrupts and the like to describe a lot of hardware. This is because I plan to implement a sort of operating system myself, and I don't want the language system to be making too many assumptions about what the operating system will do. Afterward, I will probably commission a port of whatever language I use for the purpose of writing applications on this operating system. I am not exactly sure what the OS will look like, I just know that I want it to be reliable and efficient from the ground up, and I believe that can be done in Ada. It can also be done in other languages. The quality of the programmers and the tools they use are both important. But, like many things in this field, I await investors in order to find out if my plans can come to fruition. In that, I do not know if I will actually need anything, but I do know that a survey of the tools will help. :) -John Robert Dewar <dewar@gnat.com> wrote in message news:7ljcfr$nq2$1@nnrp1.deja.com... > In article <7lis9r$oil$1@usenet01.srv.cis.pitt.edu>, > "John Duncan" <jddst19+@pitt.edu> wrote: > > > Do vendors provide library implementations of the normally > > OS-dependent features such as tasking and protected objects? > > If so, could vendors please mention how their tools help solve > > these problems? Good responses will facilitate choice of > > platform for a number of users. > > That's a bit of an odd note. If you are interested in serious > evaluation of Ada vendors, I suggest getting in touch with the > relevant vendors directly, explaining your needs, and asking > them for details. A very vague request on CLA is unlikely to > draw useful responses. > > In the case of Ada Core Technologies, please send a statement > of your requirements to sales@gnat.com. The other vendors have > similar contact points. > > The question you ask shows some confusion not at all surprising, > given that indeed in other languages the situation is confusing, > and these are real problems! So now let me make > some completely vendor independent responses that are really > about Ada, and not any particular implementation. > > Tasking and protected operations are an integral part of the > Ada language. Consequently *any* Ada compiler MUST provide > completely transparent implementations of all Ada features > including tasking and protected operations. Whether they do > this with library implementations, inline code, direct calls > to the operating system, special hardware operations or > whatever is something that an Ada programmer does not generally > need to be concerned about. > > Typically Ada tasks will for example simply map to operating > systems threads. > > Basically then tasking and protected operations, while the may > indeed be "problems" in other languages, are not problems in > Ada, they are simply part of the well defined language, and > for details of how these [non-]problems are solved you read > the definition of the language, just as you would to find out > how to add two integers. > > Robert Dewar > Ada Core Technologies > > > Sent via Deja.com http://www.deja.com/ > Share what you know. Learn what you don't. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Suitability of ada environments for systems development 1999-07-02 0:00 ` John Duncan @ 1999-07-03 0:00 ` Robert Dewar 1999-07-08 0:00 ` Tucker Taft 1 sibling, 0 replies; 7+ messages in thread From: Robert Dewar @ 1999-07-03 0:00 UTC (permalink / raw) In article <7lk09t$rmo$1@usenet01.srv.cis.pitt.edu>, "John Duncan" <jddst19+@pitt.edu> wrote: > Robert- > What I do not want is some sort of operating-system specific > solution, even to the extent of the scheduling of tasks. Again, it is not quite clear what model you have in mind for an Ada implementation .... Current Ada compilers are typically ported to many operating systems (GNAT has been ported to many varieties of Unix and Linux, DOS, OS/2, NT, Win95, MachTen, VMS, Nextstep, VxWorks, RTEMS, etc) So clearly these compilers do NOT have an operating specific solution! Most frequently the design is a layered one. In the case of GNAT, the low level tasking interface is at the level of a subset of pthreads, and can either be mapped to pthreads, or to some similar set of facilities in some other operating system. If you write your own operating system or executive, the cleanest thing is to provide a complete implementation of Posix threads, including ceiling priority support. Porting Ada to meet that interface should be very straightforward. Alternatively, you need to provide a think layer to interface with what ever similar primitives you have. Regarding vendor input, you simply won't get any serious vendor input in this forum, but if what you are looking for is answers to rather general issues such as the above, then you probably can get some answers here, though not necessarily from vendors, and not necessarily reliable :-) Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Suitability of ada environments for systems development 1999-07-02 0:00 ` John Duncan 1999-07-03 0:00 ` Robert Dewar @ 1999-07-08 0:00 ` Tucker Taft 1 sibling, 0 replies; 7+ messages in thread From: Tucker Taft @ 1999-07-08 0:00 UTC (permalink / raw) John Duncan wrote: > > ... > What I am interested in is finding a retargetable standard library in Ada, > perhaps like a runtime kernel like someone already suggested. Essentially all Ada compilers have a run-time library that is structured into layers. The top layer is generally written entirely in Ada, and is target independent. The next layer down is also usually written in Ada, but tends to be more target dependent. There may be additional intermediate layers, each more or less target dependent. Often the lowest layer is a standard O/S or real-time kernel of some sort, and may be a Commercial Off-The-Shelf (COTS) product. However, there are also plenty of "bare board" Ada run-time systems. In this case, the lowest layers are effectively acting as an O/S or kernel. The interface between target-independent and target-dependent code is often carefully designed to be simple and minimal, to ease retargeting to new kernels/O.S.s. In our run-time, this retargeting interface is roughly at the "Posix threads" level; the primary abstractions are threads, mutexes, and (optionally timed) binary semaphores. GNAT has an interface like this that they call GNULLI I believe. As far as using Ada tasks and protected types, we do use them in our run-time, but only in the upper layers. The lower layers are implementing these constructs. The upper layers can make use of them to implement even higher level capabilities. We happen to implement protected types at a lower level than tasks, so we have a middle layer that implements rendezvous using protected objects. Other layerings are clearly possible. > > What I do not want is some sort of operating-system specific solution, even > to the extent of the scheduling of tasks. I am merely interested in whether > someone has come up with implementations of the System.Interrupts and the > like to describe a lot of hardware. This is because I plan to implement a > sort of operating system myself, and I don't want the language system to be > making too many assumptions about what the operating system will do. > Afterward, I will probably commission a port of whatever language I use for > the purpose of writing applications on this operating system. > > I am not exactly sure what the OS will look like, I just know that I want it > to be reliable and efficient from the ground up, and I believe that can be > done in Ada. It can also be done in other languages. The quality of the > programmers and the tools they use are both important. > > But, like many things in this field, I await investors in order to find out > if my plans can come to fruition. In that, I do not know if I will actually > need anything, but I do know that a survey of the tools will help. :) > > -John > -- -Tucker Taft stt@averstar.com http://www.averstar.com/~stt/ Technical Director, Distributed IT Solutions (www.averstar.com/tools) AverStar (formerly Intermetrics, Inc.) Burlington, MA USA ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~1999-07-08 0:00 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 1999-07-02 0:00 Suitability of ada environments for systems development John Duncan 1999-07-02 0:00 ` David Botton 1999-07-02 0:00 ` Marin David Condic 1999-07-02 0:00 ` Robert Dewar 1999-07-02 0:00 ` John Duncan 1999-07-03 0:00 ` Robert Dewar 1999-07-08 0:00 ` Tucker Taft
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox