Overview

Download

History

Notes

Compiler



2018, nov. 10.
Druaga1 on youtube made a short review from the OS.

https://www.youtube.com/watch?v=dlxMy_zrgAU



2018, sept. 13.
The website is redesigned. This section will contain non-code related news and updates.
Everything should work better than before.





Other informations:



Third party emulators for Dawn platform:

Bootable Dawn emulator by Mintsuki





Recent news from Dawn operating system:

Dogestories - Promoting Dawn OS

A Programming Language With Only One Command and the
Anti-Imperialist Operating System Built on it





Blog:

subleq.blogspot.com



FAQ:

Q: Why Dawn operating system?
A: 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. Dawn requires no connection with foregin servers to operate: there are no thousands of mistic packages or strange updates to download to use Dawn. Dawn operating system has everything to achieve something no other operating system from this era can supply for you: computing. Dawn offers a mature traditional user interface and friendly apperance to help you while you work, learn, do scientifical simulations, write and run your own programs, or play. Everything is fun and happyness under Dawn, which is a love-child of a game console and office software rendering environment, with a minimalistic stable API and large program-set. Dawn has no bloatware - its a modern operating system with modern graphics user interfaces and conventions, meanwhile it is supplying the features of the heavyweight stand-alone content creational traditional operating systems of the 80s and 90s.
Chessparty for your grandpa? Your childrens personal educational computer, where he can code to see mathematical graphs for his homework? Your personal power-server, where you can run your own scientifical computation on your own fpga with 800 simulated cores? Your mothers solar-powered managercalculator, where she carries her food recipes and shopping list?
Dawn is the only operating system capable of doing all of this at the same time on the wide-range of computers, and it runs on the SUBLEQ platform which can be emulated from 6-10 lines of C code on every other platform even by yourself, or can be implemented in hardware from a few tousands of logical gates. Dawn gives us back what the softwarecommunists, the hardware imperialists and corporate clowns taken away from us a long time ago: personal computing.

Q: Where is the binary of Dawn operating system located?
A: The first 256 mbyte of disk0.bin contains the Dawn operating system. Basically the first 256 mbyte is the ,,boot sector'', the rest of the disk is the file system.

Q: What manual the developers and hardware engineers can use to create compatible hardware and software?
A: Dawn operating system have built in manuals for developers to create fully compatible hardware and software. Start menu/help/hardware.txt: this documents explains how to make Dawn compatible hardware or emulator (you can also investigate the opensource emulators in the package) Start menu/help/compiler.txt: this documents lists the compatible C functions and the API to write software on Dawn operating system with the built in C compiler (Tools/Coder). Start menu/help/license.txt: the license of Dawn operating system.

Q: Is there an user manual available for Dawn?
A: There is no manual available for Dawn operating system, as there is no manual required to handle the operating system.

Q: How fast SUBLEQ processor is needed to run Dawn fluidly?
A: A 700 mhz superscalar, or a 900 mhz in-order SUBLEQ cpu with 4 cores will be enough for standard office-type usage.

Q: What is the absolute minimal processor speed to run Dawn enjoyable?
A: The question is: what is the purpose do you want to use the operating system for. Dawn will boot and work even around 1 mhz, however, at those speeds the system will need minutes to display even a window, so it will be unusable. Below 20 Mhz, the OS load time is too high, and responsibility is decreases below the absolute minimum. Its not impossible that there are tricks available to decrease this limit by optimizing the operating system even more, but as the SUBLEQ opcode is not so efficient as other architectures, this limit seems to be a hard wall even if small optimizations can be carried out. The ultimate planned minimalmachine-goal for Dawn was to run as low as 7 mhz, but currently it requires at least a few ten MHz.

Q: Can i run Dawn operating system below 320 mbyte of memory?
A: Dawn binary restricted to maximum 256 mbyte, and its currently approx 170 mbyte. The hardware IO is mapped bethwen 256-320 mbyte. Therefore, it is impossible to use the system without having at least 320 mbyte of RAM, unless your emulator or hardware implementation supplies a transparent swapping for Dawn. (The active working memory size of Dawn can be a few mbyte).

