Microsoft face un nou pas spre afirmarea definitivă a sloganului “Windows Everywhere” 

Microsoft Windows NT 4.0

Eugen Rotariu

Acum două luni Microsoft a distribuit al doilea beta a unei noi versiuni a celui mai apreciat sistem de operare al său, Windows NT. Noua versiune se va numi Windows NT 4.0 si va combina interfata frumoasă, flexibilă si usor de utilizat specifică Windows 95 cu stabilitatea, puterea si viteza cu care am fost obisnuiti în vechile versiuni de Windows NT. Window NT 4.0 este cu mult mai mult decât o simplă aranjare cosmetică a codului, versiunea aducând o serie de facilităti suplimentare, îndelung asteptate de către utilizatorii de Windows.

Înainte de a intra în subiectul propriu-zis, si anume prezentarea noii versiuni, să precizăm încă o dată care este viziunea Microsoft asupra rolului sistemelor sale de operare. Cele trei sisteme principale de la Microsoft sunt Windows, Windows NT Workstation si Windows NT Server. Microsoft a avut ambitia să dezvolte un set de API-uri comune pentru toate aceste trei sisteme de operare, în asa fel încât să putem scrie o aplicatie o singură dată si să o putem rula pe oricare dintre aceste sisteme de operare. Telul a fost cu atât mai greu de atins cu cât Windows NT rulează atât pe procesoare Intel cât si pe procesoare RISC precum procesoarele MIPS, Alpha sau PowerPC.

Dincolo de aceste API-uri comune, între cele trei sisteme de operare există diferente majore, mai ales în ceea ce priveste implementarea internă a acestor API-uri. Windows 95 se bazează pe un nucleu propriu în timp ce Windows NT Server si Windows NT Workstation au la bază un alt nucleu de sistem de operare. Diferentele între ultimele două sisteme de operare sunt mai ales în zona de facilităti cu care vine sistemul în mod nativ si în zona de parametrii de configurare impliciti ai sistemului. Pe moment, nucleul Windows 95 este mai putin stabil si flexibil dar Microsoft promite pentru anul 1999 trecerea întregii familii pe nucleul NT.

Încă în acest an, Microsoft speră să lanseze versiunea finală pentru Windows NT 4.0 Server si Workstation si o versiune actualizată OEM de Windows 95 care să contină printre altele Internet Explorer 3.0. Spre sfârsitul lui 96 va fi lansat si Internet Add-on pentru Windows 95 si Windows NT (numele de cod al acestui produs este acum Nashville) care va fi în principal o integrare între shell si browser. În fine, în anul 1997 va fi lansat Cairo ca un continuator al lui Windows NT si Memphis ca un continuator a lui Windows 95. De altfel, o parte dintre tehnologiile preconizate pentru Cairo au fost introduse în avans în Windows NT 4.0, de exemplu Distributed COM (vezi ilustratia „Următorii pasi în dezvoltarea sistemelor Windows“ din pagina urmăroare).

În ceea ce priveste Internetul, Microsoft are de data aceasta o viziune foarte clară: în prezent avem aplicatii standalone si pagini Web statice. În viitor, va fi dezvoltată o tehnologie care să ne permită să creăm obiecte comune celor două abordări făcându-le pe acestea să poată comunica între ele. Primul pas este desigur tehnologia ActiveX care ne permite crearea de obiecte (controale OLE) care pot fi folosite atât în dialogurile aplicatiilor standalone cât si în paginile Web.

Ce mai e nou

Principalele noi trăsături în Windows NT 4.0 sunt următoarele: s-au executat modificări asupra shell-ului, s-au îmbunătătit mecanismele de listare, s-a mărit performanta sistemului grafic, s-au modificat unele API-uri si unele mecanisme necesare driverelor.

