On 16/10/2010 19:27, Paulo Pinto wrote:
Would that make Smalltalk, Lisp, Oberon, Modula-3, Component Pascal, Ada,
Mac Pascal system programming languages?

All of them were used to write operating systems, in some of them the
operating system and
language are the same, kind of.

Well true, but the main problem with a lot of those systems is that you can only program on them in that language; they are all special execptions rather than general computers.

They used to make h/w Lisp machines back in the late 70s, where all the OS was written in Lisp; but you could only program them in Lisp. I wonder how they did the garbage collector as Lisp doesn't have pointers?

I guess they either wrote the garbage collector entierly in assembly or added a bunch of Lisp functions to allow them to manipulate the address space, effectively added pointers to the language.

For C, in principle you only need a trivial amount of assembly to handle the processor specific calls to switch privilege levels and load process/thread state.

For something like Java/Python you'd need a huge amount of assembly if you wanted to avoid using another lower level language.

There's nothing special about a systems language; it's just they have explicit facilities that make certain low level functionality easier to implement. You could implement an OS in BASIC using PEEK/POKE if you mad enough.

--
My enormous talent is exceeded only by my outrageous laziness.
http://www.ssTk.co.uk

Reply via email to