x86
x86
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?
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?
- Pype.Clicker
- Member
- Posts: 5964
- Joined: Wed Oct 18, 2006 2:31 am
- Location: In a galaxy, far, far away
- Contact:
Re:x86
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 ...
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 ...
Re:x86
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()
And anyone serious about their OS will have a plan for porting to another architecture if and when the opertunity arises.
_mark()
-
- Member
- Posts: 1600
- Joined: Wed Oct 18, 2006 11:59 am
- Location: Vienna/Austria
- Contact:
Re:x86
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.
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
BlueillusionOS iso image
- Pype.Clicker
- Member
- Posts: 5964
- Joined: Wed Oct 18, 2006 2:31 am
- Location: In a galaxy, far, far away
- Contact:
Re:x86
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! :-/ )
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! :-/ )
-
- Member
- Posts: 1600
- Joined: Wed Oct 18, 2006 11:59 am
- Location: Vienna/Austria
- Contact:
Re:x86
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
BlueillusionOS iso image
Re:x86
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?
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?
Re:x86
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.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
Re:x86
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()
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()