[so] Intrebari pt. tema 5
Catalin Alexandru
so@cursuri.cs.pub.ro
Sun, 9 Jan 2005 16:23:41 +0200
This is a multi-part message in MIME format.
------=_NextPart_000_003D_01C4F667.9FBDFFB0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Buna ziua
Am si eu cateva intrebari legate de tema 5:
1) Este necesar ca functia vinit sa poata sa fie apelata de mai multe ori
din acelasi program (pentru a aloca mai multe memorii virtuale cu dimensiuni
/ algoritmi de evauare diferiti)? Ar complica destul de mult lucrurile...
2) Algoritmul LRU aging prezentat de Tanenbaum pare sa aiba o scapare pe
care nu sunt sigur cum sa o tratez. In momentul cand incarc o pagina din
swap in memoria fizica presupun ca initializez contorul la 0 (sau ajunge la
zero in timp - nu e esential). Presupunem ca aceasta pagina a fost accesata
in intervalul de tick curent, deci R = 1. Bitul R va fi adaugat la contor
abia dupa urmatorul tick. Daca toate celelalte pagini din memoria fizica au
contoarele diferite de 0, pagina care va fi evacuata conform algoritmului va
fi chiar ultima incarcata (care inca mai are contorul 0). Dupa parerea mea,
atunci cand trebuie aleasa pagina cu contorul minim ar trebui luat in
considerare si bit-ul R curent. E bine asa? Sau trebuie respectat exact alg.
lui Tanenbaum?
3) In cadrul algoritmului WSClock este mentionat ca in cazul in care este
intalnita o pagina care nu apartine la Working Set, dar nu este curata (a
fost scris in ea, M == 1), nu este inlocuita, dar este "programata" sa fie
scrisa in swap. Trebuie sa simulam si acest aspect? Si daca da, cum?
Multumesc
Catalin Alexandru
------=_NextPart_000_003D_01C4F667.9FBDFFB0
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
X-WrongBodyEncoding: 1
X-NoCharsWrongEncoded: 21
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dus-ascii">
<META content=3D"MSHTML 6.00.3790.0" name=3DGENERATOR></HEAD>
<BODY>
<DIV><SPAN class=3D612451214-09012005><FONT face=3DArial size=3D2>Buna=20
ziua</FONT></SPAN></DIV>
<DIV><SPAN class=3D612451214-09012005><FONT face=3DArial=20
size=3D2></FONT></SPAN> </DIV>
<DIV><SPAN class=3D612451214-09012005><FONT face=3DArial size=3D2>Am si =
eu cateva=20
intrebari legate de tema 5:</FONT></SPAN></DIV>
<DIV><SPAN class=3D612451214-09012005><FONT face=3DArial=20
size=3D2></FONT></SPAN> </DIV>
<DIV><SPAN class=3D612451214-09012005><FONT face=3DArial size=3D2>1) =
Este necesar ca=20
functia vinit sa poata sa fie apelata de mai multe ori din acelasi =
program=20
(pentru a aloca mai multe memorii virtuale cu dimensiuni / algoritmi de =
evauare=20
diferiti)? Ar complica destul de mult lucrurile...</FONT></SPAN></DIV>
<DIV><SPAN class=3D612451214-09012005><FONT face=3DArial=20
size=3D2></FONT></SPAN> </DIV>
<DIV><SPAN class=3D612451214-09012005><FONT face=3DArial size=3D2>2) =
Algoritmul LRU=20
aging prezentat de Tanenbaum pare sa aiba o scapare pe =
care nu=20
sunt sigur cum sa o tratez. In momentul cand incarc o pagina din swap in =
memoria=20
fizica presupun ca initializez contorul la 0 (sau ajunge la zero in timp =
- nu e=20
esential). Presupunem ca aceasta pagina a fost accesata in intervalul de =
tick=20
curent, deci R =3D 1. Bitul R va fi adaugat la contor abia dupa =
urmatorul=20
tick. Daca toate celelalte pagini din memoria fizica au contoarele =
diferite de=20
0, pagina care va fi evacuata conform algoritmului va fi chiar ultima =
incarcata=20
(care inca mai are contorul 0). Dupa parerea mea, atunci cand =
trebuie=20
aleasa pagina cu contorul minim ar trebui luat in considerare si bit-ul =
R=20
curent. E bine asa? Sau trebuie respectat exact alg. lui=20
Tanenbaum?</FONT></SPAN></DIV>
<DIV><SPAN class=3D612451214-09012005><FONT face=3DArial=20
size=3D2></FONT></SPAN> </DIV>
<DIV><SPAN class=3D612451214-09012005><FONT face=3DArial size=3D2>3) In =
cadrul=20
algoritmului WSClock este mentionat ca in cazul in care este intalnita o =
pagina=20
care nu apartine la Working Set, dar nu este curata (a fost scris in ea, =
M =3D=3D=20
1), nu este inlocuita, dar este "programata" sa fie scrisa in swap. =
Trebuie sa=20
simulam si acest aspect? Si daca da, cum?</FONT></SPAN></DIV>
<DIV><SPAN class=3D612451214-09012005></SPAN><SPAN =
class=3D612451214-09012005><FONT=20
face=3DArial size=3D2></FONT></SPAN> </DIV>
<DIV><SPAN class=3D612451214-09012005><FONT face=3DArial=20
size=3D2>Multumesc</FONT></SPAN></DIV>
<DIV><SPAN class=3D612451214-09012005><FONT face=3DArial=20
size=3D2></FONT></SPAN> </DIV>
<DIV><SPAN class=3D612451214-09012005><FONT face=3DArial =
size=3D2>Catalin=20
Alexandru</FONT></SPAN></DIV></BODY></HTML>
------=_NextPart_000_003D_01C4F667.9FBDFFB0--