OSDev.org

The Place to Start for Operating System Developers
It is currently Wed Aug 23, 2017 2:06 am

All times are UTC - 6 hours




Post new topic This topic is locked, you cannot edit posts or make further replies.  [ 150 posts ]  Go to page Previous  1 ... 4, 5, 6, 7, 8, 9, 10  Next
Author Message
 Post subject: Re: How to make an operating system to x86 within a month fr
PostPosted: Mon Apr 17, 2017 2:48 pm 
Offline
Member
Member
User avatar

Joined: Fri Feb 17, 2017 4:01 pm
Posts: 163
Location: Ukraine, Bachmut
Or will revive Itanium.
Image

_________________
future big goal: ANT - NT-like OS for mips, arm and x86 (and, possibly, ppc and itanium, hehehe).
current smaller goal: efify - UEFI for a couple of boards (mips and arm).


Top
 Profile  
 
 Post subject: Re: How to make an operating system to x86 within a month fr
PostPosted: Mon Apr 17, 2017 3:59 pm 
Offline
Member
Member
User avatar

Joined: Thu Jul 12, 2012 7:29 am
Posts: 712
Location: Tallinn, Estonia
zaval wrote:
Or will revive Itanium.


Itanium is not compatible with x86.

_________________
Learn to read.


Top
 Profile  
 
 Post subject: Re: How to make an operating system to x86 within a month fr
PostPosted: Mon Apr 17, 2017 5:05 pm 
Offline
Member
Member

Joined: Thu Mar 25, 2010 11:26 pm
Posts: 1801
Location: Melbourne, Australia
How does the SUBLEQ architecture support SMP? Does it have any locking or equivalent primitives?

_________________
If a trainstation is where trains stop, what is a workstation ?


Top
 Profile  
 
 Post subject: Re: How to make an operating system to x86 within a month fr
PostPosted: Mon Apr 17, 2017 8:41 pm 
Offline
Member
Member

Joined: Sat Feb 27, 2010 8:55 pm
Posts: 105
Geri wrote:
x86 is basically
developed in the ways of every retard was able to jump up, and add some bullshit instruction on his
will that has random lenght, random parameters, randmly manipulates registers, flags, memory locations.
x86 opcodes are extremely complex, they can have prefixes, they work with mempry segments (this means
locations being added to other locations and being multiplied based on additional bytes in the opcode),
the opcode that descripbes the opcode id also can have various length, the register/segment bytes
are acting differently on almost every instruction and can result pulling in additional data for
the opcode to interpret the instruction itself. This is not documented, not deterministic, its
not folowing any logic or sense.



I'll admit it's hard to pick out the worst part of this "tutorial," but... WTF is this??? x86 instructions aren't documented and aren't deterministic? Really? Dude, you not understanding how the CPU works is not the same as it being random and undocumented.


Top
 Profile  
 
 Post subject: Re: How to make an operating system to x86 within a month fr
PostPosted: Mon Apr 17, 2017 8:51 pm 
Offline
Member
Member

Joined: Mon Jul 25, 2016 6:54 pm
Posts: 46
Location: Adelaide, Australia
azblue wrote:
I'll admit it's hard to pick out the worst part of this "tutorial," but... WTF is this??? x86 instructions aren't documented and aren't deterministic? Really? Dude, you not understanding how the CPU works is not the same as it being random and undocumented.

All these different opcodes are confusing! Programming would be so easy if only all opcodes were the same! That's why SUBLEQ is so good /sarcasm

Also it is appropriate I suppose that the only guy who bought Geri's joke OS paid in a joke currency.

Edit:
azblue wrote:
Your OS will run a pantsu seller automat in Japan

Ha! Missed this, soft racism is really what I look for in my programming tutorials.


Top
 Profile  
 
 Post subject: Re: How to make an operating system to x86 within a month fr
PostPosted: Mon Apr 17, 2017 10:22 pm 
Offline
Member
Member
User avatar

Joined: Sat Jan 15, 2005 12:00 am
Posts: 8055
Location: At his keyboard!
Hi,

gerryg400 wrote:
How does the SUBLEQ architecture support SMP? Does it have any locking or equivalent primitives?


Due to the reliance on self modifying code I doubt normal SMP is going to work at all (unless you like the idea of "twice as many CPUs makes it half as fast"). Instead, you'd have to shift to some kind of "each CPU has it's own separate memory" model just to get a benefit from multiple CPUs, and in that case you don't really need locking or equivalent primitives (e.g. actor model).

Fortunately, most CPUs support paging so it'd be easy to emulate "each CPU has it's own separate memory", and SUBLEQ can avoid the need to have different copies of each executable (where each copy is compiled for each CPUs different physical address range). This is why Geri loves paging so much!

azblue wrote:
I'll admit it's hard to pick out the worst part of this "tutorial," but... WTF is this??? x86 instructions aren't documented and aren't deterministic? Really? Dude, you not understanding how the CPU works is not the same as it being random and undocumented.


