Sind die Register (wie eax, ebx, ecx, edx, esp, ebp usw.) physisch im Prozessor verfügbar, oder sind sie vom Standpunkt der Programmierung aus virtuelle Speicherorte?Linux Kernel Betriebssystem Register
Antwort
Sie sind sehr physisch in der Intel-CPU vorhanden. Und Linux läuft auf diesen CPUs.
Die von Ihnen angegebenen Register sind alle physisch auf dem Intel-Prozessor verfügbar, kein virtueller Speicher. Das Konzept des virtuellen Speichers trifft hier nicht wirklich zu.
Sie sind im Prozessor verfügbar. Abhängig vom Prozessor haben Sie möglicherweise zusätzliche oder weniger Register als die, die Sie benannt haben.
Wikipedia "Processor register":
In Computer-Architektur, ist ein Prozessorregister eine kleine Menge an Speicher als Teil einer CPU oder einer anderen digitalen Prozessor. Solche Register werden (typischerweise) durch andere Mechanismen als den Hauptspeicher adressiert, und es kann schneller darauf zugegriffen werden. Fast alle Computer, Load-Store-Architektur oder nicht, laden Daten aus einem größeren Speicher in Register, in denen sie von einigen Maschinenbefehlen arithmetisch, manipuliert oder getestet werden.
Register sind Hardware-Plattform angegeben. EAX, EBX oder irgendetwas anderes wie rax, RBX sind x86 registriert Sie wirklich in unserem Computer vorhanden sind, und physisch avaialble In x86-Register werden in nicht abgebildet Speicher
Register physisch sind, sie sind ein Teil der Architektur der Maschine, nicht vom Betriebssystem oder einer anderen Software. Aufgrund von register renaming haben sie möglicherweise kein einziges entsprechendes Stück Silizium auf dem Chip, aber vom Standpunkt jeder Software (einschließlich Betriebssystem) sind sie ein Teil der Hardware und sind nicht die gleichen wie Speicheradressen.
- 1. Embedded Linux Kernel und Desktop Linux Kernel-Unterschied
- 2. Linux redhat kernel-headers
- 3. Linux Kernel Scheduling
- 4. Linux-Kernel config.h
- 5. Linux Kernel-Konfigurationsoptionen anzeigen
- 6. Linux-Kernel-Modul Kompilierung
- 7. Linux-Kernel-Entwicklung
- 8. Debugging Linux Kernel Panic
- 9. Linux Kernel-Codierungsstil
- 10. Linux-Kernel exportierte Symbole
- 11. Linux Kernel Preemption Levels
- 12. Linux Kernel mutex_lock_interruptible
- 13. glib und linux kernel
- 14. Konfiguration Linux Kernel
- 15. Linux Kernel list.h
- 16. Linux-Kernel-Modul
- 17. Linux-Kernel-Entwicklung
- 18. Linux-Kernel-Funktion set_user_nice
- 19. Wie ist die Beziehung zwischen einem Linux-Betriebssystem und einem Kernel?
- 20. Linux Kernel Fehler kompilieren xt_CONNMARK.h
- 21. Linux Kernel-Pufferspeicher ist Null
- 22. benutzerdefinierte Netzwerkprotokoll für Linux-Kernel
- 23. Linux Kernel hashtable Struktur hlist_head
- 24. Linux Systemaufrufe und Kernel-Modus
- 25. Compile Linux-Kernel-Modul (lincan)
- 26. Wie schlafen im Linux-Kernel?
- 27. RDMA-API für Linux-Kernel
- 28. Linux-Kernel list.h und MSVC
- 29. "Current" in Linux-Kernel-Code
- 30. Makefile für Linux Kernel Modul?
Was möchten Sie mit diesen Registern machen? Diese sind real nicht in Erinnerung. Sie müssen einige Assembler schreiben, um direkt auf Register zuzugreifen – Cougar