Lowlevel

Lowlevel => Lowlevel-Coding => Thema gestartet von: joachim_neu am 01. March 2005, 19:45

Titel: Shared Memory
Beitrag von: joachim_neu am 01. March 2005, 19:45
hallo zusammen,

ich hab mir gedacht, dass es bei mir im system shared memory gibt. dazu hab ich mir gedacht, dass es eine tabelle gibt, in der dann alle shared memorys und deren eigentümer drin sind und ne id. bei der erzeugung bekommen dann die tasks die id und können darauf zugreifen. hab mir also gedacht, jeder shared memory is mit paging gemacht und hat sein eigenes PD und PTs. und wenn ein task darauf zugreifen will, muss er sich den zugriff sichern und dann wird einfach sein cr3 geändert. jetzt hab ich aber das problem mit dem code. wenn ich einfach das cr3 ändere, dann is ja der code vom task nimmer da, weil der is ja im anderen segment. demzufolge müsste das dann doch einen crash erzeugen... aber genauso frag ich mich wie das bei dem taskwechseln mit software is, denn da ändere ich ja auch cr3 und ab da dürfte kein code mehr da sein und das ding crashen. is mir bisher noch net kapiert. deswegen meine frage:

WARUM GEHT DAS? is der code unabhängig von paging? wie mache ich das dann im speicher? kann ich den code net mit paging behandeln, muss der also immer da sein, oder wie? danke für hilfe.

mfg
J!N