3 ms·
One of the inspirations for my "crosstalk" Smalltalk system was Lukas Hartmann's Lisp-based "Interim OS" bare-metal system for the Raspberry (http://interim-os.
by johndoe0815 6y ago
One of the inspirations for my "crosstalk" Smalltalk system was Lukas Hartmann's Lisp-based "Interim OS" bare-metal system for the Raspberry (http://interim-os.com/ http://interim-os.com/), so you might want to give this a try.
I think Interim only runs on the Raspberry Pi 2 at the moment; porting Interim OS to use the circle library (which I use for crosstalk) should also be feasible and would help to support other Raspberry versions.
Lukas is also the creator of the MNT Reform open source notebook (using a Freescale i.MX8 quadcore ARM Cortex-A53) - see https://www.crowdsupply.com/mnt/reform https://www.crowdsupply.com/mnt/reform for the currently running crowdfunding campaign.
Modern web browsing is, of course, more complex than the whole rest of the Smalltalk system...
- skissane 6y agoI really like language-based operating systems. It is cool you did this. My ideal though would be – it is all written in the language (Smalltalk/Lisp/whatever), with no use of other languages such as C/C++ (except possibly assembler, in which case my ideal is it comes with an assembler written in the language); and it is fully self-hosting in terms of the build process. Of course, I realise my ideal is a lot more work than what you've done, and none of us has infinite time in which to tinker with things... (I myself have some toy programming language interpreters I wrote, some in C, some in Java – I keep on thinking "oh, I should get rid of the C/Java, make it generate native code and then rewrite its core in itself" – but that's a lot of work and I've never had time for that.)
- johndoe0815 6y agoGreat that you like it - thanks! Some of the work of Stephen R. Kell at Kent University also covers language-based OSes and how some of their ideas might be adapted in Unix (see [1] and [2]). The Smalltalk-80 VM is specified in Smalltalk itself (in the "Blue Book" [3]) and the Squeak VM (a Smalltalk derivative) was written in a subset of Squeak itself [4]. The great thing is that it's a lot of fun to build this (at least for me) because it's actually possible to understand the whole system. I hope my students will have fun working on topics like these, too. [1] Unix, Plan 9 and the Lurking Smalltalk. In L. de Mol and G. Primiero (eds), Reflections on Programming Systems, Philosophical Studies Series, Springer - https://www.cs.kent.ac.uk/people/staff/srk21/research/papers/kell19unix-personal.pdf https://www.cs.kent.ac.uk/people/staff/srk21/research/papers... [2] The operating system: should there be one?. In Proceedings of the 7th Workshop on Programming Languages and Operating Systems, ACM, November 2013 - https://www.cs.kent.ac.uk/people/staff/srk21/research/papers/kell13operating.pdf https://www.cs.kent.ac.uk/people/staff/srk21/research/papers... [3] Adele Goldberg and David Robson, Smalltalk-80: The Language and its Implementation, ISBN 0-201-11371-6 - http://stephane.ducasse.free.fr/FreeBooks/BlueBook/Bluebook.pdf http://stephane.ducasse.free.fr/FreeBooks/BlueBook/Bluebook.... [4] Dan Ingalls, Ted Kaehler, John Maloney, Scott Wallace, and Alan Kay. “Back to The Future: The Story of Squeak, A Practical Smalltalk Written in Itself.” In Proceedings of the 12th ACM SIGPLAN Conference on Object-Oriented Programming (OOPSLA) 1997, 318–26, 1997 - http://files.squeak.org/docs/OOPSLA.Squeak.html http://files.squeak.org/docs/OOPSLA.Squeak.html
- scroot 6y agoI'm a backer of that project and was looking forward to doing bare-metal experiments once the RISC-V alternate SOC comes out (I have implemented some of the RISC-V ISA in Squeak). Are you also a backer? It would be dope to get this working on the ARM cortex
- johndoe0815 6y agoI have already spent some money on the Pinebook Pro, so I hope that my next notebook after this will also be RISC V-based... But the MNT reform (and the Purism Librem 5, which uses a similar SoC) is a great project and an interesting platform for bare-metal projects, since the CPU documentation is open and pretty good (I think the old Motorola heritage of Freescale shows here...) and there is also open source GPU support in the Etnaviv project [1]. So many possible projects, so little time :-). [1] https://github.com/etnaviv https://github.com/etnaviv