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

commit 3dff6de1426f5f2877970de0d5f78cecdba68db0
parent 9a24c269b6be9185674169562c720d20cfa54f50
Author: Virgil Dupras <hsoft@hardcoded.net>
Date:   Fri, 17 Jun 2022 11:54:44 -0400

Add doc/design

Mfs/doc/cc.txt | 12+++++++++++-
Afs/doc/design.txt | 35+++++++++++++++++++++++++++++++++++
2 files changed, 46 insertions(+), 1 deletion(-)

diff --git a/fs/doc/cc.txt b/fs/doc/cc.txt @@ -23,4 +23,14 @@ idea is that the porting effort should be mostly a mechanical effort and it should be as little prone as possible to subtle logic changes caused by the porting. -For this reason, the core of the language is the same. +For this reason, the core of the language is very close to ANSI. + +## Differences in the core language + +* no 64bit types + * no long, redundant with int + * no double, float is always 32b + * char is always 8b, short is always 16b, int is always 32b +* tightened parsing requirements for simplification purposes + * "unsigned" always goes first + * no "signed" (always default), no "auto" diff --git a/fs/doc/design.txt b/fs/doc/design.txt @@ -0,0 +1,35 @@ +# Dusk OS design principles + +## Computing within limits + +Dusk OS' authors believe that an important factor in software complexification +is the inability to accept limits. Dynamic allocation is discouraged (in fact, +probably not possible). Semi-temporary data is managed through the scratchpad +(sys/scratch), non-temporary data is placed in buffers of fixed size. + +This means that applications will need to be accompanied with resource usage +analysis. It's a bit less convenient than a simple malloc(), but in a macro +perspective, this helps simplicity. + +4GB ought to be enough for anybody, which is why the OS doesn't support any 64b +type. Some specialized applications might need 64b numbers, but they'll have to +make their own abstractions. + +## Text interface + +While Dusk OS will be able to display graphics (for example, to render a PDF on +screen), it won't have a GUI. The way to interact with the system is through +text. + +## Power user paradise + +The goal is for the Dusk OS console to be supremely powerful. All bells and +whistles needed to allow the user to maximally use their system in a minimum +amount of time will be there. + +## Assume grid display + +UNIX consoles, being based around a serial interface, are more complex than they +should be (curses etc.). Dusk OS is able to be accessed serially, but with +greatly reduced powers. The "full featured" console as well as most interesting +applications will assume a grid display.