About computer architecture

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.
Post Reply
pepito

About computer architecture

Post by pepito »

I will begin to design my "device manager" soon, but I have a doubt:

If I write an operating system for a specific CPU, can I assume that the computer have specific keyboard, video, and ports controler chips too?

My OS may include some default device drivers?

thank you,

pepito
Stefan

RE:About computer architecture

Post by Stefan »

Yes. Making something run on an embedded system (no keyboard, mouse, floppy, etc.) is just as much porting as making it run on a different CPU family. But you should still have modular drivers that the kernel can do without, so that people can use 3rd party and/or newer drivers.
pepito

RE:About computer architecture

Post by pepito »

Thank you for your soon response...

I am programming an OS for the Intel 80386 architecture (i386).

By now, my OS input data using the ports 0x60/0x61/0x64 and output data to the address 0x0B8000. I belive it match with "VGA text mode memory area" and the "8042 keybord controler chip", is this right?

Are these two devices "standar"?
May I use it as my default intput/output devices, and it will work with any i386 computer? And with a Pentim computer?

Thank you again,

pepito
Dragon88

RE:About computer architecture

Post by Dragon88 »

Yes, those should be standard. Pentium proccessors are all part of the ix86 family (e.g, the pentium II is also known as i686). That is to say, they all have the i386 type architecture. So, in answer to your question, yes , I believe you can use those as standard.

Cheers,
Rambo
pepito

RE:About computer architecture

Post by pepito »

Just one more question...

What about storage devices? I am writing a floppy driver that could be "standard" but I want use a hard disk too, is it possible?

Thank you very much!

pepito
Xenos

RE:About computer architecture

Post by Xenos »

Hard disk controllers need a different treatment than floppy controllers. Of course you can write a "disk driver" interface with functions like block reads etc. and use it with different drive types like floppys, IDE and SCSI hard drives... One way to do this is to save information about drive types and redirect disk interface calls to the required driver.
Post Reply