Linux ve 32 bit x86 arch göz önünde bulundurulduğunda, erişilebilir 4GB adres alanının 3: 1 bölünmesi var. Kullanıcı alanı 0-3 Gb olarak ayrılırken, 3-4 Gb çekirdeğe ayrılır. 3Gb'den daha büyük ve dolayısıyla çekirdek adres boşluğuna ait olan sanal adres fiziksel adrese nasıl dönüştürülür? Sayfa tabloları resme girer mi?kernel sanal adres çevirisi
7
A
cevap
5
Mel Gorman'ın kitabında Understanding the Linux Virtual Memory Manager kitabında bazı bilgiler vardır.
Kısa cevap: Evet, çekirdek fiziksel adres 0'ı sanal adres 3 GiB'ye dönüştürmek için sayfa tabloları ayarlar. (Bölüm 3.7.1). Bu, çekirdeğin yüklendiği fiziksel konumu içerir (genellikle x86 üzerinde 1MB).
İlgili konular
- 1. Konuşma çevirisi
- 2. Sanal bir adres için fiziksel adreslere mantıksal çeviri yapılması
- 3. Otomatik metin çevirisi
- 4. Özgülenmiş dize çevirisi
- 5. Dilbilgisi çevirisi için desen
- 6. Magento ürün çevirisi
- 7. PHP'nin preg_match_all - Python'a çevirisi
- 8. C# LINQ çevirisi
- 9. CUDA kernel
- 10. Linux Kernel
- 11. Linux Kernel: copy_from_user - işaretçilerle yapı
- 12. Django form alanı etiket çevirisi
- 13. Nasıl Yapılır? Sınıf çevirisi No:
- 14. gettext kullanarak R betiğinin çevirisi
- 15. mprotect() Linux kernel
- 16. Derleme programı eski kernel
- 17. Linux Kernel Modülünün Konumu
- 18. Got hatası: linux Kernel
- 19. linux kernel development
- 20. Sistem çağrısı eklenirken hatalı adres
- 21. Kernel modülü olarak Ext4 kodlama ve derleme
- 22. Adres :: dize
- 23. aşağıdaki adres
- 24. Android: Kernel Debugging ile KGDB
- 25. Linux kernel görüntüsünden yapılandırma alma
- 26. Kernel sayfaları değiştirilmeye mi başlıyor?
- 27. Bu lisp kodu parçasının raket çevirisi nedir?
- 28. Axis Değişim sabunu: adres
- 29. Mantıksal adres hesaplama
- 30. Chrome Adres çubuğu görünmez
Cevabınız için teşekkürler. Bazı googling yaptıktan sonra 3GB (yapılandırılabilir) bir PAGE_OFFSET olan ve çekirdek sanal adresinin, fiziksel adrese basitçe PAGE_OFFSET değerini çıkararak ve böylece sayfa tabloları kullanılmadan elde edilen fiziksel adrese birebir eşleme olduğunu buldu. Yanlışım varsa lütfen düzelt. – user593575
Bu basit haritalama, virt_to_phys() işlevinin uygulanmasını kolaylaştırır: dediğiniz gibi, sadece PAGE_OFFSET değerini çıkartın. Ancak sayfalama etkin - bu, talimatların getirildiği ve verilere erişildiği için sanal adreslerin donanıma fiziksel olarak tercüme edilmesine izin verir. –
Amacınızı aldım. Sayfa adresi, sanal adresin çekirdek veya kullanıcı alanına ait olmasına bakılmaksızın sayfalama etkinleştirildiğinde her zaman kullanılır. (Ne yazık ki en az 15 puan gerektiren kadar oy veremiyorum) – user593575