zwei sachen die mich schon lange quälen (PM)



  • 1. was passiert mit den interrupts nach einem wechsel in den PM..
    kann ich z.b. int 10h immer noch aufrufen und benutzen wenn ich im pm bin? und wenn nicht geht das über umwege oder muss man sich dann selbst z.b. einen grakatreiber schreiben?
    (oder ist es wie bei VBE 3 das man einen PM entrypoint hat?)

    2. der prozessor stellt ja all so schöne sachen zur verfügung wie task descriptoren und entsprechende reigster... aber wie erzeugt man einen task switch...
    ein os stellt ja einem task eine gewisse zeit zur verfügung. aber wie wird dafür gesorg das nach dieser zeit auch wriklich ans system zurückgegeben wird? gibt es so eine art timerinterrupt der nach eine gewissen zeit ins programm einfällt und die kontrolle zurück ans OS gibt?



  • also afaik sind die Interrupts vom Mods der CPU unabhängig.
    Den Timerinterrupt gibt es. ich muss schauen, ob ich ihn finde.
    MAn kann sich auch eigene Interrupts definieren.

    cYa
    DjR



  • soweit ich weis gits im PM die interrupte imper noch. nur ist die interuptvektor tabelle nicht mehr an einer fest definierten position sondern virt mitels eines selektors angegeben.

    2. genau so isses. du hast nen timer, der eine art zeitscheibensteuerung macht. wird der timer ausgelöst wird der taskwechsel in den kernelmode folzogen. nun kann der kernel entscheiden welche task drannkommen soll, und übergibt ihr den prozessor ( wieder taskwechsel). fordert eine task eine information/datei/resorce vom kernel ein, übernimt dies der kernel. das fordernde programm wird eingefroren, bis die forderung befriedigt werden kann. ( plattenzugriffe dauern mit unter anderem am längsten) solange sind andere taks am zuge. auch ein wait(10 seconds) geht so. der kernel wartet für ihn, und beschäftig andere nebenher. auserdem gibt es noch die möglichkeit, das eine task von sich aus an den kernel zurückgibt.(taks die nur kutz schauen, ob was für sie da ist und wenn nicht dann nichts tuen würden)

    wie lang die einzelnen zeitscheiben je task werden, welche taks als nächstes drann komt, daführ gibt es verschiedene verfahren und algorithmen. aber das würde jetzt glaub ich zu weit gehen.

    gruss termite


Anmelden zum Antworten