To be fair, 80x86 isn't deterministic - instructions take a different amount of time under various conditions (and that's without considering SMM). Essentially, it breaks the "all instructions are always slow" assumption by making some instructions faster sometimes.


Cheers,

Brendan

_________________
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.


Top
 Profile  
 
 Post subject: Re: How to make an operating system to x86 within a month fr
PostPosted: Mon Apr 17, 2017 10:54 pm 
Offline
Member
Member

Joined: Thu Mar 25, 2010 11:26 pm
Posts: 1801
Location: Melbourne, Australia
Brendan wrote:
Hi,

gerryg400 wrote:
How does the SUBLEQ architecture support SMP? Does it have any locking or equivalent primitives?


Due to the reliance on self modifying code I doubt normal SMP is going to work at all (unless you like the idea of "twice as many CPUs makes it half as fast"). Instead, you'd have to shift to some kind of "each CPU has it's own separate memory" model just to get a benefit from multiple CPUs, and in that case you don't really need locking or equivalent primitives (e.g. actor model).

Fortunately, most CPUs support paging so it'd be easy to emulate "each CPU has it's own separate memory", and SUBLEQ can avoid the need to have different copies of each executable (where each copy is compiled for each CPUs different physical address range). This is why Geri loves paging so much!

Cheers,

Brendan
Subleq seems like a thoroughly stupid idea. Geri, is it actually as stupid as it seems? Are there any actual advantages or is the whole idea just a curiosity?

_________________
If a trainstation is where trains stop, what is a workstation ?


Top
 Profile  
 
 Post subject: Re: How to make an operating system to x86 within a month fr
PostPosted: Mon Apr 17, 2017 11:25 pm 
Offline
Member
Member
User avatar

Joined: Sat Jan 15, 2005 12:00 am
Posts: 8055
Location: At his keyboard!
Hi,

gerryg400 wrote:
Subleq seems like a thoroughly stupid idea. Geri, is it actually as stupid as it seems? Are there any actual advantages or is the whole idea just a curiosity?


To be perfectly honest; I really don't know. I'm leaning towards "authentic cluelessness" based on posts from about 4 years ago (it's really hard to believe anyone would wait years before returning to deliver the punch-line and/or trolling they set up years earlier).

More likely is that Geri's friend was doing an introductory course in CPU design (where it's not uncommon for SUBLEQ to be used as a kind of thought experiment before they start learning anything too complex/realistic, in the same way that a lot of programming courses start with "Hello World"); and this friend was all enthusiastic and full of thoughts about the possibilities and influenced Geri (who I imagine as "an impressionable young lad" even now); and then Geri took SUBLEQ and rolled with it without the benefit of any "learning anything too complex/realistic" that came later in the friend's education. The rest can be explained as "escalation of commitment".


Cheers,

Brendan

_________________
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.


Top
 Profile  
 
 Post subject: Re: How to make an operating system to x86 within a month fr
PostPosted: Tue Apr 18, 2017 12:48 am 
Offline
Member
Member
User avatar

Joined: Tue Aug 02, 2016 1:52 pm
Posts: 286
Location: East Riding of Yorkshire, UK
gerryg400 wrote:
Subleq seems like a thoroughly stupid idea. Geri, is it actually as stupid as it seems? Are there any actual advantages or is the whole idea just a curiosity?

I think a legitimate use case could be embedding a SUBLEQ CPU into an existing application and then writing your initialisation and DRM code in SUBLEQ.

_________________
com.sun.java.swing.plaf.nimbus.InternalFrameInternalFrameTitlePaneInternalFrameTitlePaneMaximizeButtonWindowNotFocusedState
Compiler Development Forum


Top
 Profile  
 
 Post subject: Re: How to make an operating system to x86 within a month fr
PostPosted: Tue Apr 18, 2017 12:54 am 
Offline
Member
Member

Joined: Mon Jul 25, 2016 6:54 pm
Posts: 46
Location: Adelaide, Australia
matt11235 wrote:
I think a legitimate use case could be embedding a SUBLEQ CPU into an existing application and then writing your initialisation and DRM code in SUBLEQ.

Even then, would the simpler ISA make up for the worse power, performance and code size? I legit don't know, but it seems unlikely.
Like there are lots of perfectly good micro controllers, what makes SUBLEQ better than those?


Top
 Profile  
 
 Post subject: Re: How to make an operating system to x86 within a month fr
PostPosted: Tue Apr 18, 2017 2:02 am 
Offline
Member
Member
User avatar

Joined: Tue Aug 02, 2016 1:52 pm
Posts: 286
Location: East Riding of Yorkshire, UK
StudlyCaps wrote:
matt11235 wrote:
I think a legitimate use case could be embedding a SUBLEQ CPU into an existing application and then writing your initialisation and DRM code in SUBLEQ.

