Asa cum am mai aratat Windows '95/'98 si Windows NT pot fi considerate sisteme
de operare in timp ce Windows 3.1 sau Windows 3.11 sunt doar interfete grafice
de exploatare ce datoreaza foarte mult sistemului de operare DOS. Cele doua
versiuni nu realizeaza un multitasking adevarat deoarece procesorul nu poate
sa aloce singur timp de calcul programelor ce lucreaza aparent paralel. In functionarea
sistemului Windows trebuie avuta in vedere corelatia a trei componente: Kernel,
User, GDI. j5r16rm
KERNEL este nucleul mediului Windows. Rolul lui este de a rezolva toate sarcinile
elementare ale unui sistem de operare: incarca programele si realizeaza administrarea
memoriei, regleaza impartirea timpului de calcul intre aplicatii, controleaza
task-urile distincte. Programele KRNL386.EXE si KERNEL32.DLL constituie nucleul
sistemului de operare, oferind suportul pentru functiile la nivelul jos de care
are nevoie o aplicatie pentru a rula.
Kernel nu este responsabil cu functiile de intrare/iesire si de interfata cu
utilizatorul, proprii unui sistem de operare. Denumirea de nucleu al sistemului
de operare provine din faptul ca el interactioneaza numai cu Windows.
USER prin componentele sale USER.EXE si USER32.DLL nu se refera la utilizator,
ci la comanda tuturor ferestrelor si administrarea acestora: continutul de informatie
al ferestrei, structura de baza a lor, toate informatiile din meniuri si submeniuri.
In afara ferestrelor modulul USER se ingrijeste si de alte elemente cum sunt
casetele de dialog sau structurile de control apelabile prin butoane sau combinatii
de taste. In acelasi timp, USER se ocupa cu incarcarea driverelor, perifericelor,
supravegherea comunicatiei intre task-urile distincte, a ferestrelor, a iconurilor
si aplicatiilor; realizeaza comanda cursorului si iconurilor. In cele din urma
acesta gestioneaza intr-o oarecare masura resursele aplicatiilor: iconuri, meniuri,
cimpuri de dialog pe care Windows le retine in memoria RAM.
GDI (graphic device interface) prin GDI.EXE si GDI32.DLL asigura toate afisarile
pe ecran, imprimanta sau orice alt periferic contribuind la realizarea unei
legaturi intre Windows si mediul exterior. Se administreaza procesul grafic
la modul general, independent de dispozituvul folosit pentru afisare.
Atit pentru modulul USER, cit si pentru cel GDI, exista resurse de memorii speciale;
daca ele sunt depasite atunci sistemul se poate bloca.
Mecanisme de gestionare a memoriei
Sub sistemul de operare DOS, fiecare program avea incorporat in fisierul executabil
coduri pentru functiile de baza. Acest principiu functiona perfect, deoarece
sub DOS intotdeauna rula un singur program care stapinea in exclusivitate memoria.
Sub Windows mai multe programe trebuie sa-si partajeze memoria disponibila,
deoarece sistemul este cunoscut ca fiind un mare consumator de memorie RAM.
Daca proiectantii de aplicatii ar fi incorporat fiecarui program codurile de
baza pentru administrarea memoriei, a ferestrelor, afisarea caracterilor, imprimarea
etc. memoria de lucru nu ar fi suficienta pentru incarcarea aplicatiilor.
Sub Windows exista patru principii de gestionare a memoriei interne, in sensul
economisirii ei:
- principiul DLL
- principiul segmentelor de cod retrase
- principiul replicarii instantelor active
- principiul memorarii virtuale
Principiul DLL
Principiul DLL reprezinta o facilitate de gestionare a memoriei prin care se
pot introduce toate functiile de baza, care sunt necesare tuturor programelor in
module care contin seturi de functii utilizate in comun de catre aplicatii.
Principiul DLL consta in faptul ca un program care se afla in executie "stie"
dinainte ce functie trebuie sa foloseasca pentru a executa o anumita prelucrare si comunica
astfel inca de la lansare ce DLL trebuie sa utilizeze. Daca Windows gaseste
DLL-ul cautat, il incarca si-l executa, dupa care, la terminare reda controlul
programului apelant.
Avantajul incontestabil pe care il dau fisierele DLL este economiserea memoriei
necesare aplicatiilor care prin punerea in comun a functiilor de baza, ocupa
mai putina memorie. Un fisier DLL se introduce o singura data in memorie indiferent
cite programe ii acceseaza functiile. Toate facilitatile noi proprii aplicatiilor
(OLE, multimedia) sunt introduse prin fisiere tip biblioteca de functii: DLL.