Unul dintre principalele scopuri declarate ale proiectantilor noii versiuni a fost acela de a îmbunătăti performantele sistemului. Pentru aceasta, s-a mers până la unele restructurări chiar în interiorul nucleului Windows NT. În plus, s-a ajuns la o compatibilitate foarte bună între API-ul Windows 95 si API-ul Windows NT. Desigur, shell-ul implementat în Windows NT este superior celui din Windows 95 prin faptul că are suport complet pentru Unicode si toate celelalte trăsături specifice Windows NT care lipsesc din Windows 95. Printre acestea, enumerăm extensiile proprietătilor fisierelor de tip .ink, suport îmbunătătit pentru variabilele sistem, profiluri pe grupuri de masini, interfată pentru comprimarea fisierelor, securitate suplimentară pentru cosurile de gunoi (Recycle Bin), un convertor de fonturi Type 1, si un manager extins de procese care permite o manipulare suplimentară în cazul aplicatiilor care nu îsi crează propriile ferestre.

În ceea ce priveste robustetea si performanta noului shell, acestea vin din extensii precum o utilizare mult mai intensă a firelor de executie, un suport mai bun pentru oprirea aplicatiilor care s-au agătat. Microsoft anuntă că au fost eliminate multe scame din shell-ul Windows 95 si zone de memorie uitate alocate au fost eliberate.

În ceea ce priveste schimbările legate de mecanismele de listare, aceste sunt legate în primul rând de faptul că a fost introdusă noua interfată de tip Windows 95. În noul Windows NT directoarele de imprimante se pot partaja între calculatoare permitându-se astfel administrarea de la distantă a imprimantelor. Se poate merge chiar până la instalarea de la distantă a unui driver pe un calculator cu o arhitectură diferită fată de calculatorul de pe care se face instalarea. În plus, Windows NT 4.0 adaugă o interfată utilizator comună tuturor driverelor de imprimantă usurând astfel sarcina proiectantilor de drivere si utilizarea driverelor în acelasi timp. În fine, pentru metafisierele extinse din Windows prelucrările necesare imprimării se pot executa la distantă, pe calculatorul pe care este instalată imprimanta.

În ceea ce priveste sistemul grafic, schimbările se referă în primul rând la noile drivere care au fost introduse în sistem pentru WD ThinkPad, Matrox, Millennium, Trident, Number 9 Imagine, Cirrus. În plus, programul SETUP al Windows NT 4.0 tine acum cont si de eventualele drivere de la terti prezente în timpul instalării. În fine, a fost introdus un nou API: DirectDraw 2.0 si suport pentru schimbarea dinamică a rezolutiei ecranului (fără repornirea sistemului). În acelasi timp a fost extinsă si implementarea de OpenGL existentă în Windows NT pentru conformanta cu standardul OpenGL 1.1. Noua implementare rulează complet în spatiul utilizator si există surse comune pentru implementarea de Windows 95 si Windows NT.

La nivelul API-urilor, modificările au dus în primul rând la faptul că noul API Windows NT este un superset al API-ului Windows 95 (au fost implementate toate functiile specifice Windows 95). În plus, a fost adăugat suport pentru aplicatiile foarte mari în ceea ce priveste firele usoare de executie (lightweight threads sau fibers), si câteva apeluri noi precum: SwitchToThread, SignalObjectAndWait, QuequeUserApc, afinitate la procesor bazată pe proces si timere după care se poate astepta.

În zona de drivere, s-au extins driverele pentru CD-uri, SCSI si Enhanced IDE, a apărut începutul unui suport Plug and Play (doar extendere de bus Hal). Sportul complet pentru Plug and play a fost anuntat pentru începutul lui 97.

Alte extensii ale Windows NT Workstation includ API-ul de telefonie, API-ul de criptografie, Windows Messaging Subsystem (servicii de postă Microsoft si Internet), suport pentru profiluri hardware la pornirea sistemului, care permit startarea a diverse configuratii de rezolutii video, servicii si dispozitive instalate. Pe platformele RISC, a apărut un emulator 486 care permite rularea aplicatiilor de 16 biti care au nevoie de modul 386 extins să ruleze pe masini RISC.

