🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.os.ms-windows.win3
Article #5606

Re: tryb rzeczywisty

#5606
From: Konrad Stepien
Date: Fri, 09 Jun 2006 17:49
111 lines
6321 bytes
Sep <sepu@USUNTOgazeta.pl> napisał(a):
> a skoro już o pamięci:
> w Internecie jest pełno błędów np. "pamięć rozszerzona to ta powyżej 640 kb"
> Wydaje mi się, że (proszę o nanoszenie poprawek):
> 
> -procesory 16-bitowe mogły obsłużyć tylko 20 lini adresowych w których 
> mieścił się obszar 1mb pamięci RAM. Z tego powodu całą pamięć powyżej 1mb 
> nazywa się pamięcią rozszerzoną

Nieprawda. To dotyczy procesorów 8086/88. 80286 też jest 16-bitowy a adresuje
znacznie więcej. Że o innych prockach 16-bitowych (np. motorola 68000) nie
wspomnę.

> -wszystkie procesory 32- i 64- bitowe potrafią przejść w tryb procka 
> 16-bitowego i dlatego można na nich korzystać z pracującego w trybie 
> rzeczywistym DOS-u
> 
Wszystkie z rodziny i386. Bo taki Itanium już nie. O nieintelowskich
nie wspomnę. Poza tym nie w trym 16-bit a w tryb 8086. Bo taki 286
może pracować w swoim natywnym trybie (innym niż 386 i wyższe), albo
w "trybie rzeczywistym (real mode)" czyli jako 8086.

> -pamięć do 640 kb to tzw. pamięć podstawowa (konwencjonalna)

Tak, ale to już kwestja organizacji pamięci PC a nie procesora jako takiego.

> -pamięc między 640 kb a 1mb to pamięć górna (upper)
> ładowane są do niej ROM-y urządzeń takich jak karty graficzne w celu 
> przyspieszenia pracy (dziś

Te romy są tam nie tyle ładowane, co mapowane na ten zakres adresów.
O "ładowaniu" można mówić w wypadku "shadow BIOS". Ale to tylko trik
polegający na przepisaniu ROM-u do RAM-u, właśnie w celu przyspieszenia.
W każdym razie, shadow nie jest obowiazkowy.

> nie przynosi to już tak dużego wzrostu wydajności)

Bo dziś żaden system nie korzysta z BIOS-u w czasie normalnej pracy.
BIOS jest potrzebny w zasadzie tylko w czesie startu systemu.

> część z tej pamięci (nie wykorzystywana przez ROM-y)
> może zostać przekstałcona w bloki UMB (upper memory blocks) do których można 
> ładować sterowniki

W zasadzie racja, ale obszar pamięci górnej to nie tylko ROM-y. Ta pamięć
jest głównie wykorzystywana jako pamięć peryferiów, np. pamięć katy graficznej.
Niektóre płyty 286 i wczesne 386 miały mozliwość przemapowania pamięci RAM
z tego zakresu na obszar powyżej 1MB. Szczególnie uzyteczne w maszynach
z jednym megiem RAM. Wedy oczywiście nie można było korzystać z shadow BIOS.

> w celu zaoszczędzenia pamięci podstawowej
> za pomocą poleceń loadhigh i devicehigh.
> wyłączenie opcji Shadow Ram w BIOS-ie zwiększa
> ilość pamięci którą można przekstałcić w UMB

Nie. Ten obszar jest i tak zajęty. Wyjątkiem jest to przemapowanie
o którym pisałem, ale ono i tak nie wpływa na UMB.

> -pierwszy obszar 64kb powyżej 1mb to pamięć wysoka HMA (high memory area)
> -pamięć rozszerzoną (extended) można przekstałcić w pamięć stronicowaną 
> (expanded) zgodną ze specyfikacją Lotus-Intel-Microsoft  EMS 3.2 lub 4.0 
> (czym się różnią te dwie wersje?) a odbywa się to w następujący sposób: w 
> pamięci górnej tworzony jest blok 64kb podzielony na 4 strony po 16 kb, 
> które mogą "jeździć" po całej pamięci rozszerzonej.
> -pamięć stronicowana (EMS) jest wolniejsza od tej w standardzie XMS

