OSDev.org

The Place to Start for Operating System Developers
It is currently Thu Apr 26, 2018 10:26 pm

All times are UTC - 6 hours




Post new topic Reply to topic  [ 99 posts ]  Go to page Previous  1 ... 3, 4, 5, 6, 7
Author Message
 Post subject: Re: Dawn
PostPosted: Thu Aug 10, 2017 7:43 am 
Offline
Member
Member
User avatar

Joined: Fri Oct 27, 2006 9:42 am
Posts: 1147
Location: Athens, GA, USA
Geri wrote:
-what you are saying before, is that a more basic low-level language would suit the subleq better than actually a C compiled code. .

No, you've got it exactly backwards. I am saying that a more abstract language would be better, or at least a language which has a different set of core abstractions. You must have read enough of my posts to others on this forum to know I am no advocate of low-level programming; I am Lisp programmer, FFS! I am planning on using a Lisp-like language for my own OS, why would I recommend a low-level one for yours?

The purpose of the exercise was to show how dependent C is on the specifics of register machines, and more to the point, how efficient C programming requires you to be aware of how it targets the register usage. In a more abstract language, one not tied so directly to what the compiler emits, the compiler would be able to rearrange the code in a way that is efficient, without having to be told how to by the coder.

The problem is that C is assuming a very close match the the hardware, which isn't the case for OISC; it paints you into a corner regarding the possible optimizations. You need to use something that can be optimized for OISC, which C, with its register orientation, can't be.

I am saying that you should consider using a language which is sufficiently abstract that the compiler has enough freedom to choose its own optimizations rather that being forced into the ones assumed by the programmer and the language. For OISC, that probably means a dataflow language, something that incorporates a state transition as its core abstraction. TBH, that's a type of language we need more of anyway; even 'high-level languages' such as Java and C++ are still too focused on imperative programming rather than declarative programming, and for a state-transition system like OISC, a declarative language is a must.

_________________
Rev. First Speaker Schol-R-LEA;2 LCF ELF JAM POEE KoR KCO PPWMTF
μή εἶναι βασιλικήν ἀτραπόν ἐπί γεωμετρίαν
Lisp programmers tend to seem very odd to outsiders, just like anyone else who has had a religious experience they can't quite explain to others.


Top
 Profile  
 
 Post subject: Re: Dawn
PostPosted: Thu Aug 10, 2017 9:17 am 
Offline
Member
Member
User avatar

Joined: Sun Jul 14, 2013 6:01 pm
Posts: 442
i dont know lisp (never actually seen or heard someone using it). but i know BASIC. originally i planned to do BASIC too, but i stripped it out from the ideas to not waste time on it. (and i was not interested in making a c64 style of OS as there is C instead, which is a much better choice, and BASIC syntax is prety much like the C syntax, so everybody should be capable doing C if he does basic).

a BASIC interpreter, for example, would be just as slow as everywhere else, indeed (so we cant really talk about how much it suits). but a compiled basic code would run just as the compiled c code, it requires almost the same kind of compilation (redimmable arrays, local or global type of variables, trick to do the stack on function calls, if somebody even uses them).

basically a small preprocessor could render it to C code, then it could been compiled as C to binary. the problems with basic is the variable handling - at default, everything is handled as floats, and due to this fact, it would waste a lot more cycles in most cases than C does (for example the code would require a lot of internal data type conversions, and a lot of unaligned memory access).

basically selecting the C as the main programming language of the OS and this platform was not a choice, it was the only solution. Its currently the only widespread and actively used language, that is relatively easily capable to carry an operating system and itself on its back.

-i would rule out all esoteric languages, like lisp or anything raritys as the system has to offer familiar solutions for the developers.

