Putem spune ca dualitatea dintre sistemele DOS si Windows s-a nascut in momentul
in care s-a simtit nevoia utilizarii unei interfete grafice de exploatare tip
GUI pentru programele sistemului de operare DOS. Motivele principale pentru
care Microsoft si-a pus problema inlocuirii sistemului de operare DOS cu o interfata
grafica de exploatare, iar apoi cu un sistem grafic de operare au fost: k6t23ts
- sistemul DOS nu oferea multitasking
- aplicatiile scrise sub DOS nu puteau schimba liber informatii intre ele
- exploatarea sistemului DOS era greoaie, interfata cu utilizatorul fiind la
nivel de comanda (existind reguli precise de sintaxa, multi parametri, puctuatie
adecvata)
- concurenta facuta de Apple - MacIntosh care si-a dotat echipamentele de calcul
cu sisteme de operare performante ce admiteau atit multitasking-ul, cit si exploatarea
interfetei la nivel grafic
Trecerea de la DOS la Windows nu s-a facut brusc si radical, ci a existat o
tranzitie de la un sistem catre celalalt. Astfel utilizatorii de DOS au putut exploata in
continuare prin Windows resursele calculatorului prin vechea interfata DOS cu
care erau familiarizati.
Evolutiv, convergenta sistemelor DOS si Windows a avut trei puncte de incidenta,
facind ca sistemele sa nu functioneze concurent ci prin parteneriat. Astfel
se pot delimita doua momente:
- parteneriatul dintre DOS si Windows, in care rolul sistemului DOS era determinant,
iar Windows era o simpla interfata grafica de exploatare pentru mediul DOS
- parteneriatul Windows - DOS, in care Windows detine toate atuurile unui sistem
de operare, iar DOS-ul este simulat pentru compatibilitatea aplicatiilor scrise
sub el cu aplicatiile scrise sub Windows.
Relatia DOS-Windows
Parteneriatul DOS-Windows poate fi privit in sensul evolutiei sistemului Windows
din doua puncte de vedere si anume: exploatarea aplicatiilor pe 16 biti si 32 de
biti. Sistemul Windows, asa cum am mai aratat era un program de exploatare a
aplicatiilor situat deasupra sistemului DOS. Windows avea aproape toate atributele
unui sistem de operare cu exceptia functiilor de gestiune a fisierelor - pe
de o parte si de gestiune a intrarilor si iesirilor prin citirea/scrierea pe
periferice - pe de alta parte.
Sistemul Windows utiliza toate serviciile de acces la disc pentru citire/scriere,
prin intermediul sistemului DOS. Absolut toate aceste cereri ale lui Windows
treceau prin sistemul BIOS ale sistemului de operare DOS.
Din punctul de vedere al utilizatorului, lucrul cu serviciile DOS inseamna ca
de fiecare data cind Windows trebuie sa aiba acces la disc pentru operatii de
citire/scriere sau pentru gestiunea fisierelor, sistemul de calcul reactiona
mai lent.
Explicarea acestei situatii consta in faptul ca Windows functioneaza in mod
protejat pentru ca multitasking-ul sa fie valabil, in timp ce sistemu DOS functioneaza
in mod real, iar pentru a se realiza schimbul de informatii cu hard-discul este
necesara comutarea bilaterala intre aceste doua moduri de functionare a procesorului
in relatie cu memoria.
De fiecare data cind Windows dorea sa aiba acces la unitatea disc, trebuia sa
lanseze o cerere intr-un format inteligibil catre sistemul DOS pentru a se comuta
operarea din modul protejat in cel real pentru DOS. Inainte de a se comuta operarea
din modul real in cel protejat, Windows verifica daca poate indeplini solicitarea
aplicatiei beneficiare a transferului, cu date existente in memoria extinsa.
Daca informatiile cautate nu erau gasite, Windows lansa cererea de comutare,
trebuind apoi sa astepte pentru ca DOS sa execute operatiunea solicitata. In
tot acest interval toate aplicatiile lucrau simultan erau fireste suspendate
datorita faptului ca procesorul nu putea executa simultan mai multe operatii
in modul de exploatare real, ci doar in mediul protejat.
De fiecare data cind Windows comuta din nou modul protejat in cel real, sistemul
putea deveni instabil, in sensul ca orice aplicatie care ar putea fi dubios
conceputa ar putea bloca procesorul. Blocarea sistemului in acest caz poate
fi explicata prin faptul ca sistemul de operare, in modul real de exploatare
nu alerteaza procesorul daca o aplicatie creeaza o greseala de memorie.
Revenind la cererea de scriere/citire pe disc din partea lui Windows (dupa ce
s-a comutat in mod real), sarcina gasirii informatiei pe disc este lasata in
seama BIOS-ului, care acceseaza controllerul de disc si prin aceasta citeste
sau scrie informatia pe respectivul suport. Informatiile de care avea nevoie
Windows sunt copiate in memoria conventionala intr-o zona in care se putea avea
acces in mod protejat, iar apoi se comuta procesorul din modul real inapoi in
modul protejat.
In concluzie acest mecanism greoi de citire/scriere prin acelasi BIOS era posibil
datorita faptului ca sistemele DOS si Windows (la inceputurile sale), functionau
pe o platforma software de 16 biti.
Problema compatibilitatii intre gestiunea aplicatiilor pe 16 biti sub DOS si
pe 32 biti sub Windows a fost rezolvata prin renuntarea la componenta BIOS si
inlocuirea ei cu un driver (FastDisk) care era capabil sa o emuleze.
Driverul FastDisk lucra pe 32 de biti in mod protejat si emula componenta BIOS
(care lucra si ea la rindul ei pe 16 biti), utilizind cod-masina scris in mod
protejat. Prin aceasta imbunatatire adusa Windows nu numai ca elimina in cele
doua sensuri cele doua tranzitii in mod real si protejat dar putea sa execute
mai multe operatii in regim multitasking in timpul accesului la disc. Reducerea
numarului de tranzitii spre sistemul DOS, prin neapelarea la BIOS a dus la cresterea
simtitoare a vitezei de lucru sub Windows, dar si cresterea stabilitatii sistemului.
Relatia Windows - DOS
Parteneriatul dintre Windows si DOS si-a schimbat total sensul in conditiile
transformarii vechiului sistem Windows dintr-o platforma de exploatare a aplicatiilor
intr-un veritabil sistem de operare care cuprinde de data aceasta functia de
gestiune a fisierelor.
Windows '95/'98 a eliminat problema accesului in mod real, doarece a inclus
toate functiile sistemului de operare intr-o arhitectura de 32 biti. Procedura
de exploatare a fisierelor in mod protejat a fost numita PMFATFS ( sistem de
fisiere FAT protejate). Prin aceasta procedura Windows '95/'98 utilizeaza un
sistem de acces la disc complet diferit fata de predecesorii sai. Noul sistem
de gestiune a fisierelor functioneaza in exclusivitate in mod protejat, reducind
la aproape zero sansele de blocare a sistemului datorita problemelor legate
de disc si imbunatatind considerabil viteza de acces la disc.
In sistemul de gestiune al fisierelor, arhitectura Windows '95/'98 include mai
multe componente stratificate. Fiecare strat ofera posibilitatea de a adauga
software de la alti producatori in vederea utilizarii unor sisteme de fisiere
si echipamente particulare.
Citeva dintre cele mai importante straturi sunt:
- installable file system manager este un program de gestiune a sistemului instabil
de fisiere. Aceasta este stratul superior al sistemului de fisiere care receptioneaza
solicitarile aplicatiei si transfera controlul catre driverul corespunzator
al sistemului de fisiere
- file system driver reprezinta driverul sistemului de fisiere. Acest strat
ofera suportul pentru un nume de fisier mai mare si permite functionarea stabila
a sistemului in mod protejat lucru care face ca Windows '95 sa fie mai bun decit
predecesorii sai
- I/O subsystem reprezinta subsistemul de intrari/iesiri care directioneaza
cererile primite de la FSD la diverse drivere ale echipamentelor periferice
Sistemul de operare Windows '95 are capacitatea de a emula sistemul DOS pentru
a mentine compatibilitatea intre cerintele noului sistem de operare pe 32 de
biti si vechile aplicatii scrise sub DOS si exploatate pe 16 biti.
In momentul lansarii unei aplicatii DOS sau in momentul comutarii sistemului
in MS-DOS Prompt, Windows '95/'98 apeleaza un set de servicii care permit trecerea
procesorului in modul de exploatare real si tratarea cererii respective in sistemul
DOS printr-un BIOS virtual. Prin BIOS are loc toate solicitarile de acces la
unitatea de disc, prin controllerul acesteia.
Atunci cind sub Windows '95/'98 se executa simultan programe pe 16 si pe 32
de biti sistemul de operare se ocupa in primul rind de separarea celor doua
tipuri de aplicatii utilizind scheme diferite de gestionare a memoriei. Aplicatiile
de 16 biti lucreaza in cadrul propriei lor zone de masina virtuala in timp ce
restul aplicatiilor de 32 de biti utilizeaza pe deplin capacitatile de adresare
a memoriei de catre procesor.
Comunicarea intre aplicatiile scrise pe 16 biti cu aplicatiile de 32 de biti
se realizeaza printr-un mecanism de conversie a datelor dintr-un format de 16
intr-un format pe 32. Windows '95/'98 utilizeaza un strat denumit "stratul
de conversie" pentru a permite aplicatiior pe 16 biti sa comunice cu cele
pe 32 de biti.
Cele trei componente interne ale lui Windows: Kernel, GDI, si User sunt responsabile
de acest mecanism de translatie a datelor din registrii de 16 biti in registrii
de 32 de biti si invers. Mecanismul de translatare a continutului registrilor
presupune ca stratul de conversie sa construiasca o noua stiva de memorie care
sa se conformeze necesitatilor aplicatiei care receptioneaza datele. Transformarea
adreselor de memorie din 16 in 32 si invers este o operatione laborioasa care
solicita mult procesorul si implicit incetineste viteza de lucru.