Even then, would the simpler ISA make up for the worse power, performance and code size? I legit don't know, but it seems unlikely.
Like there are lots of perfectly good micro controllers, what makes SUBLEQ better than those?

Sorry I think you misunderstood my post. I meant embedding SUBLEQ into something like a desktop PC game or some other kind of software application.
The code in SUBLEQ sets everything up, checks that the user has a valid license key, gets everything ready, decrypts and loads assets etc. That way it's a bit harder to reverse engineer.

_________________
com.sun.java.swing.plaf.nimbus.InternalFrameInternalFrameTitlePaneInternalFrameTitlePaneMaximizeButtonWindowNotFocusedState
Compiler Development Forum


Top
 Profile  
 
 Post subject: Re: How to make an operating system to x86 within a month fr
PostPosted: Tue Apr 18, 2017 2:27 am 
Offline
Member
Member

Joined: Mon Jul 25, 2016 6:54 pm
Posts: 46
Location: Adelaide, Australia
matt11235 wrote:
Sorry I think you misunderstood my post. I meant embedding SUBLEQ into something like a desktop PC game or some other kind of software application.
The code in SUBLEQ sets everything up, checks that the user has a valid license key, gets everything ready, decrypts and loads assets etc. That way it's a bit harder to reverse engineer.

Ah OK, I understand now, I thought you meant hardware DRM.
That would be an interesting use case, since software DRM is pretty much always security through obscurity, SUBLEQ would actually work pretty well. (Imagine how hard that DawnOS must be to debug!)


Top
 Profile  
 
 Post subject: Re: How to make an operating system to x86 within a month fr
PostPosted: Tue Apr 18, 2017 4:35 am 
Offline
Member
Member
User avatar

Joined: Tue Aug 02, 2016 1:52 pm
Posts: 286
Location: East Riding of Yorkshire, UK
StudlyCaps wrote:
matt11235 wrote:
Sorry I think you misunderstood my post. I meant embedding SUBLEQ into something like a desktop PC game or some other kind of software application.
The code in SUBLEQ sets everything up, checks that the user has a valid license key, gets everything ready, decrypts and loads assets etc. That way it's a bit harder to reverse engineer.

Ah OK, I understand now, I thought you meant hardware DRM.
That would be an interesting use case, since software DRM is pretty much always security through obscurity, SUBLEQ would actually work pretty well. (Imagine how hard that DawnOS must be to debug!)

I might try implementing something like this as a little proof of concept. Maybe a few more instructions to make sure that it doesn't take 3 months for the program to launch

_________________
com.sun.java.swing.plaf.nimbus.InternalFrameInternalFrameTitlePaneInternalFrameTitlePaneMaximizeButtonWindowNotFocusedState
Compiler Development Forum


Top
 Profile  
 
 Post subject: Re: How to make an operating system to x86 within a month fr
PostPosted: Tue Apr 18, 2017 7:08 am 
Offline
Member
Member
User avatar

Joined: Fri Feb 17, 2017 4:01 pm
Posts: 163
Location: Ukraine, Bachmut
dozniak wrote:
zaval wrote:
Or will revive Itanium.


Itanium is not compatible with x86.

for the case of "switching to something new" it's not that bad. also it had some x86-compatibilty "engine" at its beginning. With realizing all the importance of compatibilty, still it would be not possible to make new things when looking at only compatibility needs. Finally switching to another architecture is possible. Most code bases is not that tight to the CPU specific things.
but Itanium is a new, refreshing approach in CPU architecture, it's interesting and unfairly forgotten.

Once I was ready to buy some Itanium HP workstation (zSomething) from US, for my "hobby". It was almost new and so cheap. Shipping would be a problem, and it has been sold quickly locally, didn't catch it before decision.

_________________
future big goal: ANT - NT-like OS for mips, arm and x86 (and, possibly, ppc and itanium, hehehe).
current smaller goal: efify - UEFI for a couple of boards (mips and arm).


Top
 Profile  
 
 Post subject: Re: How to make an operating system to x86 within a month fr
PostPosted: Tue Apr 18, 2017 7:15 am 
Offline
Member
Member
User avatar

Joined: Thu Jul 12, 2012 7:29 am
Posts: 712
Location: Tallinn, Estonia
zaval wrote:
dozniak wrote:
zaval wrote:
Or will revive Itanium.


Itanium is not compatible with x86.

for the case of "switching to something new" it's not that bad. also it had some x86-compatibilty "engine" at its beginning. With realizing all the importance of compatibilty, still it would be not possible to make new things when looking at only compatibility needs. Finally switching to another architecture is possible.


If you read what Brandon wrote carefully, you'll see a valid transition path outlined there, pretty detailed. And without fatally breaking compatibility.

_________________
Learn to read.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic This topic is locked, you cannot edit posts or make further replies.  [ 150 posts ]  Go to page Previous  1 ... 4, 5, 6, 7, 8, 9, 10  Next

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 0 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:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group