În ceea ce priveste Windows NT Server, acesta oferă în plus serverul de informatii Internet (IIS), PPTP (Point to point tunneling protocol), un router multiprotocol (TCP/IP, AppleTalk si IPX/SPX), performantă superioară, integrare între DNS (Domain Name Server) si WINS, serviciul RPL care permite statiilor Windows 95 fără disc să booteze de pe serverul NT, extensii ale servicii lor de acces la distantă (RAS). În plus, au fost introdusi o serie de vrăjitori (wizzards) administrativi care trebuie să ajute la operatiile mai des executate, precum ar fi: Add User Accouts Wizzard, Group Management Wzzard, Managing File and Folder Access Wizzard, Add Printer Wizzard, Add/Remove Programs Wizzard, Install new Modem Wizzard, Network Client Administrator Wizzard, Licence Wizzard.

Schimbări arhitecturale

În vechile versiuni de nucleu Windows NT, inclusiv 3.51, subsistemul Win32 rula în mod utilizator, cu alte cuvinte în afara spatiului nucleului propriu-zis. Ratiunea acestui mod de lucru era aceea că sistemul era mult mai stabil datorită faptului că driverele de dispozitive grafice, aflate în interiorul subsistemului Win32, rulau în mod utilizator. Aceste drivere nu erau în general dezvoltate de Microsoft ci de parteneri terti si puteau crea probleme în cazul în care contineau erori. (vezi figura „Detalii ale vechiului Subsistem Win32").

Din păcate, acestă arhitectură a dus la costuri mari ale apelurilor către modulele USER si GDI, la o implementare complexă de sistem cache si batch pentru executia acestor apeluri în interiorul sistemului, consum mare de resurse, greutăti suplimentare la întretinere si depanare, scăderi de performantă si, în sfârsit, dificultate crescută la implementarea trăsăturilor specifice Windows 95.

La constructia versiunii 4.0, proiectantii au luat hotărârea să mute modulele USER si GDI în executivul NT sub formă de drivere încărcate dinamic. Facilitătile expuse de executiv către aceste module sunt deci facilitătile expuse de către executiv în mod normal către un driver de dispozitiv sau către un sistem de fisiere. Se evită astfel accesul direct al modulelor USER si GDI la structurile de date interne ale executivului, acest acces făcându-se prin interfete bine definite (vezi figura „Detalii ale noii arhitecturi Win32").

Microsoft sustine că acestă schimbare nu va afecta stabilitatea sau modularitatea sistemului desi alte păreri sustin contrariul. Cert este că îmbunătătirile de performantă grafică sunt vizibile în Windows NT 4.0. În noua arhitectură, aplicatiile nu pot accesa sau corupe datele interne ale subsistemului Win32, erorile în subsistemul Win32 (drivere) pot fi controlate si fixate în acelasi mod ca si erorile din executiv sau sistemul de fisiere, iar în timpul rulării aplicatiilor se întâmplă mult mai putine schimbări de context procesor ceea ce duce la o scalabilitate superioară a masinilor multiprocesor simetrice.

Arhitectura de retea

În Windows NT 4.0 Microsoft a anuntat numeroase extensii în zonele de internetworking, acces la distantă, TAPI, NDIS 4.0, Windows Sockets, DNS si securitate. Să vedem mai detaliat câteva dintre aceste extensii.

În serverul Windows NT 4.0 rutarea a fost integrată prin introducerea unui suport multiprotocol. Acest suport lucrează cu RIP/IP, RIP/IPX si RTMP/Appletalk. Suportul multiprotocol permite extensii prin introducerea de drivere specifice unor noi medii de transfer sau protocoale.

NDIS 4.0 a fost si el extins. Principalele trăsături nou adăugate sunt optimizarea căilor de transmitere si receptie prin transmiterea/primirea de mai multe pachete cu un singur apel API, interfete pentru suportul unor medii aditionale, scalabilitate de multiprocesor pentru driverele miniport, detectia automată a cartelelor de retea PCI si EISA ale căror drivere sunt în biblioteca de drivere a sistemului.

Noua versiune de Windows NT va implementa deasemenea API-ul Windows Sockets 2.0. Această nouă versiune de Windows Sockets va contine o independentă fată de transport (TC/IP, IPX/SPX, Appletalk...), o integrare superiară cu Win32 si servicii superioare pentru multimedia. Extensiile de performantă ale Windows Sockets 2.0 sunt cele care permit transmisia unui fisier întreg în Internet (se elimină astfel tranzitiile multiple între nucleu si aplicatie în cazul unor tranzactii lungi Internet) si modificări aduse apelului AcceptEx care reduc numărul de operatii necesare pentru acceptarea unei conexiuni Internet.

În noua sa versiune, Windows NT devine o platformă care oferă servicii multiple, printre care servicii ale retelei Windows, servicii de informatii Internet (IIS rulează mult mai performant sub Windows NT 4.0 si întreaga sa administratie a fost mutată sub formă de pagini Web), servicii pentru retele NetWare (server de fisiere, listare, directory management), servicii pentru Macintosh (server de fisiere, listare), servicii NFS (necesită achizitionarea unor produse de la terti).

În ceea ce priveste serviciile specifice retelelor Windows, Microsoft anuntă că performanta transferurilor este mult îmbunătătită, în special în cazul mediilor de 100Mb. Se pot accesa servere de oriunde din Internet pe baza adresei de Internet (dată de un server DNS). De altfel serviciile DNS si WINS sunt concepute pentru a lucra împreună si a îsi rezolva problemele reciproc. În plus, Microsoft a anuntat extensii pentru integrarea statiilor Windows 95 cu serverele NT în ceea ce priveste performanta operatiilor client-server si a listării pe imprimante NT.

Calculatoarele Macintosh conectate în retele Windows NT pot beneficia de serviciile serverelor NT 4.0 fără nici un efort special. Serviciile de fisiere si imprimare sunt disponibile direct prin software-ul standard Appleshare iar conturile Macintosh sunt conturi standard Windows NT. Sistemul de fisiere NTFS, cu spatii de nume multiple, poate memora nume de fisiere Macintosh iar iconurile aplicatiilor create cu un PC sunt afisate corect datorită extensiei de asociere de tipuri care se poate instala pe Macintosh. În fine, calculatoarele Macintosh pot tipări fisiere de orice fel, inclusiv Postscript la orice imprimantă conectată la Windows NT.

Viitoarele domenii de interes pentru Microsoft în zona retelelor vor fi standardele de transmisie în retea pentru multimedia (ATM, RSVP, RTP), cresterea usurintei de configurare, integrare superioară cu Internetul, cresterea performantei si a scalabilitătii.

COM Distribuit

Poate că acest nume vi se pare necunoscut, dar el nu este în fapt decât o redenumire pentru vechiul tel Microsoft prevăzut pentru Cairo si anume Network OLE. În fapt, cei dintre dumneavoastră care stiu ce este si cum functionează COM (Component Object Model) stiu deja si cum va functiona viitorul DCOM: este un COM cu reteaua activată.

Actualele utilitare de constructie a aplicatiilor distribite sunt extrem de greu de utilizat si destul de limitate. RPC necesită cunostinte foarte multe despre retele si este suportat de putine utilitare de dezvoltare. Alternativa HTTP/CGI este o comunicatie într-o singură directie, foarte greu de depanat. În plus, un OLE transpus în retea ar avea avantajul că permite păstrarea cunostentelor si aplicatiilor deja existente.

DCOM va permite o comunicatie în două directii, simetrică si o performantă acceptabilă. În plus, scalabilitatea va fi mult mai bună. Toate aplicatiile existente, scrise în COM vor putea fi portate fără nici o modificare spre COM distribuit. DCOM va fi optimizat în principal pentru protocoale interactive (mult mai eficiente, mai ales peste UDP), definirea usoară de API-uri de obiecte care pot fi extinse, integrare cu tehnologia ActiveX, trăsături de securitate elaborate.

Microsoft, foarte mândru de tehnologiile OLE în general si de COM si DCOM în special face un efort sustinut de portare a acestei tehnologii pe alte platforme. Astfel, firma a făcut un contract cu Software AG pentru a porta DCOM pe diverse platforme Unix. Digital Equipment Corporation lucrează si el la integrarea DCOM cu CORBA/ObjectBroker si introducerea infrastructurii DCE pe acelasi platforme Unix. Primele rezultate ale portărilor se vor vedea la sfârsitul anului 1996. În plus, Microsoft face eforturi să integreze COM cu clasele de obiecte create cu ajutorul limbajului Java în noua sa masină virtuală Java (care va fi disponibilă împreună cu Visual J++).

Microsoft si Internetul

Microsoft, chiar dacă putin mai târziu decât ar fi trebuit, a realizat în sfârsit că PC-urile împreună cu Internetul vor reprezenta principala atractie în viitor. De aceea în interiorul firmei au fost lansate câteva proiecte de primă urgentă care să ducă la reducerea decalajului. Aceste proiecte intră în două mari grupuri: tehnologia de navigare si tehnologia de server de informatii.

Microsoft spune că strategia sa Internet se poate rezuma astfel: îmbrătisează, extinde, adaugă valoare. A îmbrătisa înseamnă la Microsoft preluarea standardelor de succes în Internet si integrarea acestora în produsele de bază. Extinderea înseamnă îmbunătătirea protocoalelor, standardelor si produselor pentru satisfacerea superioară a clientilor. În sfârsit, adăugarea de valoare înseamnă impunerea noilor idei înapoi în Internet pentru a oferi o functionalitate superioară într-un mod deschis.

Întrebarea de bază pe care si-a pus-o Microsoft este aceea dacă aplicatiile standalone, specifice PC-urilor trebuie să fie pentru totdeauna despărtite de paginile Web statice specifice Internetului. Amândouă aceste solutii oferă interfete grafice, componente software, aplicatii client-server, multimedia, 3D si conferinte interactive. De ce nu ar putea fi unificate aceste două abordări? De ce n-ar putea fi create aplicatii care să preia ce este mai bun din Web si PC pentru a crea aplicatii interactive distribuite si comunicatii interactive multimedia între indivizi? În această situatie, Microsoft a decis să creeze o strategie care să ducă la integrarea produselor din Microsoft BackOffice cu Web-ul.

Împreună cu Windows NT 4.0 beta 2 vine integrat Internet Explorer 2.0, navigatorul gratuit construit de Microsoft ca răspuns la răspândirea extraordinară a lui Nescape Navigator. Probabil că în produsul final va fi integrat deja Internet Explorer 3.0 care contine tehnologia ActiveX si suport pentru appleturi Java. Internet Explorer 3.0 este disponibil deja în versiune beta 2. Principala trăsătură pe care Internet Explorer o opune concurentului său de la Netscape este suportul pentru tehnologia ActiveX. Această nouă tehnologie mult lăudată de Microsoft are următoarele trăsături: este independentă de limbaj, rulează pe platforme multiple, este rapidă, compatibilă cu controalele OLE, appleturile Java pot fi văzute automat ca si controale ActiveX, se poate utiliza în pagini Web sau în aplicatii standalone, este suportată de foarte multe utilitare de dezvoltare (toate care includ suport pentru OCX).

Noua tehnologie suportă desigur script-urile pentru minimizarea traficului între client si server. În principal, ActiveX suportă VBScript si JavaScript dar există si suport pentru dezvoltarea unor noi limbaje de către terti. Suportul multimedia în ActiveX este foarte dezvoltat, incluzând Direct3D (grafică de mare performantă, construită direct pe API-ul DirectX), ActiveVRML pentru crearea de lumi virtuale si ActiveX Movie pentru aplicatii sofisticate care necesită video sau audio.

Cel de-al doilea punct de interes la Microsoft este serverul de informatii pentru Internet (IIS), care este în esentă un server Web. Serverul vine integrat în Windows NT 4.0 Server si contine următoarele componente: servicii FTP, Gopher, HTTP, documentatii multiple on-line, suport pentru standarde industriale de extensie precum CGI, ISAPI (Information Server API), interfată de conectare la baze de date (Internet Database Connector), aplicatii de administrare.

Serviciile Web contin trăsături excelente, precum ar fi servere virtuale (serverul poate fi văzut sub mai multe nume), parolele sunt transmise criptat, există un API (ISAPI) care oferă o cale usoară de extindere a functionalitătii serverului, conexiune cu dazele de date care permite încărcarea informatiilor dintr-o bază de date în paginile Web si SSL care oferă posibilităti de comunicare criptată. Cu serverul IIS se poate limita traficul în retea, se poate controla multimea clientilor care au acces la server, se pot crea fisiere de logare a traficului (vezi figura „Arhitectura serverului de informatii Internet").

Interfata ISAPI permite crearea de extensii ale serverului Web într-un mod standard. Aceste extensii beneficiază de o perfomantă ridicată rulând chiar în interiorul procesului si îsi păstrează starea de la o cerere la alta. Cu ajutorul aplicatiilor ActiveX se pot crea machete, se pot procesa informatii sau se poate genera dinamic continutul unei pagini. Cu ajutorul filtrelor ActiveX se pot monitoriza cererile, se pot genera statistici, se poate extinde mecanismul de autentificare, se pot executa translatări ale informatiilor.

Conectorul de baze de date oferă integrare între serverul Web si serverul SQL sau altă sursă de date ODBC. Acest conector este de fapt o extensie ISAPI ceea ce îl face foarte rapid. Configurarea este foarte usoară si nu necesită programare. Se pot executa cereri dinamice si statice complexe sau actualizări si se pot apela proceduri memorate în baza de date. În fine, conectorul vine în mod standard cu ODBC 2.5 si driverul pentru SQL Server. Modul în care gândeste Microsoft extinderea BackOffice pentru suportul Internet este prezentat în figura alăturată.

Administrare

Principalele teluri ale noului sistem de administrare al Windows NT 4.0 sunt: o administrare mai usoară a sistemului pentru cei care nu sunt obisnuiti cu sistemul si o administrare usoară a retelelor eterogene de Windows NT si Windows 95.

În primul rând Microsoft a construit o multime de vrăjitori (pe care i-am enumerat deja) care să ajute la executia operatiilor celor mai comune pentru un administrator sau utilizator. În al doilea rând, au apărut noi utilitare corespunzătoare noilor facilităti aflate în sistem. A apărut astfel un monitor de retea, un administrator de DNS, un editor de politică a sistemului, utilitare de administrarea a Windows NT de pe un sistem Windows 95, un administrator pentru configurarea DCOM.

În fine, managementul domeniilor si utilizatorilor este mult îmbunătătit pentru a putea controla mai bine drepturile si preferintele fiecărui utilizator conectat la un sistem NT.

Performantă

Microsoft anuntă că noul său server si-a îmbunătătit mult performantele generale. Performantele serverului de fisiere par să fi crescut cu peste 100% datorită redirectorului modificat, schimbărilor din SMP si din serverul de fisiere propriu-zis. Performanta se obtine mai ales în retele de 100 MB/s pentru care a fost optimizat Windows NT 4.0. În ceea ce priveste serverul de aplicatii, acesta si-a îmbunătătit scalabilitatea, a definit noi API-uri pentru aplicatiile sofisticate precum afinitatea soft (la un anumit procesor), dezactivarea cresterii dinamice de prioritate (dynamic priority boosting), crearea unei operatii atomice de semnalizare si asteptare sau atasarea conditională a unei sectiuni critice.

Microsoft anuntă că serverul său SQL rulează sub Windows NT mult mai repede acum si bate un server Oracle rulând sub UnixWare sau Solaris ca să nu mai vorbim de Sybase sau Oracle pentru NT. Ultimele două rămân în urmă, după spusele lui Microsoft, datorită unei proaste implementări vis-a-vis de facilitătile sistemului. În ceea ce priveste IIS, Microsoft afirmă că acesta merge de 3-4 ori mai repede decât competitorul său Netscape NetSite.

Concluzii

Microsoft pare să fi făcut un efort substantial la constructia noii versiuni de Windows NT, pentru a pregăti o lovitură decisivă concurentilor săi (în principal Unix-uri). Si, după cum se pare acum, bătălia se va da în principal pe două câmpuri: bazele de date si Internetul. Dacă tot ceea ce si-a propus Microsoft va fi rezolvat cu adevărat, Windows NT va deveni un concurent serios al serverelor Unix care stăpânesc încă în marile companii.

Vă mai amintiti de "Windows Everywhere"? 

Domnul Eugen Rotariu poate fi contactat prin E-mail la adresa erotariu@agora.ro.

(C) Copyright Computer Press Agora