002
16.07.2004, 19:55 Uhr
Hans
Library Walker (Operator)
|
Hi,
das ist Betriebssytemabhängig. Unter DOS gab's dafür so Funktionen wie inport(portno, wert); oder outport(portno, wert); die direkt auf die Hardware zugegriffen haben. Zumindest kennt Turbo C sowas. TurboPascal kennt dann noch so ein globales Array, das den gesamten Speicher abbildet. Weis jetzt aber nicht mehr, wie es genau heisst. Unter Windows und Linux/Unix ist es einer Anwendung grundsätzlich erst mal verboten, auf irgendwelche Hardware direkt zuzugreifen. Wenn ein Programm das trotzdem machen will oder muss, dann ist spezieller Treiber nötig, der auf der selben Ebene läuft, wie das BS, bzw. alle anderen Hardwaretreiber, also auf Ring 0. (Anwendungsprogramme laufen meisst auf Ring 3, soweit ich weis). Die Anwendung ruft dann eine Funktion dieses Treibers auf, die ihr die gewünschten Daten liefert.
Hans -- Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung. |