Płyty główne kradną pamięć!
2008-03-04 kategorie: praca
Zapewne sprawa jest powszechnie znana, ale ja zetknąłem się z nią dopiero dzisiaj i jestem zaszokowany!
Rozbudowywaliśmy dziś w pracy komputer. Po włożeniu w płytę główną 4 GB pamięci (dwie kości po 2 GB) system stwierdził, że ma do dyspozycji tylko ok. 2,8 GB pamięci! I to każdy system - różne wersje Linuksa, Windows XP i Vista. Szperanie w Internecie doprowadziło nas po pierwsze - do stwierdzenia, że problem jest powszechny, różni się tylko ilość pamięci widziana przez system (czasami jest to 3 GB, czasami 3,2 GB itd.), zaś w dalszej kolejności - do dokumentu, z którego wynika, że z 4-gigabajtowej przestrzeni adresowej, jaką jest w stanie obsłużyć system operacyjny przy 32-bitowym adresowaniu, płyta główna potrafi "zabrać" sobie - zależnie od typu - od 500 MB do nawet 1,25 GB przestrzeni adresowej, w której odwzorowuje pamięć i układy wejścia-wyjścia urządzeń peryferyjnych, takich jak karty graficzne, sieciowe itp. W szczególności na stronie 8 wspomnianego dokumentu zobaczyć można wspaniałą tabelkę, pokazującą, że niezależnie od tego, czy do naszego komputera włożymy 4, czy 3 GB pamięci, i tak dla systemu nie będzie dostępne więcej niż 2,84 GB...
Dawno temu miałem komputer Commodore Plus/4. Jego ośmiobitowy procesor miał przestrzeń adresową 64 KB, w której producenci potrafili zmieścić 64 KB RAM i drugie 64 KB ROM - w tej drugiej pamięci znajdowała się namiastka systemu operacyjnego, coś w rodzaju BIOS-u i pakiet programów biurowych (!), a pierwsza - wyjąwszy 4 KB pamięci ekranu - była całkowicie dostępna dla systemu i aplikacji. Potem były komputery PC/XT, które z 1-megabajtowej przestrzeni adresowej "zabierały" 384 KB na potrzeby urządzeń zewnętrznych i BIOS; pamięci RAM mogło być maksymalnie 640 KB, o czym lojalnie wszem i wobec informowano. Ale wkładając do komputera kartę tzw. pamięci EMS można było zrobić to samo, co z moim starym Commodore: oprócz 640 KB podstawowego RAM-u dodać nawet do 8 MB tzw. pamięci rozszerzonej - która mieściła się w obrębie tych zarezerwowanych 384 KB!
Sztuczka pozwalająca zrobić coś takiego nazywa się bankowaniem pamięci i wymaga oczywiście od producenta odpowiednio "sprytnego" skonstruowania tak sprzętu, jak i BIOS-u. Więc komu z dzisiejszych producentów chciałoby się w to bawić? Lepiej zrobić "w konia" użytkownika, który zainwestuje w 4 GB pamięci, z czego będzie mógł wykorzystać połowę... A na osłodę bezczelnie stwierdzić - znów cytuję ze wspomnianego wyżej dokumentu: "Future generations of Intel chipset products and commercially available OS will allow more flexibility for system designers to use memory resources more efficiently."
Póki co, jeżeli ktokolwiek zamierza wkładać do komputera PC więcej niż 2 GB pamięci, niech lepiej da sobie spokój, bo szkoda wyrzucać pieniądze na coś, czego i tak się nie da użyć. No ostatecznie można spróbować 3 GB - niektóre płyty to wykorzystują - ale nie więcej.
Tylko dlaczego producenci tak sprzętu, jak i systemów operacyjnych bezczelnie twierdzą w specyfikacjach, że ich produkty obsługują 4 GB RAM?