Czy ja wiem. W sumie nie powinna. Myślę, że te opinie pochodzą z czasu
gdy stosowane były karty pamięci EMS, bo maszyny klasy XT inaczaj nie potrafiły.

> -aby stworzyć bloki UMB trzeba załadować sterownik emm386.sys (jeżeli nie 
> chce się tworzyć pamięci EMS to z poleceniem noems); FreeDOS posiada 
> odzdzielny sterownik tworzący bloki UMB - umb.sys
> -sporo programów pracuje znacznie wolniej po załadowaniu emm386.sys
> nawet z poleceniem noems - dlaczego?

Nie zauważyłem. Inna sprawa, że emm386 zajmuje pamieć podstawową, i jeśli
program nie potrafi korzystać z pamięci rozszerzonej, to emm386 będzie
mu tylko przeszkadzał.

> -gdy windows 9.x w plikach config.sys lub autoexec.bat
> odnajdzie sterownik 16-bitowy którego nie potrafi zastąpić odpowiednikiem 
> 32-bitowym to
> przełącza się w "tryb zgodności z trybem Ms-DOS"
> jak on działa??

Nie znam się za dobrze na win9x, ale po mojemu to działa na takiej samej
zasadzie jak odwołania do BIOS-u (BIOS jest 16-bitowy).

> -czy to prawda, że windows 95 bez załadowania himem.sys nie potrafi zobaczyć 
> całej pamięci?

Nie, może zupełnie pierwsze wersje bez service-pack.
Za to ZTCP to win3.x nie widziały powyżej 16MB jeśli się nie założyło EMS-a

> -wymienione podziały pamięci (podstawowa, górna ....) nie są podziałami 
> fizycznymi, a jedynie programowymi

Programowe podziały to ograniczenie base memory do 640kb.
Podział na 1MB i okienko 64KB (minus 16 bajtów) obszaru HMA są jak najbardziej
fizyczne i wynikają z ilości nóżek które ma procesor 8086.

> -systemy 32-bitowe widzą pamięć jako jedną całość bez żadnych podziałów 
> 
W zasadzie tak. Ale obszar pomiędzy 640kb a 1MB i tak jest niedostępny,
bo tam siedzą BIOS-y i pamięć peryferiów. Poza tym standardowy kontroler DMA
widzi tylko pierwsze 16MB, i trzeba o tym pamietać programując np. kartę
muzyczną.

-- 
WARNING: my e-mail is encrypted by ROT13
Xbaenq Fgrcvra <xbaenq@vagreqngn.arg.cy>
Technical Details
Message-ID: <slrn.pl.e8jd5l.qmk.xbaenq@sekator.interdata.net.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!sekator.interdata.net.pl!xbaenq
References: <e66e5d$nj9$1@atlantis.news.tpi.pl> <slrn.pl.e8g11c.4po.xbaenq@sekator.interdata.net.pl> <e6c847$84r$1@atlantis.news.tpi.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!sekator.interdata.net.pl!xbaenq
From: Konrad Stepien <xbaenq@vagreqngn.arg.cy>
Newsgroups: pl.comp.os.ms-windows.win3
Subject: Re: tryb rzeczywisty
Date: Fri, 9 Jun 2006 17:49:41 +0000 (UTC)
Organization: Hard Core Slrn-pl User
Lines: 111
Message-ID: <slrn.pl.e8jd5l.qmk.xbaenq@sekator.interdata.net.pl>
References: <e66e5d$nj9$1@atlantis.news.tpi.pl> <slrn.pl.e8g11c.4po.xbaenq@sekator.interdata.net.pl> <e6c847$84r$1@atlantis.news.tpi.pl>
NNTP-Posting-Host: sekator.interdata.net.pl
Mime-Version: 1.0
X-Trace: sekator.interdata.net.pl 1149875381 27350 212.244.121.10 (9 Jun 2006 17:49:41 GMT)
X-Complaints-To: news@interdata.net.pl
NNTP-Posting-Date: Fri, 9 Jun 2006 17:49:41 +0000 (UTC)
X-Licznik: 3792
User-Agent: slrn/0.9.7.0 (pl-1.1.1) (Linux/2.4.32-ow1 (i686))
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit