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

Autor: Andrzej Karpinski (KARPIO_at_elza.xyz.lublin.pl)
Data: Wed 29 Jan 1997 - 12:27:16 MET


> > w 1986 roku te ograniczenia zniknely - odkad istnieje mmu mozna bez
> > problemu ksztaltowac mape pamieci w sposob absolutnie dowolny.

> 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 - albo piszesz program pod
dosem, wykorzystujac dowolne mozliwosci procesora (czyli de facto
twoj program jest SYSTEMEM OPERACYJNYM) czyli mozesz sobie dowolnie
ksztaltowac mape pamieci (!), albo korzystasz z gotowych rozwiazan
(XMS, EMS - pamiec ponad 1MB, DPMI - przelaczanie trybow, pamiec
wirtualna, VCPI - obsluga przerwan w trybie protected, 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). 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.

> 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



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