duskos

dusk os fork
git clone git://git.alexwennerberg.com/duskos
Log | Files | Refs | README | LICENSE

commit 29cc7ff8779ca2362b00877217ad2097ea811a9c
parent a0a6d826465bca24969ef4c96c14cddaebd2682e
Author: Virgil Dupras <hsoft@hardcoded.net>
Date:   Wed,  1 Jun 2022 13:51:40 -0400

README: design consideration - build from source on the fly

Diffstat:
MREADME.md | 55+++++++++++++++++++++++++++++++++++++++++++++----------
1 file changed, 45 insertions(+), 10 deletions(-)

diff --git a/README.md b/README.md @@ -42,22 +42,37 @@ likelihood. But we can't have our cake and eat it too, right? Either you have a simple toy OS or a complex one. Well, maybe not? -Its authors believe that in the history of computing, Forth has been under- -explored. Its approach to simplicity is, we think, revolutionary. It has -significant shortcomings when system specifications become more complex (Forth -hates complexity and doesn't manage it well), but we believe it possible to -elegantly marry it with languages that like complexity better. +Its authors believe that in the history of computing, Forth has been +under-explored. Its approach to simplicity is, we think, revolutionary. It +has significant shortcomings when system specifications become more complex +(Forth hates complexity and doesn't manage it well), but we believe it +possible to elegantly marry it with languages that like complexity better. This mix, we believe, could provide a creative user with computing powers rarely seen with other approaches. We've got to try it. -## Status +## Design considerations -Nothing so far, we're just dreaming on. Development happens on [sourcehut][3]. +### Build from source on the fly -Unlike Collapse OS which is a personal effort and doesn't lend itself well to -collaboration, Dusk OS' wider scope makes it fitting for a collaborative effort. -Let's discuss this on its [public mailing list][4]. +With Dusk OS, I'd like to try having a system that starts from a smaller kernel +than Collapse OS and that kernel would compile its way up to a usable system +on boot. + +For Collapse OS, this option is impractical because compiling takes a long +time on 8-bit machines. It's much better to cross-compile the kernel up to +something that is usable as is. The drawback of this is that +cross-compilation tooling has to be more complex. + +Modern machines compile forth code much, much, much faster. Because Dusk OS +will have a much "wider" system at boot and that cross-compiling this wider +system can get complicated quickly, it seems simpler to me to initialize from +source at boot time. So I'll try that. + +This principle could extend to words written in C throughout the system. We +could have a system where all compilation takes place on-the-fly through some +lazy-loading mechanism only when the word is used the first time. That might be +fun... ## Roadmap @@ -75,6 +90,26 @@ The roadmap so far is, of course, very fuzzy, but here's what I have in mind: 8. Steal drivers from Linux and/or BSD kernels to widen hardware support. 9. Port exiting POSIX applications so that Dusk OS fulfills its stated goals. +## Status + +Not much so far. Step 1 of the roadmap above is well underway. Development +happens on [sourcehut][3]. + +Unlike Collapse OS which is a personal effort and doesn't lend itself well to +collaboration, Dusk OS' wider scope makes it fitting for a collaborative effort. +Let's discuss this on its [public mailing list][4]. + +## Build and run + +To build Dusk OS, you need: + +* GNU Make +* A C99 compiler +* Python 3 + +Run `make` and then run `./dusk`. You'll get a prompt. Look at `forth.txt` +to have an idea of the vocabyulary available. Type `bye` to quit. + [1]: http://collapseos.org [2]: http://collapseos.org/why.html [3]: https://sr.ht/~vdupras/duskos