Bu konuyu Intel IA-32 Architectures Software Developer’s Manual'in 3. cilti, 3. chapter'i Protected Mode Memory Management'da bulabilirsiniz.
Kısaca, sadece linux değil tüm protected mode operating sistemlerde (Windows, BeOS ve "Ali'nin İşletim sistemi") bu çevrim page table'lar vasıtasıyla yapılıyor. Bir nevi, diyorsunuz ki 0x0000 ile 0x1000 arası fiziksel olarak A'dan başlaşın , 0x1000 ile 0x1000000 arası B noktasından başlasın diyorsunuz. CPU' otomatik olarak çevirim yapıyor. (Yani bu noktada OS'un bir hiçbir söz hakkı yok) Biraz daha detaya inersek, bu çevrim tablolarını cpu cache üzerinde tutuyor. (Yani ram'de değil !) Bu olayada TLB(Translation lookaside buffer) diyorlar. Bu teknik ile bir 32-bit işletim sistemi en fazla 64GB ram'i adreslendirebilir. 2010/8/9 Selman Rasit Cesur <[email protected]>: > Merhaba, > Bildigimiz uzere linux uzerinde yaratilan her process kendine ait virtual > address space(vas)'e sahip oluyor. Mesela 32-bitlik bir sistemde her process > sanki butun hafiza kendine aitmis gibi algiliyor durumu. Fakat virtual > address, physical address'e cevrilecegi zaman adres bitleri belirli bir > islem mantigi dahilinde yorumlanip gerekli algoritmalar ve yapilar > kullanilarak cevirme yapiliyor ve bu processler ayni fiziksel hafizayi > kullanmis oluyor. Benim kafami karistiran su mesela A ve B olmak uzere iki > process var. A processi kendi VAS'ina ait bir adrese ulasmak istiyor. Bu > adres 0x023412a5 olsun. Ayni virtual address'e B process'i ulasmak > istediginde cevrilen adresler ayni olmuyor. Bu cok mantikli fakat bunun > nasil yapildigini bir turlu bulamadim. A nin VAS'indaki 0x023412a5 adresinin > karsilik geldigi fiziksel adres, B'nin VAS'indaki 0x023412a5 adresinin > karsilik geldigi fiziksel adres ile farkli oluyor. Bu nasil bir yorumlama > ile saglaniyor bunu ogrenmek istiyorum. > _______________________________________________ > Linux E-Posta Listesi > [email protected] > Liste kurallari: http://liste.linux.org.tr/kurallar.php > > Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu listeden gelen > e-postaları almak istemiyorsanız aşağıdaki bağlantı adresini kullanarak 1 > dakika içinde üyeliğinizi sonlandırabilirsiniz. > https://liste.linux.org.tr/mailman/listinfo/linux > > _______________________________________________ Linux E-Posta Listesi [email protected] Liste kurallari: http://liste.linux.org.tr/kurallar.php Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu listeden gelen e-postaları almak istemiyorsanız aşağıdaki bağlantı adresini kullanarak 1 dakika içinde üyeliğinizi sonlandırabilirsiniz. https://liste.linux.org.tr/mailman/listinfo/linux
