Re: Dzi ki, IBM (Bylo: Re: Dzi ki, Gates)

Autor: Grzegorz Szyszlo (znik_at_avalon.wbc.lublin.pl)
Data: Wed 29 Jan 1997 - 13:21:35 MET


KARPIO_at_elza.xyz.lublin.pl (Andrzej Karpinski) wrote:

>> to tez nie prawda. nawet dokladnie odwrotnie (z punktu widzenia
>> programow). otoz: programy nie maja ZADNEGO wplywu na to w ktorym
>> miejscu (tzn. pod jakim adresem) pamieci fizycznej znajdzie sie
>> zadany przez nie blok pamieci. Co wiecej - ten blok moze sie znajdowac
>> w coraz to roznych miejscach pamieci fizycznej lub na dysku, i program
>> (normalny) nie ma prawa sie nawet o tym dowiedziec.
>> czyli: mapy pamieci wogole nie mozna ksztaltowac.

>oczywiscie bzdura. masz dwie mozliwosci -

oczywiscie bzdura....

>albo piszesz program pod
>dosem, wykorzystujac dowolne mozliwosci procesora (czyli de facto
>twoj program jest SYSTEMEM OPERACYJNYM)

>czyli mozesz sobie dowolnie ksztaltowac mape pamieci (!),

tak to sie pisalo samobootujace gry na amige 500 (nie wiem czy wyzsze) :))))

>albo korzystasz z gotowych rozwiazan
>(XMS, EMS - pamiec ponad 1MB, DPMI - przelaczanie trybow, pamiec
>wirtualna, VCPI - obsluga przerwan w trybie protected,

EMS jest standardem pamieci na boku, nie ma ona nic wspolnego z pamiecia
operacyjna komputera (do montazu w XTkach). wiec trudno tu mowic o
adresowaniu liniowym pamieci procesora, lub tym bardziej o dostepie
do jakichkolwiek pamieci wyzszych. jest to "pamiec na boku" :))
obecnie emulowana w obszarze XMS.

z kolei w XMS tez nie masz zadnego wplywu na to, gdzie sie znajduja
konkretne bloki. po rzadaniu przydzialu obszaru, dostajesz jedynie
pewna liczbe (cos w rodzaju deskryptora), ktora jest identyfikowana
z tym przydzielonym obszarze. poslugujac sie ta liczba mozesz potem
zadac transmisji danych pomiedzy obszarem RAM na dole, a przydzielonym blokiem
w XMS.

>v86, dos-
>extendery - dowolne rzeczy w zaleznosci o pomyslowosci autora takiego
>extendera). aplikacja (ring 3) faktycznie nie ma pojecia o tym w
>ktorym miejscu pracuje - widzi ciagly obszar, ktory sie moze
>znajdowac gdziekolwiek (chociazby na dysku).

to samo masz w DPMI.

>aplikacja/system (ring
>0) pozwala ci na dowolne manipulowanie mapa pamieci i dokladnie to
>mialem na mysli, jako ze w dosie de facto wszystkie programy pracuja
>w ring 0 czyli maja uprawienia systemu operacyjnego.

czy dowolne, tego bym nie powiedzial. co najwyzej mozesz okreslac
tablice deskryptorow, je aktywizowac i dezaktywowac. oreslac wyjatki,
dzieki ktorym mozesz zachowywac zbedne bloki na dysku, a potrzebne
odczytywac w powstale wolne miejsca.

>> 1. w trybie rzeczywistym nie mozna zaadresowac wiecej niz 1M+64k-16
>> 2. segmenty w rozumieniu trybu chronionego sa czyms zupelnie innym
>> niz 64k segmenty (nazwijmy to "fizyczne") w rozumieniu trybu
>> rzeczywistego i virtualnego.
>> 3. jezeli pomiinac blad o trybie rzeczywistym - mozna zaadresowac
>> znacznie wiecej niz caly RAM. i program bedzie dzialal
>
>1. mozna. 2. masz racje, ale nie o tym mowie. 3. nie dotyczy. jutro
>podesle jak zmodyfikowac tablice deskryptorow, by w trybie
>rzeczywistym wielkosc segmenu byla rowna 4gb. zapewniam ze da sie to
>zrobic (niestety pamiec ludzka tez jest ulotna).
>karpio

dac sie da, tylko z czym to bedzie zgodne......

-- 
               oOOo      /===================================\
         /=====\__/=====/  http://avalon.wbc.lublin.pl/~znik |
         | Grzegorz Szyszlo mailto:ZNIK_at_avalon.wbc.lublin.pl |
         \===================================================/
          polecam  http://www.agh.edu.pl/ogonki/   mime.html


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