<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">Hi all:<br>It was that there is some OS in Modula-2+ which run enterely in user space and you didn't want to get into the kernel but just for any option you would need to be unsafe (like machine starting, perhaps the OS managed software faults isolated from kernel space) that had the Runtime to time-out protect deadlocks, and it did it pretty much in a microkernel, just that company didn't feel sure o fsuch sophisticated system. Nowadays would be good if one could cooperate it in ARM VM for web platform developing, without the need for GUI kernel, which indeed could crash the system if exploted, instead feels safer to run from "microkernel" traceable user space threads but making calls to a sort of video controller see below.<br>Someone has the sources of it, just don't how complete, they did develop a UIMS and a window toolkit, plenty of tools to
check:<br>http://lists.cloud9.co.uk/pipermail/bbc-micro/2010-January/007795.html<br><br>Apparently it had an Acorn C and Modula runtime:<br>http://homepage.mac.com/dr2chase/resume.html<br><br>Also about the machine and video chip:<br>http://www.khantazi.org/Archives/MachineLst.html#A500<br><br>And its window toolkit:<br>http://pages.sbcglobal.net/btlewis/resume-formatted.html<br><br>Thanks in advance<br><br>--- El <b>jue, 24/2/11, Jay K <i><jay.krell@cornell.edu></i></b> escribió:<br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"><br>De: Jay K <jay.krell@cornell.edu><br>Asunto: Re: [M3devel] new target? :)<br>Para: "Mika Nystrom" <mika@async.caltech.edu><br>CC: "m3devel" <m3devel@elegosoft.com><br>Fecha: jueves, 24 de febrero, 2011 22:09<br><br><div id="yiv2066188906">
<style><!--
#yiv2066188906 .yiv2066188906hmmessage P
{
margin:0px;padding:0px;}
#yiv2066188906 .yiv2066188906hmmessage
{
font-size:10pt;font-family:Tahoma;}
--></style>
> I also think almost everyone who had anything to do with M3 at DEC is now at Microsoft<br>
<br>
<br>
Not just M3. M3 wasn't many people. Lots of people at Microsoft were at Digital.<br>
<br>
<br>
> Modula-3 project: you're supposed to be able to write device drivers<br>> and such things in Modula-3. I agree though that targeting C doesn't<br><br>
<br>
Understood, agreed -- you can hypothetically write anything in Modula-3.<br>
The optional safety is fairly unique and important.<br>
Except for C# and Modula-3, all languages seem to be strictly safe or unsafe.<br>
<br>
<br>
I think, you can imagine, either an entire system in Modula-3, with m3core/libm3<br>
coded "directly" in Modula-3 and simply statically or dynamically linked<br>
using "standard mechanism", or if there is still a user/kernel boundary,<br>
you either have to hack the compiler a bit, or resort to some assembly<br>
(possibly embedded in .c files). That is, calling the kernel is inevitably<br>
a special call sequence, and cm3 doesn't currently understand anything like that.<br>
<br>
<br>
About device drivers -- a critical piece is the runtime.<br>
Imagine writing an NT or Linux driver.<br>
Well, if you separate language from library...and limit language features<br>
to accomodate missing runtime...and retarget small parts of the<br>
runtime perhaps.. you know, there's a certain isomorphism?<br>
You can write almost anything in C or Modula-3 and most things<br>
will look very similar and map one-to-one.<br>
I think I read that Modula-3 can describe anything C can, except unions.<br>
<br>
<br>
You know, don't expect to have garbage collection in the kernel.<br>
Maybe not exception handling.<br>
Not necessarily the file I/O you are used to. But something.<br>
Not the threading you are used to. But something (at least on NT).<br>
But certainly you can interface Modula-3 to the NTkernel/Linux/*BSD<br>
runtimes, just like we interface to Win32/Posix.<br>
<br>
<br>
I'm not sure it'd buy much. I guess if you really like the syntax...<br>
<br>
<br>
It's another area where compiling to C would help.<br>
esp. for the exception handling on NT!<br>
__try/__finally are available in C on NT, usermode and kernel,<br>
and the implementation is much more efficient than what Modula-3 does currently.<br>
I really need to stop saying all this stuff though, either be quiet or do it...<br>
<br>
<br>
- Jay<br> <br>
</div></blockquote></td></tr></table><br>