Você está na página 1de 5

n interiorul fiecrui sistem de operare bate inima unui procesor.

Win95 este scris pentru familia de procesoare IA32 (Intel Architecture 32 bits). Deoarece WinNT este un sistem de operare pentru servere, el funcioneaz att pe maini Intel, ct i pe MIPS, Alpha, R400, PowerPC, etc. Pentru aplicaii DOS, WinNT conine un emulator pentru lucrul pe 16 bii. Deoarece Win95 a fost gndit pentru pstrarea compatibilitii 100% cu aplicaiile Win3.1 i DOS, el i-a luat adio de la orice fel de portabilitate. 8086 - procesorul iniial pentru DOS, lucreaz numai n modul real 80286 - introduce lucrul protejat i mediul multitasking 80386 - principalul procesor ce ofer suport pentru Win95. Din punct de vedere al sistemului de operare, 386, 486 i Pentium pot fi considerate ca identice, diferenele dintre ele constnd n sporirea vitezei de lucru prin diferite metode i artificii. Intel 80286: (16 MB RAM maxim adresabili) - mod de adresare real i protejat, cu posibilitatea de comutare de task-uri a fost neinspirat deoarece la trecerea din modul real n cel protejat, computerul trebuia reboot-at. Modul protejat pune la dispoziia sistemului de operare multitasking-ul. n modul protejat, registrul de segmente este folosit pentru accesarea unei zone de memorie denumit descriptor de 8 bytes lungime. n fiecare descriptor se gsete informaia care duce la construirea adresei fizice. Registrul de segment cu un selector pe 13 bii 1 2 3 4 0

Deplasare 1 2 3 4 0

6 5 4 3 1 2 3 4 5 6 2 1 1 2 3 4 5 6 Adresa fizic

(nsumare) Descriptorul conine n rest informaii legate de solicitrile de protecie a memoriei. Sistemul de operare seteaz toi descriptorii unui program ntr-o zon contigu de memorie care constituie tabela Local Descriptor Table. Sistemul de operare seteaz de asemenea i tabela Global Descriptor Table pentru a-i aloca lui nsui memorie i pentru a permite unor programe accesarea unei aceleiai zone de memorie. LDTR Local Descriptor Table Register GDTR Global Descriptor Table Register Conin baza tabelelor pentru programul care tocmai se execut. Dac sistemul de operare comut un task, el va rescrie registrul LDTR. n general, GDTR rmne neschimbat. Cele dou registre nu pot fi setate dect de sistemul de operare prin intermediul unor instruciuni privilegiate. Dou aspecte ale modului protejat:

- introduce noiunea de protecie a memoriei, iar sistemul de operare poate fixa un mediu de lucru n care mai multe programe pot rula concurent n zone de memorie separate proprii. - arhitectura d posibilitatea accesului indirect la memorie prin intermediul LDT i GDT, permind sistemului de operare s utilizeze orice zon din RAM ca un segment. Segmentele unui program nu este necesar s fie contigue, ci pot fi chiar i de dimensiuni diferite. Dac un program dorete, el poate accesa toat memoria descris de LDT-ul propriu. Programul nu tie i nu trebuie s poarte grija locului exact din memoria fizic n care se afl segmentele. Intel 80386: (4 GB RAM maxim adresabili) Se dezvolt din 286 pe dou ci distincte: - intern, totul crete de la 16 la 32 de bii (rezult 232 = 4 GB RAM accesibili). 80386 poate rula n mod virtual 8086, 286 Protejat i pe 32 de bii - mbuntete schema proteciei memoriei astfel nct aceasta s poat fi privit linear i se pot crea sisteme de operare cu o schem complet de memorie virtual paginat. Din aceast cauz, tabela descriptorilor pe 32 de bii trebuie s treac prin nc un nivel de interpretare nainte de utilizarea ei ca adres actual de memorie. Descriptorul A adresa de baz biii 0-15 limita biii 0-15 Acest tip de adresare este utilizat n modul virtual 8086. n modul protejat 286 i n adresarea pe 32 de bii este ignorat.

Descriptorul B adresa G B/D B/D 0 0 limita P DPL DPL S TYPE TYPE TY de 16-19 baz 24-31 Pentru modul 286 protejat se folosesc descriptorii A i adresele de baz 16-23 de la descriptorul B. Pentru modul de adresare pe 32 de bii se folosete descriptorul A, precum i adresele de baz din descriptorul B G granularitatea Limita de adresare este de 1 MB, astfel nct granularitatea definete: G = 0 adresare de maxim 1 MB, G = 1 adresare a 1 GPagin = 1.000.000 4 KB = 4 GB B/D determin dac segmentul este de date sau de cod, precum i caracteristica de dimensiune a segmentului D = 0 cod 286 D = 1 cod 386 B = 0 segment < 64KB B = 1 segment > 64KB P present, arat dac segmentul este prezent n memoria fizic sau pe disc: P = 0 segmentul nu se afl n memorie; se genereaz o ntrerupere n urma creia segmentul va fi adus de pe disc P = 1 segmentul se afl n RAM DPL Descriptor Priviledge Level determin nivelul de privilegiu al programului

Acest descriptor este folosit mai trziu de sistemul de operare pentru sistemul de protecie. Windows nu folosete dect dou din aceste nivele: nivelul 0 (pentru sistemul de operare) i nivelul 3 (pentru programele de aplicaii). Programele de Ring3 nu au privilegiul de a executa instruciuni de Ring0 (nu se pot porni / referi / opri ntreruperi). S segment S = 0 este vorba de altceva n afar de un segment de memorie (Ex.: o structur caracteristic unei ntreruperi) S = 1 este vorba de un segment de memorie TYPE o construcie de trei bii ce ofer opt situaii posibile. Acest cmp spune sistemului de informaie ce tip de informaie este referit, n scopul implementrii mecanismelor de protecie. read-only read-write system A access indic faptul c segmentul respectiv a fost cel puin odat referit. Orice referire a segmentului face ca bitul s fie setat. Managerul de memorie utilizeaz bitul A pentru schema de memorie virtual. Un segment care nu este niciodat accesat e un bun candidat pentru evacuarea pe disc.

Você também pode gostar