Archive for category Status Update

Unununium – Existence distro updated

Jmony just updated CVS with dragon (the keyboard driver) cell ported from Dimension to Existence! Thank you!

, , , ,

1 Comment

A review of original design goals

It has been quite a while without an update and I would like to apologize for that. Beside selling my house, buying a new one, coordinating two job transfers (one for myself and one for my wife) life has been a bit hectic. I must admit to have *cough* discovered */cough* Fable 2 and Oblivion..

Anyhow, re-reading my last few posts I may have misguided the direction of Unununium so in order to appease myself and ensure I broadcast the right information, here’s a summary of Unununium’s goals:

* Single Address Space
* Dynamic Relocation
* Live Upgrade (no reboot required)
* Open Design
* Approachable Internal Hacking
* Well documented and teachable

Basically, a simple system with the internals clearly visible and inspectable by the user. A system built around a fast and simple design allowing deep state inspection and debugging; providing sufficient information for the users/developpers to customize the system to their liking.

I’m still planning on using the multiple return path function calls; after all this is one good way of speeding things up a bit while better managing various output states.

The dynamic relocation and the live upgrades are without timing guarantees; in fact, the entire system should probably not be real-time based; at best soft real-time. Let’s be honest, I do not have the team nor the inclination to go through official certification and make this into a commercial endeavour.

,

No Comments

Synchronous Languages

Posted a quick brainstorming page about synchronous languages which may be the seed to the final design.  Would solve and put together a few concepts I have been toying with these past few years.

No Comments

Memory Management

Finally decided on how memory will be managed. In short, processes will be able to request memory pages of 4KiB to be allocated.  The memory pages, as well as the processes, are tied in to a given cpu/core so as to avoid false cache sharing between threads.  Some sub-routines will also be available to sub-allocate these memory pages into any allocation size; although the operating system will only keep track of the pages and not the sub-allocations.

The allocated memory pages can then be shared with other processes for fast and efficient data transfer; when doing so the process sharing the memory page will receive a secret code that can be used to cancel the sharing and regain full control.  When shared, memory pages are in read-only mode for all users including the original process which shared the page.

No Comments

Brainstorming

Started a few brainstorming pages about how I could see the system implemented in the future.  I hope to continue to develop those sections and eventually write up a set of specification documents.  Feel free to comment on the design.

No Comments