Where Can I Find Information About Ports: Difference between revisions
[unchecked revision] | [unchecked revision] |
Content deleted Content added
No edit summary |
No edit summary |
||
(4 intermediate revisions by 4 users not shown) | |||
Line 1:
{{Tone}}
{{FirstPerson}}
{{You}}
== Question: Where Can I Find Information About Ports? ==
<div style="font-size:8pt">
Line 20 ⟶ 23:
===== Legacy Software Interfaces =====
Also, for some devices there's a legacy software interface. This is mostly limited to video cards though (the [[VGA_Resources|VESA/VBE]] interface) because the rest is too crappy{{how}} (no sane person uses the BIOS for [[Serial_ports|serial ports]], [[Parallel_port|parallel ports]], [[PS2_Keyboard|PS/2 keyboard]], [[Floppy_Disk_Controller|floppy]], or [[ATA_PIO_Mode|hard drives]]
===== Standard Interfaces =====
Lastly, for some device types there's a standard interface. This includes [[USB]] controllers (AFAIK there's only
===== Supporting Devices Is Difficult =====
Mostly, to support all devices properly (without using legacy interfaces) you need to read through thousands of pieces of documentation and write thousands of different device drivers (and no, there
===== Keep It Minimal =====
Fortunately (IMHO), for a good OS design you don't actually need to write many device drivers{{according to whom}} (a few common drivers to get things started perhaps). You only really need to design, implement and document suitable device driver interface/s, so that other programmers can easily write the device drivers later. For example, you might write one device driver for one [[ethernet]] card, and (hopefully, one day) twenty more people might use your [[documentation]] (and your first device driver, as a reference) to implement fifty more device [[drivers]] for fifty more [[ethernet]] cards.
Basically what I'm saying is that (IMHO) sane OS developers don't actually write an OS. Instead they write [[Bootloader]]s, [[kernels]], and [[documentation]]. Only after the [[kernels|kernel]] and [[documentation]] are entirely complete do they worry about device [[drivers]], [[File_Systems|file systems]], [[applications]], etc (except for some common/special case stuff that they need to test the kernel and the kernel's interfaces).
Line 45 ⟶ 48:
===== Network Cards =====
For [[:Category:Network Hardware|network
===== Source =====
|