Re: Dzieki intel? [Re: Dzi ki, IBM (Bylo: Re: Dzi ki, Gates)]

Autor: Jarek Lis (lis_at_ict.pwr.wroc.pl)
Data: Wed 29 Jan 1997 - 17:02:03 MET


In pl.comp.pecet Gregorio Kus <Grego_at_RMnet.it> wrote:
: On Tue, 28 Jan 1997 14:01:34 +0100 (CET), Jarek Lis wrote:
: >A nie [cala] prawda :-). Procesor 286 w zasadzie pod DOS nie mogl
: >zaadresowac wiecej niz 1.064 MB pamieci.

: mogl jak najbardziej. Tryb protected byl juz w 286
: i juz w momencie wypuszczenia 286 mozna bylo napisac calkiem
: niezly system operacyjny. Z ochrona pamieci, pamiecia virtualna,
: multitaskingiem preemptywnym itd.

No, z ta pamiecia wirtualna to niezbyt, bo swapingowi musialy podlegac
cale segmenty, ale najwazniejsza wada, ze tryb protected 286 jest
niekompatybilny z DOSowy programi. A tych programow juz bylo troche.

: >Tylko MS odkryl drobny blad w procesorkach 286, ktory powoduje ze
: >i wiecej jest pod DOS dostepne.

: to tylko 64kB (minus 16B). W dodatku to nawet nie byl blad.

Ty o A20, a ja o popall. Caly RAM do dyspozycji pod DOS, do najblizszego
przerwania niestety...

: tez jest blad. Pownno byc: "wiecej niz 1MB", bo wlasnie po wyzyskaniu
: A20 (czyli wlasciwie dwudziestej pierwszej linii adresowej) uzyskiwalo
: sie +64k-16. Z Twojej wypowiedzi mozna wywnioskowac ze pod DOSem
: (czystym) programy moga uzyskac wiecej niz 1.064M, a to nie prawda.

Dla wyjasnienia - z rejestrami segmentowymi ?S sa w 286 skojarzone
znacznie szersze rejestry, ktore przechowuja liniowy adres pamieci
i dlugosc segmentu. W trybie protected rozkaz zmieniajacy rejestr segmentowy
laduje te dane z deskryptora segmentu, a w trybie rzeczywistym
jako dlugosc wpisywane jest FFFF, a jako adres wartosc<<4.

Te rejestry sa niedostepne dla programisty, z malym wyjatkiem - rozkaz
popall odtwarza z pamieci caly stan procesora, lacznie z tymi
ukrytymi rejestrami.

Mozliwe jest wiec w trybie rzeczywistym przygotowanie takiego
obszaru pamieci, wykonanie instrukcji popall, po ktorej np EX bedzie
zawieral 5000, a skojarzone z nim rejestry beda opisywac segment
(234BE0,ffff). No i mov AX,ES:44 siegnie gdzie nalezy.
Tylko warunek - zadnych prob zmian rejestru ES, nawet push ES, pop ES,
zniszczy piekny efekt, wiec i przerwania trzeba wylaczyc.

MS wykorzystal to w himem.sys, i wymogl identyczne dzialanie 386....

J.



To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 15:53:23 MET DST