Wie ist die Größe der Seite und die Einträge berechnet für eine Seite-Tabelle?
Was bedeutet diese äußerung in Zusammenhang mit einem Betriebssystem?
Mit 2^32 Adressraum und 4K-Auflösung ( 2^12 ) Seite Größen, diese lassen 2^20
Einträge in der page table. Bei 4 bytes pro Eintrag, beträgt 4
MB page-Tabelle, die zu groß für angemessen halten in zusammenhängenden
Speicher. ( Und swap in und aus dem Speicher mit jedem Prozess wechseln. )
Beachten Sie, dass mit der 4K-Seiten, das dauern würde, 1024 Seiten einfach zu halten
Seite Tabelle!
Bitte erklären, wie Sie die Berechnung der 1024 Seiten am Ende? Was ist 4 Byte pro Eintrag in dieser Hinsicht? Was ist der Sinn von 4K Seitengröße? Macht 4K bedeutet 4*1024 bytes? Erwägen Sie 4 bytes (pro Wort) ODER ist 4 bytes bedeutet, es hat 4*1024 Worten mit jedem Wort, mit einige Größe, sagen wir 4 bytes?
- Ist meine Aussage falsch?
- Nein, die, die Sie zitiert.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Daran erinnern, dass wir ' re Umgang mit Potenzen von zwei, also
4 MB = 4,194,304 Bytes
4 KB = 4096 Bytes
4 MB /4 KB
=4,194,304 Bytes /4096 Bytes
= 1024 BytesMüssen Sie die 32-bit-Referenz alle 2^32 - Adresse Leerzeichen. Mit 8 bits pro Byte,
32 bits
= 4 Bytes.Beispielsweise die erste Adresse ist 0 und die Letzte Adresse ist 4294967295 oder (2^32 - 1).
Jeder Eintrag in der Tabelle Punkte auf 1 Seite irgendwo im Speicher. In diesem Beispiel können sagen, es beginnt bei null. Es gibt 2^20 Einträge, und Sie umfassen die ganze Spanne von memory Adressen (2^32). Da jeder Eintrag ist 4096 Bytes, die Sie brauchen nur 2^20 Einträge, um alle Seiten.
Ja, es bezieht sich auf jede Seite 4096 bytes (4*1024).
Er kann kleiner sein, auf 32-bit-Prozessoren, aber normalerweise ist das ein Wort ist 32 bit oder 4 Bytes.
Ergänzungen, Kommentare
Kann auf der Seite halten nichts, Sie ist ein container für Daten, die in diesem Beispiel 4096 Bytes. Die Seite Tabelle hält Einträge diesem Punkt zu Seiten. Als David erklärt, da die page table im Speicher hinterlegt ist, ist es auch in Seiten abgelegt werden.
Er ist falsch. Wenn die Seite Tabelle tatsächlich enthielten die Daten von jeder Seite, dann würde er richtig sein. Mit 4096-byte-Seiten und 2^20 Einträge, das entspricht 4.294.967.296 bytes (4 GB), aber die Einträge werden nur 4 bytes in der Größe. So können Sie mehrere, die mit 2^20 Einträge zu bekommen 4,194,304 bytes (4 MB).
In der Dokumentation übernimmt diese Werte:
Also 4 bytes 4 bytes (die Größe des Eintrags in der page table für eine Seite,
nicht die Größe der Seite selbst!).
Ja, 4K bedeutet 4*1024 bytes, nicht 4*1024 Worte.
Alle Speicher durch das OS und alle Anwendungen gespeichert ist, in den Seiten, die irgendwo auf dem system.
Da die page table ist etwas, was im Speicher abgelegt werden, es ist auch in Seiten abgelegt werden.
A page, memory page, or virtual page is a fixed-length contiguous block of virtual memory, described by a single entry in the page table