Ergebnis 1 bis 6 von 6

Thema: Ausführung eines Programms

  1. #1
    Member
    Registriert seit
    Jul 2001
    Beiträge
    367
    Renommee
    10

    Post Ausführung eines Programms

    Hi,ich bins. ICh hab gedacht das passt am besten ins codingforum!?
    Also ich hätt da mal ne kleine frage:
    Was passiert wenn ich ein Programm unter Windows ausführe?
    Es wird doch in den Arbeitsspeicher geladen und weiter...???
    Und wie ist das mit den Speicher-Adressen?
    Wäre toll wenn mir jemand helfen könnte, danke im voraus, whistler



  2. #2
    Registered User
    Registriert seit
    Jan 2001
    Beiträge
    4.852
    Renommee
    1000

    Post

    Das Programm wird dorthin geladen und dann springt der Prozessor an diese Speicherstelle, d.h. der "Instruction Pointer" des Prozessors wird auf die Adresse gesetzt, an der sich das geladene Programm befindet.
    Sozusagen. Fürs Multitasking wird einfach mit Zeitscheiben von Thread zu Thread gesprungen und von jedem Thread ein kleiner Teil ausgeführt, dann zum nächsten gesprungen usw.



  3. #3
    Member
    Registriert seit
    Feb 2001
    Beiträge
    122
    Renommee
    10

    Post

    Naja also es wird wie du schon sagtest in den Arbeitsspeicher geladen, und zwar werden dabei 5 Bereiche im Arbeitsspeicher angelegt:
    1. Stack -> Hier werden globale Variablen des programms gespeichert
    2. Codebereich -> Hier wird der komplette Code der exe reingeladen damit er ausgeführt werden kann
    3. Register -> Hier wird der Ablauf des Programms geregelt soweit ich weiß werden hier auch die Speicheradressen aller Variablen abgelegt
    4. Heap -> Der speicher steht dem Prog zur verfügung! wenn du z.B. in C++ was mit new und delete machst läuft das immer im heap ab!
    5.Globaler Speicher -> Hier werden die globalen Variablen des Programms gespeichert.

    Wenn alles in die Bereiche geladen wird ruft Windows die Main Funktion auf die ein jedes Programm haben muss! Naja und der reste erklärt sich dann eigentlich von selbst!



  4. #4
    Member
    Registriert seit
    Jul 2001
    Beiträge
    367
    Renommee
    10
    Danke für die Antworten! Kennt jemand vielleicht ein tut darüber? nicht direkt übers coden, sondern über das ganze zeug mit den speicheradressen usw.? mir erscheint das ganze nämlich noch ziemlich unklar. thx



  5. #5

  6. #6
    Registered User
    Registriert seit
    Jul 2001
    Beiträge
    231
    Renommee
    14

    Post

    also aus den antworten schließe ich: RFC822 is n core assembler coder und TheFreak is n c/c++ programmierer

    aber multitasking is mager erklährt .. unter multitasking versteht man doch eigentlich dass auf der CPU mehrere Verbindungen mittels schnittstelle anliegen, durch die INT-Generierung durch die Hardware-Interrputs. Das problem hierbei ist die Priorisierung
    Code:
    |
    --------
    |0    7|
    --------
     | .. |
          --------
          |0    7|
          --------
                 |
                 NW
    nennt sich dann auch 2x Encoder.

    Die Adresse des Programmes ist meist von 0-3FF(hex), oder besser immer *gg*.

    speichersegmentierung:
    [code]

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. Speicherbereich eines Programms
    Von N U K E R im Forum VisualBasic / VBScript
    Antworten: 3
    Letzter Beitrag: 28.09.2004, 10:03
  2. Online Update eines Programms
    Von xinorcimo im Forum VisualBasic / VBScript
    Antworten: 6
    Letzter Beitrag: 12.12.2002, 21:37
  3. [Windows] Erkennen eines Internetfähigen Programms
    Von Stoneriver im Forum Algorithmen und sonstige Programmiersprachen
    Antworten: 11
    Letzter Beitrag: 20.10.2002, 12:30
  4. ausführung von exploits
    Von wysedaone im Forum (In)Security allgemein
    Antworten: 12
    Letzter Beitrag: 08.05.2001, 07:37
  5. Pfad eines laufenden Programms ... :)
    Von dschungelratte im Forum Pascal / Delphi
    Antworten: 3
    Letzter Beitrag: 21.10.2000, 17:24

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •