View unanswered posts | View active topics It is currently Thu Mar 28, 2024 5:50 pm



Reply to topic  [ 15 posts ] 
 Dawn - operating system for SUBLEQ 
Author Message
User avatar

Joined: Fri May 11, 2018 5:42 pm
Posts: 10
Helo, i decided to post Dawn OS here too, i am sure some of the users here alreday aware of this system, any question is welcome, if i have time, i will answer them.

Dawn operating system is the first high-level operating system built for URISC computers.

Image

Other operating systems are designed to run on extremely complex hardware environments, but Dawn operating system is designed for the SUBLEQ architecture, which have no traditional instruction set. This allows a Dawn compatible processor and computer to be designed from a millionth costs than a traditional CPU.

Dawn is a modern graphics operating system, it supports the folowing features:
- Big-endian 64-bit SUBLEQ CPU
- Mouse
- Keyboard
- Virtual keyboard
- Touchscreen
- Multitouch
- 64-bit sound input and output on 8 channels
- 4 force-feedback joysticks
- 16 RGB cameras
- up to 32-bit RGBA graphics output, transparent screens are also supported
- An own p2p wireless networking protocol based on geolocation and requiring no external network provider cormprations
- CPU hotplug
- Disk drive hotplug
- Up to 100 individual disk-drive
- Basic tools like document reader, paint, wave player, process explorer, etc
- Some simple games like chess, amoeba
- C/C99 compiler that is capable of compiling codes written for the C programming language
- SMP support, up to basically unlimited CPU cores
- Very simple IO system that will stay constant for all future versions
- Memory and disk size support up to 2^63 bytes
- Battery, and power-saving features
- UTF8, unicode, ASCII
- Fast boot and shutdown

Dawn currently has precompiled emulator for x86 (windows and linux) and arm (android) platforms.
Dawn is also capable to run on the GPU (with opencl).
The package contains several opensource emulators as well, to guide others to write they own emulator if interested.

download: http://users.atw.hu/gerigeri/DawnOS/download.html

_________________
Dawn - the operating system for SUBLEQ architecture:
http://users.atw.hu/gerigeri/DawnOS/download.html


Last edited by Geri on Mon Oct 12, 2020 2:36 pm, edited 1 time in total.



Fri May 11, 2018 5:48 pm
Profile
Online

Joined: Wed Jan 09, 2013 6:54 pm
Posts: 1780
Welcome Geri!

That's an interesting project: to clarify, it is an OS in the full sense, as well as a GUI, running on a 64-bit SUBLEQ (one-instruction) CPU with at least 512MByte of RAM and preferably at least some 100MHz of clock speed.

"Dawn operating system is a traditional, classical, content creational operating system with multi-windowing, multiprocess, and multithread support. While other mainstream operating systems are content consuming operating systems designed only for communication and content consume, Dawn operating system was designed to supply a computing platform, where the user have full control over the hardware."

I see you include some emulators including source - but it seems you don't provide source for the Dawn OS itself? Is it written in C, and so do you have a C compiler for SUBLEQ?


Sat May 12, 2018 7:20 am
Profile
User avatar

Joined: Fri May 11, 2018 5:42 pm
Posts: 10
hi BigEd, thankyou for showing interest,

yes, this is an os in full sense, with gui, running on 64 bit subleq cpu, with at least 384 mbyte ram, and around approx 500 mhz for responsible operation.

(i continously worked to decrease the machine demand to have a nice user experience below the 100 mhz range as well, in fact it will even work on some 10 mhz-ish environment, but its sloooooow)

yes, i provide c compiler for subleq (its selfhosting, so it also compiles the os and itself). it can be accessed in the os (start menu / tools / coder).
the codes compiled with it can also be runned on bare hardware, if you dont use operating system calls like fopen or malloc, etc.

dawn itself is not opensource, but its available freely, and license not restricts private or even commercial usage (start / help / license.txt)

_________________
Dawn - the operating system for SUBLEQ architecture:
http://users.atw.hu/gerigeri/DawnOS/download.html


Sat May 12, 2018 1:09 pm
Profile

Joined: Sat Feb 02, 2013 9:40 am
Posts: 2095
Location: Canada
Hi Geri,
I find the choice to build an operating system around a SUBLEQ processor interesting. I would think the operating system for a SUBLEQ processor would be built around some sort of virtual machine running on the SUBLEQ.
Is Dawn component based or monolithic ?

_________________
Robert Finch http://www.finitron.ca


Sat May 19, 2018 4:04 am
Profile WWW
User avatar

Joined: Fri May 11, 2018 5:42 pm
Posts: 10
robfinch: thankyou for the questions, Dawn is a monolithic kernel.
and it is compiled natively for subleq for performance reasons (running a virtual machine on top of subleq would not give satisfactory performance to run an os).

_________________
Dawn - the operating system for SUBLEQ architecture:
http://users.atw.hu/gerigeri/DawnOS/download.html


