Jestem programistą i nie jestem kompletnym idiotą, więc wiem dokładnie, dlaczego nie możesz uzyskać dostępu do pamięci, w której nie masz wskaźników. Ale nigdy tego nie próbowałem i nie sądzę, żebym kiedykolwiek to zrobił, ponieważ wydaje się to dużą stratą pieniędzy / czasu.
Zastanawiam się tylko, czy są jakieś narzędzia, które pozwalają mi uzyskać dostęp do mojego himem (można by pomyśleć, że do tej pory poradziliśmy sobie z tym problemem).
Odpowiedzi:
Jeśli masz procesor z rozszerzeniem adresu fizycznego (co prawdopodobnie robisz) i odpowiedni system operacyjny ( np. Nie jest to wersja konsumencka systemu Windows, używa PAE, ale jest ograniczona do 4 GB ), to pamięć można zmapować i normalnie używać. W przeciwnym razie pamięć po prostu nie zostanie zaadresowana, system operacyjny poinformuje cię, że masz tyle chipów, jakkolwiek są one duże, ale po prostu nie zostaną dodane do ilości dostępnej pamięci.
źródło
Wszystko działałoby dobrze, ponieważ 4 GB to limit dla procesora 32-bitowego. Oto artykuł, który jest bardziej szczegółowy i pokazuje, że możesz zainstalować i używać znacznie więcej niż 4 GB w 32-bitowym systemie operacyjnym.
źródło
Sądzę, że technicznie, jeśli system operacyjny byłby dobrze zaprojektowany, można by użyć więcej niż 4 GB. Nie ma powodu, dla którego myślę, że system operacyjny z pamięcią wirtualną nie może używać 32-bitowych adresów wirtualnych z 64-bitowymi adresami rzeczywistymi.
źródło
Zależy, co masz na myśli 32-bitowy system operacyjny!
Oczywiście w nowoczesnych systemach operacyjnych możesz podłączyć tyle, ile Twoja płyta główna jest w stanie bez problemu (chociaż możesz nie być w stanie korzystać z nich wszystkich), ale nie zawsze tak było, przynajmniej w przypadku systemu Windows:
http://answers.google.com/answers/threadview/id/333688.html
źródło
Pierwszą rzeczą do zrozumienia jest to, że nowoczesne systemy komputerowe wykorzystują pamięć wirtualną. Możesz mieć 32-bitowe adresy wirtualne dla aplikacji, mając jednocześnie większe niż 32-bitowe adresy fizyczne.
Drugą rzeczą do zrozumienia jest to, że fizyczna przestrzeń adresowa jest wykorzystywana do różnych rzeczy, przede wszystkim do głównych urządzeń pamięci RAM i pamięci mapowanych. Zwłaszcza karty graficzne często mają duże obszary mapowane w pamięci. Rezultat jest taki, że jeśli masz tylko 4 GB użytecznej fizycznej przestrzeni adresowej, możesz uzyskać znacznie mniej niż 4 GB użytecznego pamięci RAM. Typowo użyteczne jest około 3,5 GB, ale widziałem systemy, w których było tak niskie, jak 2,5 GB.
Na komputerze PC, który obsługuje ponad 4 GB fizycznej przestrzeni adresowej, wykorzystywany jest mechanizm PAE. Aby to zadziałało, potrzeba kilku rzeczy.
Procesory od dawna obsługują PAE, co nie stanowi problemu.
Wiele starszych chipsetów było ograniczone do 4 GB fizycznej przestrzeni adresowej. Chipsety Intel IIRC do laptopów uzyskały wsparcie dla ponad 4 GB przestrzeni adresowej z generacją „Santa Rosa” w 2007 roku. Nie jestem pewien co do chipsetów stacjonarnych, ale spodziewam się, że było to mniej więcej w tym samym czasie. Chipsety stacji roboczej / serwera oczywiście uzyskały wsparcie znacznie wcześniej.
Afaict BIOSes w większości obsługują go, jeśli zestaw układów tak. Nie zaskoczyłoby mnie jednak, gdyby były wyjątki.
OS jest kolczasty. Linux i Windows od dawna obsługują PAE. Niestety, ponieważ system Windows XP z dodatkiem Service Pack 2 MS sztucznie ograniczył fizyczną przestrzeń adresową do 4 GB. Twierdzą, że zrobili to z powodu błędnych sterowników, cynicy podejrzewaliby, że zrobili to, aby zmusić ludzi do kupowania wersji serwerowych.
W systemie Windows XP jest to wbudowane w jądro i zasadniczo nie można go cofnąć. Jednak w późniejszych wersjach można go ominąć kilkoma drobnymi włamaniami do jądra. Szczegółowe informacje można znaleźć na stronie https://wj32.org/wp/ .
źródło