Q: One core computers seem to run the software compiled for Dawn inefficiently.
A: Correct, the first (0th) core is occupied by Dawn all the time. If you run Dawn on a single core SUBLEQ computer, it will have to emulate the execution of the processes, which is inefficient. Therefore, at least a dualcore computer is needed to run Dawn efficiently.

Q: How many cores can Dawn use?
A: Dawn can allocate your software to any number of CPU cores, it is not limited. If you have very lot CPU cores, Dawn operating system can temporally reserve maximum the first 22 cores to itself in some situations.

Q: How stable Dawn operating system is?
A: Experiencing crashes from the malfunction of the Dawn operating system itself is extremely uncommon under intended usage. The operating system will however not protect you from bugs in thirdparty software. Dawn have better tolerance for faulty hardware than other operating system, but its not immune to it. When the kernel detects a memory corruption, it will not halt the system, it will just notify you in a message, so you will usually have some time to save your opened work.

Q: Where do i find disk integrity check, defragmentation, and bad block management software in Dawn?
A: Dawn requires none of the above. Dawn uses its own file system, where one block is 256 byte (last 2*8 byte is the previous and next disk chunk location, first byte indicates if the block is a blank space, a file, or a directory). When writing data to the disk, Dawn issues the commands in a specific order to ensure no data loss happens even if the electricity goes out, or you quickly grab the disk out. If strange things are happening to your disk, you can copy your important files, then format the disk with Tools / Format.

Q: What is a SUBLEQ processor?
A: SUBLEQ is an instruction set, which does not have any instructions, except one fixed-function instruction: substract and jump if the result is less or equal to 0. Other computer architectures are extremely complicated, but SUBLEQ is easy to understand, easy to emulate or implement as a native hardware. This platform not have interrupts, MMU, TLB, paging, protected mode, or even registers - its just as simply as you think it is.

Q: How much RAM Dawn needs?
A: The absolute minimum is 320 Mbyte of RAM to run Dawn. Dawn binary is limited to 256 Mbyte, and after this memory area, the hardware IO follows (additional 64 mbyte). Dawn will boot and work with this small amount of RAM, however, i suggest to use at least 1 Gbyte if its possible.

Q: Dawn and superscalar SUBLEQ CPU - how effective?
A: The C compiler is trying to compile an efficient code for superscalar CPU-s, so the compiler generates independent opcodes after each other, where it can. In practice, the generated core scales up to a two-pipelined in-order superscalar CPU, or a 16 pipelined out-of-order superscalar CPU.

Q: How much CPU cache Dawn needs for effective performance?
A: Accessing the memory always is too slow, as it needs a huge delay to issue a read or a write operation. Therefore, a few kilobyte of L1 cache is highly recommended.

Q: What special tricks can i use to speed up the emulator?
A: Try to do the emulator with inline assembly. Try to execute multiple SUBLEQ instructions within a for cycle at once. Try to emulate multiple cores witin one cycle (SMT). Try multiple methods and compute which gives the best on different cpu-s.

Q: Why this platform uses big endian?
A: The majority of CPU-s these days are little-endian, so emulating a big-endian cpu on them is a bit slower - but the big-endian number representation is closer to the human mind, and its easyer when developing a hardware, therefore, big-endian convention were used. This decision will be keeped in the future.

Q: How frequently the Dawn operating system builds are released?
A: Usually once or twice per month. As Dawn becoming more and more stable, the updates are becoming less frequent, as no hotfixes are required.

Q: Will be Dawn platform's IO system is changed?
A: Hardware IO will stay the same with Dawn - forever. Its not impossible to add later something important, but for full backward and forward compatibility reasons, Dawn will always use the same IO specifications, which will basically not changed.