Mon May 21, 2018 6:00 pm
Profile
Online

Joined: Wed Jan 09, 2013 6:54 pm
Posts: 1780
There must be some interesting things to say about your C compiler, I think - even a subroutine call must take quite a number of instructions. Please tell all!


Mon May 21, 2018 6:06 pm
Profile
User avatar

Joined: Fri May 11, 2018 5:42 pm
Posts: 10
BigEd
subroutine call: yes, as the architecture have no registers or hardware stack handling, and it would be too much clock to compute addresses for local variables every time, so the compiler generates a ,,function-call-heavy'' code for function calls which creates and syncs a fake stack to avoid local variable access overhead. most of the higher level language elements (such as bitshifts with variable or so) are implemented in runtime, to keep the development time low (as i had a planned time peroid which i was able to spend on this project, which i of course exceeded at the end). the compiler is of course self hosting, as it compiles itself and the OS as well, its basically the soul of the project. meanwhile it generates suprisingly optimal code, from an engineering standpoint its not a great work, it lacks some features (like switches and structs) and its very slow and unscientifical (it uses 70 or 80 pass to morph the code to turn into subleq binary into the end in a giant monolithic code snippet).

_________________
Dawn - the operating system for SUBLEQ architecture:
http://users.atw.hu/gerigeri/DawnOS/download.html


Mon May 21, 2018 10:37 pm
Profile
Online

Joined: Wed Jan 09, 2013 6:54 pm
Posts: 1780
There's good precedent for that approach, as you might know: "FORTRAN was provided for the IBM 1401 by an innovative 63-pass compiler that ran in only 8k of core. It kept the program in memory and loaded overlays that gradually transformed it, in place, into executable form"


Tue May 22, 2018 12:34 pm
Profile
User avatar

Joined: Fri May 11, 2018 5:42 pm
Posts: 10
i dont know fortran, but isnt it designed for writing banking software?

i did C only as thats the ultimate programming language of this (and the previous 3) decade and i know it well enough. i was thinking on adding BASIC (actually, converting basic to C in an extra pass), i didnt yet convienced myself to do it, but beginners would probably like it.

C compilers however are usually made with a method that analizes the code, and makes graphs from it, but i know nothing about that field (i am not expert in compiler writing), so i made it from multiple pass.

_________________
Dawn - the operating system for SUBLEQ architecture:
http://users.atw.hu/gerigeri/DawnOS/download.html


Tue May 22, 2018 8:48 pm
Profile
Online

Joined: Wed Jan 09, 2013 6:54 pm
Posts: 1780
C's a fine choice, I was just noting that the tactic of multiple passes has been used before. Fortran is more of a scientific language - you might be thinking of Cobol for business. I think they are similar vintages, as it happens. I think with Algol it was at least possible to tackle single-pass compilation, and similarly in the related language Pascal. But C isn't quite so well-behaved as those, it's a bit harder to parse.


Tue May 22, 2018 8:52 pm
Profile
Online

Joined: Wed Jan 09, 2013 6:54 pm
Posts: 1780
I think you're right that if you can find a way to offer Basic, or something very like it, that would be welcome.


Tue May 22, 2018 8:53 pm
Profile
User avatar

Joined: Fri May 11, 2018 5:42 pm
Posts: 10
it would be a strategic move forward if it would have one extra language to offer

however, i will probably do works on the emulation, i want to come up with a dynarec-like solution to have decent speed on 32 bit ARM systems

_________________
Dawn - the operating system for SUBLEQ architecture:
http://users.atw.hu/gerigeri/DawnOS/download.html


Tue May 22, 2018 8:57 pm
Profile

Joined: Wed Apr 24, 2013 9:40 pm
Posts: 213
Location: Huntsville, AL
Curious about the SUBLEQ instruction sequences used to create other basic operations. Is there a document describing these sequences? Wikipedia lists a number of them, but I can seem to find a single consolidated document containing the sequences that are used to implement the OS and application programs.

_________________
Michael A.


Tue Nov 06, 2018 8:33 pm
Profile
User avatar

Joined: Fri May 11, 2018 5:42 pm
Posts: 10
MichaelM: i have wrote a C compiler to generate subleq binary code, which basically builds up the end result with short ,,sequences'' like adding, branching, addressing memory locations, jumping, returning. There is basically no magic snippets, the system is written in C, i offload every problem to the compiler, there are no ,,inline subleq assembly'' in the code.

_________________
Dawn - the operating system for SUBLEQ architecture:
http://users.atw.hu/gerigeri/DawnOS/download.html


Sun Nov 11, 2018 10:54 am
Profile

Joined: Wed Apr 24, 2013 9:40 pm
Posts: 213
Location: Huntsville, AL
Thanks

_________________
Michael A.


Sun Nov 11, 2018 12:52 pm
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 15 posts ] 

Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software