Ergebnis 1 bis 5 von 5

Thema: Frage(n) zum Protected Mode

  1. #1
    Member
    Registriert seit
    Jan 2001
    Beiträge
    17
    Renommee
    10

    Post Frage(n) zum Protected Mode

    ein selektor zeigt doch auf einem desktriptor. der desktriptor zeigt wiederum
    auf den physischen segmentstart (also nicht virtuel wie bei selektor). außerdem is im
    deskriptor die länge des segments gespeichert.

    vollgendes beispiel ist von http://www.fh-zwickau.de/doc/prmo/pm...text/index.htm genommen worde:

    ...

    Es soll ein Deskriptor angelegt werden, der ein Segment mit den folgenden Eigenschaften beschreibt:

    Segmentstart an der physischen Adresse 01F2E3Dh
    eine Länge von 2 MB (2097152d=200000h)
    soll Datensegment sein (lesbar und beschreibar)
    einen DPL von 2
    aufgrund der Segmentlänge ein 80386 Segment ist

    Assemblerquelltext:
    mein_deskriptor:
    dw 0200h ; Segmentgröße, Bit 0..15
    dw 2E3Dh ; Segmentbasisadresse, Bit 0..15
    db 1Fh ; Segmentbasisadresse, Bit 16..23
    db 11010010b ; Zugriffsberechtigung und Typ
    db 11000000b ; Zusatzinformation und Segmentgröße, Bit 16..19
    db 0 ; Segmentbasisadresse, Bit 24..31

    ...

    jetzt meine frage: vorher soll ich wissen, wieviel speicher ich zur verfügung habe? bei diesem bespiel ist die segmentengröße 2MB. Was ist wenn ich aber nur 1MB speicher zur verfügung habe?

    genauso versehe ich es mit dem segmentstart nicht: woher soll ich wissen, ab wann ein segment anfangen kann, und ab wann nicht?

    thx, eOs


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

    Post

    Ein Segment kann überall anfangen und eine beliebige Länge haben. Es ist zB oft so, dass Segmente eine Größe von 4 GB / 16 TB haben, egal wie groß man sie eigentlich brauchen würde.
    Dasselbe gilt afaik für den Anfang des Segments. Wenn es diesen Speicher physikalisch nicht gibt, kannst du trotzdem einen Deskriptor dort hinzeigen lassen; beim Zugriff darauf wird jedoch ein Ausnahmefehler ausgelöst.



  3. #3
    Registered User
    Registriert seit
    Sep 2000
    Beiträge
    78
    Renommee
    -24

    Question

    Außnahmefehler ? Ich dachte dann wird nen Page Fault außgelöst oder so... und dann ist das Betriebssystem dafür veratwortlich das die Page nachgelanden wird denn die Adresse die mit im Diskriptor angegen wird ist ja nur die Virtuelle Adresse und nicht die Effektive.... Die Effektive Adresse wird über die Paging Tabelle Berechnet...

    Bin mir nicht sicher ich habe das Kapitel "Windows 9x und NT" im Assembler Buch von Trutz Eyke Podschun vor einigen Tagen erst überflogen

    bis dann

    THe dark Commander

  4. #4
    Member
    Registriert seit
    Feb 2001
    Beiträge
    62
    Renommee
    10

    Post

    Der segmentierungsmechanismus liefert eine ineare adrese, aber wenn das paging eingeschaltet ist wird die adrese durch den pagingmachanismus nochmal umgerechnet in einer phisiklaischen adrese, da befinden sich die daten letztendlich im speicher.
    Für deiner aufgabe ist die umgebung wichtig, soll das zeug unter ein betribsystem laufen (dan ist das paging aktiv und du kansz nicht die phisikalische adrese bestimmen, oder nur ganz schwer), oder du solst nur den prozesor programieren (so eine art mini betriebsystem), dan kanst du das paging abschalten und dan zeigt die anfangadrese im deskriptor auch die phisikalische adrese. Wenn das paging eingeschaltet ist hast du aber nicht mehr die speicherbegrenzung, dan kannst du ja auch virtuelen speicher (festplate) benutzen.
    Wie gesagt kommt auf die genauere umgebung an auf die das laufen soll.

  5. #5
    Member
    Registriert seit
    Mar 2001
    Beiträge
    96
    Renommee
    10

    Post

    "Das Assmbler Buch" Trutz Eyke Podschun habs hier rum stehen. Ist nicht sehr sinnvoll und ich hab gehört es soll sogar Fehler enthalten.

Aktive Benutzer

Aktive Benutzer

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

Ähnliche Themen

  1. Protected Mode
    Von knt im Forum Systemnahe Programmierung
    Antworten: 6
    Letzter Beitrag: 03.09.2002, 10:09
  2. Win 16 Teilsystem | Protected Mode
    Von Jubbah im Forum Windows
    Antworten: 1
    Letzter Beitrag: 03.11.2001, 23:22
  3. [Pascal : Protected Mode] Probleme mit Pointern
    Von spectrumizer im Forum Pascal / Delphi
    Antworten: 3
    Letzter Beitrag: 25.10.2001, 18:46
  4. Failed to locate protected mode loader (DPMILOAD.EXE)
    Von robotic im Forum Systemnahe Programmierung
    Antworten: 2
    Letzter Beitrag: 02.03.2001, 22:48
  5. Segmente, Programme und Paging im Protected Mode
    Von Dragh im Forum Systemnahe Programmierung
    Antworten: 24
    Letzter Beitrag: 11.02.2001, 18:23

Berechtigungen

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