x86

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
jamescox3k

x86

Post by jamescox3k »

It seems to me evry one in this forum is developing for the x86. This is all very well seems it's the most popular architecture on the planet and information is widly availible for it.

But I fear if we keep going down the path of this, now lets face it, dated, CPU we are doing technology no favors. Just adding more and more layers to an architecture makes it more and more complicated to code for. Much better CPU architetures exits. Why dose no one whant to develop for them?

This is a problem I think with people been afraid of whats new. We'll any if any one is developing an OS for other CPU's I'm very intresed in where you got your information from and how your projects going.

And if you dont agree with my comments why not?
User avatar
Pype.Clicker
Member
Member
Posts: 5964
Joined: Wed Oct 18, 2006 2:31 am
Location: In a galaxy, far, far away
Contact:

Re:x86

Post by Pype.Clicker »

i dunno for other people, but i got a look myself at IA-64, x86-64, Sparc 32 and motorola architectures (not mentionning PIC16f877 and C=64 :) ... but as long as IA-32 is what i own, there is little meaning (imho) to develop an OS for a machine i don't even own !

I have the feeling that existing OSes (even modern) don't use more than 50% of that architecture's abilities ... so i want to give a try for a better use ...
_mark

Re:x86

Post by _mark »

Economics is probably the reason most people develope for Intel. I would really doubt it has anything to do with fear. People that are scared of the unknown do not wake up one day and say "I'm going to write my own OS".

And anyone serious about their OS will have a plan for porting to another architecture if and when the opertunity arises.

_mark()
Unspoken_Magi

Re:x86

Post by Unspoken_Magi »

Yeah.. I am developing for two completely different architectures at the same time, to ensure my code is portable.

Currently I'm developing for IA-32 and GBA ARM, but eventually I'll move on to something more reasonable.
distantvoices
Member
Member
Posts: 1600
Joined: Wed Oct 18, 2006 11:59 am
Location: Vienna/Austria
Contact:

Re:x86

Post by distantvoices »

well... good point this is.

I could develop for sparc 32, cuz i own a sparc station 4 - such an ancient thing it is, but it suffices as terminal :-), but I lack the lust for doing so. I think, if I want to port my os thingy to it, a can do this later - with some redesign - make stack task switching running and so.

I agree with you on the point, that it is kinda queer to develop for an architecture many os'es exist already for. BUT I disagree with you on this: ix86 is dated. No.False. or would you consider sparc less "dated"?

@pype: be the c64 with you.
... the osdever formerly known as beyond infinity ...
BlueillusionOS iso image
Perica
Member
Member
Posts: 454
Joined: Sat Nov 25, 2006 12:50 am

Re:x86

Post by Perica »

..
Last edited by Perica on Sun Dec 03, 2006 9:06 pm, edited 1 time in total.
User avatar
Pype.Clicker
Member
Member
Posts: 5964
Joined: Wed Oct 18, 2006 2:31 am
Location: In a galaxy, far, far away
Contact:

Re:x86

Post by Pype.Clicker »

another thing is that Intel architecture is pretty easy to program at assembly level (i mean DOS applications programming, not system programming, here).
you can do fairly complicated things like x=z+y*2 in a single instruction (lea eax,[ebx+ecx*2]) provided that x,y and z are registers, etc.


If you take something like SPARC, it is almost impossible to write correct machine code without the help of a compiler, because you have a RISC instruction set (so, for instance ALU operations are available ONLY on registers. If you want to increment a memory location, load it in the register set first, and store it when done! :-/ )
distantvoices
Member
Member
Posts: 1600
Joined: Wed Oct 18, 2006 11:59 am
Location: Vienna/Austria
Contact:

Re:x86

Post by distantvoices »

I've alse read rumblings about sparc-instruction-cache: you as the os-developer are to create cache specific functions f. ex. for flushing the cache and so on. quite a pain in the developers @$$ if he has to think about THAT too.
... the osdever formerly known as beyond infinity ...
BlueillusionOS iso image
jamescox3k

Re:x86

Post by jamescox3k »

Unspoken_Magi caused me some interest here.

I'm interested in how you would develop for multiple architecturs. For example how do you organize your code, files and folders. I know Linux has ports for i386 (Every ones fav), SPARC (Which I find intreeging), PowerPC, IA-64, etc.

So how do I organize my code to be portable.

Also do PCI, AGP and USB type devices work in differnt achitectures?
pskyboy

Re:x86

Post by pskyboy »

Organising your OS to be portable is really up to you and the way you write your OS. I am personally following the WinNT route and have/will have a Hardware Abstraction Layer.

Peter
Unspoken_Magi

Re:x86

Post by Unspoken_Magi »

pskyboy wrote: Organising your OS to be portable is really up to you and the way you write your OS. I am personally following the WinNT route and have/will have a Hardware Abstraction Layer.

Peter
Yeah.. HAL is the way to go. I'm using it for my OS, and it definitely makes things much easier to port. All you have to do is rewrite the system specific HAL functions, which keeps everything else the same. HAL keeps your code much cleaner, as well.
Perica
Member
Member
Posts: 454
Joined: Sat Nov 25, 2006 12:50 am

Re:x86

Post by Perica »

..
Last edited by Perica on Sun Dec 03, 2006 9:07 pm, edited 1 time in total.
_mark

Re:x86

Post by _mark »

HOW TO HAL???? Anyone got a guitar handy - that could be a fun one.

Seriously...

Don't forget to look at the oskit.
http://www.cs.utah.edu/flux/
From my understanding they have a HAL pretty much all layed out for you. All you have to do is pick up thier libraries and start writting a kernel. I would recomend this if you are new to things like how to implement a HAL. At least get enough under your belt to be truely comfortable and then define your own.

_mark()
slacker

Re:x86

Post by slacker »

is everything that doesnt use an intel/amd processor not x86? what architexture is macintosh?
Tim

Re:x86

Post by Tim »

Current Apple computers are PowerPC-based. Old Macintoshes used the Motorola 68K series of processors.
Post Reply