Hallo
ich ging davon aus daß eine exe oder com die ich starte in den
Arbeitsspeicher geladen wird und dort dann die Befehle in ihr
abgearbeitet werden.
Wird es normalerweise auch, da hast du volkommen recht
Warum sollte diese Abarbeitung automatisch beendet werden wenn
ich da einen Stick rausziehe, das ist doch der Abarbeitung
genauso egal wei wenn ich einen Drucker über USB anschließe?
Es kann sein, dass ein Programm auf einem USB-stick ressourcen hat, die nicht in der exe integriert sind. Wenn es sich z.B. um Bilddateien handelt, die zur Luafzeit eingebunden werden, dann kann es sein, dass das Programm beim Nichtfinden dieser Datei eine Exception/Interrupt/schießmichtot:wink: auslöst, die dann für die Terminierung des Programmes sorgt, außer halt es braucht diese Dateien nicht, oder die Dateien wurden bereits beim Starten des Programmes in den Speicher geladen. Genauso mit DLLs. Normalerweise werden benötigte DLLs eines Programmes direkt in den Speicher geladen, weil sie dem Linker bei der Compilierung so übergeben worden sind. Es kann aber auch sein, dass das Programm eine DLL benutzt, erst wenn z.B. ein Button geklickt wird, siehe C# und [DLLImport]. Und wenn dann diese DLL z.B. fehlt, kann es zu einem Absturz kommen. Sehr kleine Programme haben ressourcen natürlich schon innerhalb der exe integriert.
Abgesehen davon könnte ich mir vorstellen, dass bei SEHR großen Programmen windows nur das Programm teilweise in den Speicher lädt, um Überlastungen zu vermeiden. Über die letzte Aussage kann ich aber nur spekulieren
Außer im Code steht, den/die USB-Ports per Timer laufend
überwachen…
Das sowieso. Siehe iTunes und iPods.
Wenn überhaupt geht das doch m.E. nur so daß man in Win das
„rauszieh“-Ereignis auswertet/registriert, daraufhin alle
Prozesse die Programme von dem Stick bedeuten „abschießt“.
Soweit ich weiß überwachen die Windowstreiber (im Kernel glaub ich sogar) die Hardwareinterfaces laufend. Wenn etwas verändert wird, wird eine Message/event im klassischen Sinne wie OnMouseClick zum Programm gesendent. Hier müsst ich aber nochmal nachschlagen, denn es kann sein, dass sich die Systeme mittlerweile erändert haben
Ähem, das ist keine Korrektur deiner Aussage Ich hab davon
keine Ahnung stelle mir das aber so vor, deshalb ist das eine
Nachfrage wie das eigentlich so abläuft mit Programmen um zu
lernen.
Wer nicht fragt bleibt dumm Also ich finde, dass das eine sehr gute Eigenschaft ist die du behalten solltest. Und wenn leute sagen dass du zu viel fragst, ignorier sie. glaub mir, ich hab erfahrung damit
Obwohl es ein bisschen ist meine Antwort, hoff ich mal immernoch dass du das hier liest.
mfg
hahihu