Lista pecet@man.lodz.pl
[Lista archiwów] [Inne Listy]

Re: [PECET] Zarezerwowana pamięć RAM

To: pecet@man.lodz.pl
Subject: Re: [PECET] Zarezerwowana pamięć RAM
From: Robert Winkler <noone@nowhere.org>
Date: Wed, 2 Sep 2015 21:57:35 +0200
poniżej granicy 4 GiB musi się zmieścić pamięć karty graficznej,
pamięć flash biosu i wszystkie możliwe bufory
wszystkich urządzeń komunikacyjnych.

Że niby pozostałe urządzenia mają 2.1 GB pamięci razem?

Nie jest powiedziane że urządzenia muszą posiadać aż tyle pamięci.
Przyjmijmy że kontroler pamięci może poniżej 4 GiB
potrafi przydzielić stworzyć tylko dla bloki dla pamięci RAM.
Pierwszy zawsze obejmuje pamięć miedzy adresem 0 z 640 kB
Drugi blok zawsze znajduje się między 1 MiB z 3 GB.
Niech teraz się zdarzy, że któreś z urządzeń zażąda dla siebie
adresu zaczynającego się o 2 GiB
Kontroler pamięci nie będzie wiec mógł umieścić RAM-u
między adresami 1 MB a 3 GiB
ale będzie miał dla siebie tylko przestrzeń między 1MiB a 2 GiB
a z przestrzeni adresowej między 2 GiB a 4 GiB
tylko niewielka cześć będzie używana faktycznie przez urządzenia.


Jeśli pozostanie jakieś wolne miejsce to tam może trafić pamięć RAM.

Czyli z tych 4 GB faktycznie ponad 1 GB pozostaje nieużywany, bo
przestrzeń adresowa pozostałej pamięci znajdującej się w innych
urządzeniach w kompie zabrała możliwość jej użycia?
A karta grafiki bierze sobie chociaż swoją część ram z tej nieużywanej
części, czy jeszcze dodatkowo zabiera pamięć z systemu?

Jeśli chodzi o pamięć karty graficznej
to zależy jaki procesor jest w komputerze
i czy, oraz jaka karta graficzna jest na pokładzie.
Nowe procesory Intela mają wbudowaną grafikę Intel HD
ale nie ma ona własnej pamięci,
więc rezerwuje dla siebie cześć RAM-u poniżej 4 GiB
odbierając go systemowi.
Jeśli w komputerze jest jeszcze karta graficzna
to ona też musi gdzieś umieścić przynajmniej cześć swojego RAM-u.


Jeśli z 4 GiB RAMu cześć nie zmieściła się poniżej granicy 4GiB
to 32-bitowy system Windows nigdy jej nie zobaczy.

Nie ma żadnego manewru?
Czy w przypadku gdyby Win 32 był maszyną wirtualną, działającą na hoście
z Win64,  to dostałby więcej pamięci?

W przypadku 32-bitowej wersji systemu Windows nie ma.
32-bitowy Linux dał by sobie rade z dodatkową pamięcią.
Dla 64-bitowych systemów, skoro nie dotyczy ich limit 4GiB,
nie stanowi to żadnego problemy.
Dlatego mamy teraz epokę systemów 64-bitowych.
Zdecydowana większość programów 32-bitowych
działa bez problemu w systemie 64-bitowym
dzięki mechanizmowi WOW64 znajdującemu się w systemie Windows.
Problem stanowią tylko naprawdę stare, 16-bitowe programy.

Jeśli chodzi o wykorzystanie maszyny wirtualnej.
Zainstalowałem na maszynie wirtualnej Virtual Box 5.0
32-bitową wersje Windows 10 Professional
Maszynie wirtualnej przydzieliłem 4 GiB RAM-u
z czego system widzi 3.5 GiB a reszta jest niedostępna.

--
Robert

<Pop. w Wątku] Aktualny Wątek [Nast. w Wątku>