Autor Thema: Bei Portzugriffe kein Taskswitch durch cli erlauben.  (Gelesen 4501 mal)

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« am: 07. January 2006, 00:20 »
Hi,

ich mache mir zur Zeit gedanken über die Portzugriffe. Angenommen ich habe zwei Programme die auf ein und die selben Ports zugreifen. Wenn ich diese in Multitasking laufen lasse, könnte es doch passieren das diese sich stören. Der eine sendet einen Befehl an einen Port und der andere will Ergebnisse dieses Ports auslesen, hatt aber vorher andere Werte an diesen Port gesendet. Also meine ich das man doch bei Portzugriffe einen Taskswitch durch cli (IRQ0 kann nicht mehr aufgerufen werden) verhindern muss, oder?

Danke!!!
In the Future everyone will need OS-64!!!

SSJ7Gohan

  • Beiträge: 398
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 07. January 2006, 12:46 »
Wenn die Treiber Programme/Prozesse sind, bräuchtest du wohl Spinlocks oder Semaphoren.

bluecode

  • Beiträge: 1 391
    • Profil anzeigen
    • lightOS
Gespeichert
« Antwort #2 am: 07. January 2006, 13:28 »
Zitat von: bitmaster
Angenommen ich habe zwei Programme die auf ein und die selben Ports zugreifen


Das sollte normalerweise imho nicht sein :!:
Für was brauchst du 2 Programme, die auf die gleichen Ports zugreiden :?:
lightOS
"Überlegen sie mal 'nen Augenblick, dann lösen sich die ganzen Widersprüche auf. Die Wut wird noch größer, aber die intellektuelle Verwirrung lässt nach.", Georg Schramm

Osbios

  • Beiträge: 247
    • Profil anzeigen
Gespeichert
« Antwort #3 am: 07. January 2006, 14:55 »
Bei Hardware hat man grundsätzlich NIEMALS mehrere zugriffe!
Man benutzt entweder eine zwischengeschaltetes Modul was die Anfragen an die Hardware weitergibt (Treiber), oder man richtet eine minimale Hardwareverwatlung in Form von Reservierung und Freigabe der Ports ein, so dass die Hardware nicht gleichzeitig mehrfach genutzt wird.
db 0x55AA

 

Einloggen