-java is NOT free (and i personally consider it just as **** like the c#).

-c++ is too slow, time demanding, large, and cpu consuming. also questionable how to do new/delete as language elements in a undeveloped enrivonment... i would not write a compiler for it.

-javascript is just a downstripped, interpreted (but probably compilable) loose-type C variant without even thread support, and it can nothing to offer against c meanwhile it would need a lot of more time to implement even a tiny fraction of it.

-c# is just c++ with 500 mbyte of microsoft libraries slower than a 286 designed for business showmans without knowledge and without capabilities to do anything, its alreday died in practice, and implementing all of its **** would take eons. is anyone seen anything serious in that shitty language ever? i dont think so.

-BASIC would be good, but it were killed by C in the last 30 years, and the two language is very similar in a lot of aspects, but BASIC was basically misdeveloped in the last decades (it seems in the end it only attracted the bad programmers and bad communitys)

the conclusion is that C is the only possible solution (like almost always, if a project is more serious than clicking a window with buttons together with your mouse to show your boss and your mom how cool computer wizzard are you), either every other theocretical solution is not exists, is obsolote (basic), not works in practice (javascript, c#), not a real programming language just some private business wizzard thingie (java, c# again).

so this is not really my choice, c was the only realistically walkable path when creating this system, other chooses not even emerged, as this were the only possible way, and doing a C compiler is not THAT hard (even doing a BASIC compiler would be the same complexity)

_________________
Operating system for SUBLEQ cpu architecture:
http://gerigeri.uw.hu/DawnOS/index.html


Top
 Profile  
 
 Post subject: Re: Dawn
PostPosted: Thu Aug 10, 2017 9:46 am 
Offline
Member
Member
User avatar

Joined: Fri Oct 27, 2006 9:42 am
Posts: 1147
Location: Athens, GA, USA
I give up. You can go do what you want, enjoy your lemon juice. You'll at least be invisible to me and anyone else who have plonked you in their forum settings.
Image

_________________
Rev. First Speaker Schol-R-LEA;2 LCF ELF JAM POEE KoR KCO PPWMTF
μή εἶναι βασιλικήν ἀτραπόν ἐπί γεωμετρίαν
Lisp programmers tend to seem very odd to outsiders, just like anyone else who has had a religious experience they can't quite explain to others.


Top
 Profile  
 
 Post subject: Re: Dawn
PostPosted: Thu Aug 10, 2017 10:24 am 
Offline
Member
Member
User avatar

Joined: Sun Jul 14, 2013 6:01 pm
Posts: 442
nani?
Image

_________________
Operating system for SUBLEQ cpu architecture:
http://gerigeri.uw.hu/DawnOS/index.html


Top
 Profile  
 
 Post subject: Re: Dawn
PostPosted: Thu Aug 10, 2017 5:11 pm 
Offline
Member
Member
User avatar

Joined: Thu Jul 12, 2012 7:29 am
Posts: 718
Location: Tallinn, Estonia
Try a forth machine for your OISC stuff. Might be fun.

_________________
Learn to read.


Top
 Profile  
 
 Post subject: Re: Dawn
PostPosted: Thu Aug 10, 2017 5:25 pm 
Offline
Member
Member
User avatar

Joined: Sun Jul 14, 2013 6:01 pm
Posts: 442
dozniak wrote:
Try a forth machine for your OISC stuff. Might be fun.


or a brainfuck machine, which have an extra ascii code for stabbing people with ceramic squirrels

_________________
Operating system for SUBLEQ cpu architecture:
http://gerigeri.uw.hu/DawnOS/index.html


Top
 Profile  
 
 Post subject: Re: Dawn
PostPosted: Fri Aug 11, 2017 3:54 pm 
Offline
Member
Member
User avatar

Joined: Sun Jul 14, 2013 6:01 pm
Posts: 442
2017, aug 11. - Several bugfix

-Line numbers in the text editor were missing due to a bug.
-End and Home buttons were bugous in file browser.
-Some typos and spelling errors fixed in the manual.
-Opening the C compiler will give a short example code.
-Some more infos added about the compiler.
-Fixed the scroll bar in disk browser.

The protector saint of this release is Misaki Mei
Image

_________________
Operating system for SUBLEQ cpu architecture:
http://gerigeri.uw.hu/DawnOS/index.html


Top
 Profile  
 
 Post subject: Re: Dawn
PostPosted: Tue Aug 15, 2017 5:41 am 
Offline
Member
Member
User avatar

Joined: Sun Jul 14, 2013 6:01 pm
Posts: 442
an unknown misteryous hero prety much likes dawn os

Image

_________________
Operating system for SUBLEQ cpu architecture:
http://gerigeri.uw.hu/DawnOS/index.html


Top
 Profile  
 
 Post subject: Re: Dawn
PostPosted: Fri Aug 18, 2017 3:58 pm 
Offline
Member
Member
User avatar

Joined: Sun Jul 14, 2013 6:01 pm
Posts: 442
DawnOS made a major step forward.

The operating system is now somewhat stabilized on slow computers, the system stays responsive even around 300 million instructions per second.

Image

-Better autodetection of extra-low screen resolution on boot, to keep the screen readable even on 512x384 and below

-Various optimisations in the operating system resulted 10-30% speed-up in the overall performance

-The kernel can now handle mouse actions on much lower-end machines than before

-Fixed the random number generator

-Fixed multiple bugs with the virtual keyboard

-Fixed a ghost click on start menu

-Ranemad one of the games

-Added snake game

-Restart/Shutdown message is now more readable on every resolution

-Fixed a click-selection and a double-click issue in the file browser

-Fixed the sleep icon

-Start menu comes up properly if its called while a full-screen mode application runs


Image

The protector saint is still Misaki Mei.

_________________
Operating system for SUBLEQ cpu architecture:
http://gerigeri.uw.hu/DawnOS/index.html


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 99 posts ]  Go to page Previous  1 ... 3, 4, 5, 6, 7

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 1 guest


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:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group