Robert Winkler
5/8/2007 5:25:00 AM
>> Najwa?niejszy jest jednak jego 5 bajt,
>> bit nr.3 informuje procesor czy dany blok to segment kodu, czy te? danych,
>> natomiast bit nr.1 okre?la czy dany segment jest tylko do odczytu
>> czy te? mo?e bya modyfikowny przez aplikacje (programu dzia3ajace w RING 1, 2 i 3)
>> Pozosta3e bity s3u?a do zarz?dzania pamiecia wirtualn?,
>> okre?laj? czy nast?pi3o kiedykolwiek odwo3ania do danego segmentu pamieci operacyjnej
>> oraz okre?laja na jakim poziomie uprawnien musi dzia3aa dany w?tek
>> aby uzyskaa dotep do danego bloku pamieci (RING 0-kernal, 3-user code)
>> s? one jednak nieistotne dla tej dyskusji.
>
>
> a czy który? z tych bitów, w3a?ciwy dla user mode, wkazywa3 czy procesor mo?e pobieraa instrukcje z danego bloku pamieci ? Bo
> chyba nie, bit 3 o ile mgli?cie pamietam nie zabrania ustawienia IP na adres z danego bloku. Ale je?eli wiesz lepiej to mnie
> o?wiea, dawno nie progamowa3em w asm :)
Funkcje te dzia3aj? i skutecznie zabezpieczaj? komputer przed prób?
wykonywania danych albo modyfikacji kodu.
Wina za to ?e nie zosta3y one wykorzystane le?y po stronie
twórców systemów operacyjnych.
Firma DEC tworz?c swój system celowa3a w mo?liwo?ci sprzetowe
procesorów ALPHA 21064 oferujego inny model zarz?dzania pamieci?
i nie dysponuj?cym takimi zabezpieczeniami, a ?e sta3 sie on
podstaw? j?dra systemu Windows NT, trudno.
Podobnie by3o z systemem Linux, jego twórca tak?e nie wykorzysta3
mechanizmu stronicowania wraz z jego zabezpieczeniami
tylko tryb p3askiej pamieci upraszaj?cy mechanizmy zarz?dzania ni?.
Mo?na nazwaa to "lenistwem studenta", albo "celowaniem w szerszy
profil sprzetowy, nie ograniczony tylko do linii procesorów i386".
Nie wiem czy dobrze kojarze, ale dzis chyba tylko system OpenBSD
stosuje zarz?dzanie pamieci? z wykorzystaniem segmentacji
a zabezpieczenia te zosta3y do niego wprowadzone dopiero od wersji 3.4
--
____________
Robert Winkler