Dezvoltare Windows 2000

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Pictogramă lupă mgx2.svg Același subiect în detaliu: Windows NT .

În 1997 , Microsoft a planificat inițial un succesor atât pentru Windows NT 4.0, cât și pentru Windows 98 , numit inițial Windows NT 5.0.

La PDC 1997, desfășurat în septembrie același an, Microsoft a distribuit Beta 1 partenerilor (Build 1671.1) atât în ​​stațiile de lucru (redenumite ulterior în Professional), cât și în edițiile Server. În 1998, la PDC 1998, care a avut loc între 11 și 15 octombrie, Microsoft a comercializat Beta 2 (Build 1877.1) către parteneri, din nou atât în ​​edițiile Workstation, cât și în versiunea Server. La scurt timp după aceea, pe 27 octombrie, Microsoft a redenumit sistemul în Windows 2000.

Între sfârșitul anului 1998 și începutul anului 1999, Microsoft a lansat versiuni beta ale sistemului de operare, dezvoltarea culminând cu Beta 3 în aprilie 1999 (versiunea 2031.1). De asemenea, în 1999, Compaq a întrerupt suportul pentru arhitectura DEC Alpha după lansarea Release Candidate 1 (RC1, Build 2072.1).

Tot în 1999, compania a anunțat că Windows 2000 nu va înlocui Windows 98 datorită actualizării sale încă în curs de dezvoltare (a doua ediție) și adevăratul succesor al Windows 98 a fost deja planificat (distribuit sub numele de Windows Me ). Între iulie și noiembrie a aceluiași an, Microsoft a distribuit încă doi candidați de lansare (RC2 Build 2128.1 și RC3 2183.1) și, în cele din urmă, la 12 decembrie 1999, versiunea RTM a fost distribuită OEM-urilor și publicului la 17 februarie 2000.

Complexitatea software-ului

Analizat în funcție de parametrii actuali, dezvoltarea Windows 2000 nu pare atât de gigant, dar la momentul proiectării sale era cel mai mare software comercial realizat vreodată, format din 29 de milioane de linii de cod scrise în principal în limbaj C ++ . Cineva a calculat, de asemenea, că dacă întregul cod al sistemului de operare ar fi tipărit, ar rezulta un teanc de hârtie de dimensiunea unei clădiri de 19 etaje.

Pentru a înțelege cum software-ul poate atinge o asemenea enormitate, trebuie să ne imaginăm nu ca un obiect monolitic, ci ca un ansamblu de blocuri interconectate. După cum sa menționat, Windows 2000 a introdus o adevărată revoluție în abordarea Microsoft a sistemelor de operare devenind, după seria Windows 9x (Windows 95 și Windows 98) unul dintre cele mai utilizate sisteme (cel puțin până la sosirea Windows XP , succesorul său) . Nucleul sistemului este deja mare în sine, totuși este doar o parte din ceea ce reprezintă Windows 2000; componentele includ, de asemenea, browserul pentru Internet Explorer 6 , procesarea tranzacțiilor (instrumente pentru actualizarea informațiilor aproape instantanee, imediat ce sunt primite date noi) și o serie de drivere , conectate la periferice, cum ar fi imprimantele . Numai driverele sunt formate din peste 8 milioane de linii de cod: una dintre ele depășește doar un milion de linii.

Deci, nu este dificil din punct de vedere conceptual să înțelegem cum un sistem de operare cu o mulțime de componente poate deveni un gigant digital. Cu toate acestea, mai puțin evidente sunt motivele pentru care Microsoft a ales să se angajeze în această aventură de inginerie software daredevil și modul în care compania, după ce a luat o astfel de decizie, a reușit să ia produsul.

Către un sistem de operare cuprinzător

Directorii Microsoft spun că motivația care i-a determinat să adopte o abordare cuprinzătoare a proiectului Windows 2000 este simplă: clienții au cerut-o. Conducerea de vârf a fost conștientă de faptul că complexitatea software-ului și erorile cresc aproximativ în progresie geometrică cu dimensiunea, dar clienții majori și, în special, companiile mari din întreaga lume, și-au declarat nevoia ca anumite caracteristici să fie incluse în sistemul de operare. Rațiunea de bază a fost controversată: nu era clar dacă era mai eficient pentru Microsoft să integreze o gamă largă de subsisteme dintr-o dată, decât să integreze doar funcțiile specifice cerute de fiecare client. În cele din urmă a fost un compromis: avantajul este că sistemul de operare îndeplinește un număr foarte mare de funcții (cel puțin în comparație cu predecesorul său direct Windows NT); riscul este ca sistemul de operare să devină foarte mare și potențial lent, instabil și buggy (ceea ce se numește bloatware în jargon).

În mod tradițional, sistemele de operare efectuează doar un număr limitat de sarcini, cum ar fi alocarea resurselor, cum ar fi memoria computerului, în funcție de faptul dacă sistemul de operare este proiectat pentru calculatoare personale, pentru gestionarea rețelei sau pentru o altă aplicație specializată. Windows 2000 adoptă o metodă alternativă; este un sistem de operare unic care permite utilizări multiple, oferind astfel aceleași servicii de management de securitate și sistem pentru un număr imens de computere, de la laptopuri la servere de cooperare grupate în centrele de date ale organizațiilor mari. Avantajul teoretic este că utilizatorii trebuie să învețe un singur program (deși unul colosal) pentru o varietate de sisteme și aplicații.

Procedură de dezvoltare pas cu pas

Împreună cu un nou mod de concepere a sistemelor de operare, Microsoft a trebuit să inventeze o metodologie diferită pentru dezvoltarea software-ului. În special, instrumentele pentru a simula modul în care funcționează software-ul au fost de utilizare limitată. Spre deosebire de alte proiecte mari, de fapt, în această nouă întreprindere Microsoft, modelele la scară s-au dovedit aproape inutile. Un punct important este că, la nivelul de dimensiune și complexitate al Windows 2000, scrierea codului nu a fost activitatea de bază. De fapt, testarea și depanarea a durat 90% - 95% din muncă.

Cu toate acestea, cea mai mare provocare în construirea Windows 2000 nu a fost tehnică. Deoarece fiecare membru al grupului deținea cunoștințe extrem de specializate, o rotație mare de personal ar avea efecte devastatoare asupra proiectului, care a început în 1996 . O modalitate esențială de a menține personalul Windows 2000 împreună a fost să puteți crea un sentiment de familie - nu este o sarcină ușoară pentru un proiect de această dimensiune. Gândiți-vă la aceste cifre: în general, dezvoltarea a angajat 4200 de persoane, inclusiv 2000 aparținând personalului Microsoft, 800 de angajați ai partenerilor Microsoft (de exemplu Intel ) care au lucrat cu normă întreagă la sediul companiei din Redmond , în statul Washington , și 1.400 de consultanți. Alți 1.500 de angajați și consultanți Microsoft au lucrat la Windows 2000 în altă parte, în Statele Unite și în alte părți ale lumii, în special în Israel și India , și au folosit instrumente de dezvoltare și testare din rețeaua globală Microsoft pentru a-și coordona eforturile cu sediul central. .

Astfel, în fiecare vineri după-amiază, întregul grup Windows 2000 se aduna la restaurantul companiei, singurul loc din Redmond care putea găzdui câteva mii de oameni. Parțial parte a situației săptămânale, parțială întâlnire pentru a stimula motivația, aceste întâlniri au servit atât pentru a menține un spirit de echipă, cât și pentru a menține personalul bine informat.

Rezolvarea sistematică a erorilor detectate

Datorită importanței critice a testării și depanării, un grup de 50 sau 60 de directori s-au adunat la ora 9:00 în fiecare zi a săptămânii (și, de asemenea, sâmbăta și duminica, când se apropia termenul limită) pentru a revizui rapoartele zilnice ale erorilor găsite în Windows 2000 Aceste erori provin dintr-o varietate de surse: furnizori independenți de software care dezvoltă extern aplicații care ar fi trebuit să ruleze pe Windows; clienți selectați la așa-numitele site-uri beta, care au efectuat testele în situații reale în care software-ul ar fi apoi utilizat; Testarea internă Microsoft, care a folosit un procent mare de sisteme de întreprindere; și teste efectuate în alte țări.

În cadrul acestor întâlniri, impactul fiecărui bug a fost evaluat cu atenție, conform unei abordări care urmărea să verifice cât de multe daune ar putea provoca și dacă remedierile ar putea introduce noi probleme, precum și ce programator ar fi responsabil pentru remedierea acestuia. Bugul a fost apoi preluat de Sanjay Jejurikar , coordonatorul departamentului de testare, care l-a repartizat unuia dintre cele 25 de grupuri dedicate fiecare unui alt tip de eroare. Au înregistrat severitatea bug-ului într-o bază de date și apoi au făcut corecțiile necesare. Odată ce acest lucru a fost făcut, codul modificat a fost trimis la Build Lab , centrul activității de testare Windows 2000.

Build Lab, clădirea de testare

Pentru a se asigura că Windows 2000 a funcționat corect la fiecare configurație hardware posibilă, camerele multiple ale Build Lab conțineau cel puțin un exemplu de orice tip de sistem, memorie, card modem, card Internet și orice alt dispozitiv electronic existent. Doar ca să dau un exemplu, în computerele Build Lab existau aproximativ 1200 de configurații doar pentru plăci video. Pentru a permite grupului de testare să producă o versiune modificată a Windows 2000 în fiecare zi, Microsoft a impus un program strict pentru revizuirea codului. Modificările zilnice (de obicei în număr de aproximativ 250) au fost trimise între orele 13:00 și 16:00. După acest termen, Build Lab a început să modifice codul, iar noua ediție, „ build ”, a avut loc de obicei între 18:00 și 18:00. Le 20. Această ultimă versiune de Windows 2000 a fost apoi gata pentru a fi descărcată în rețeaua internă a companiei. De asemenea, până la ora 21:00, Build Lab producea și distribuea aproximativ 2.000 de CD-uri software. Înainte de ora 7 dimineața următoare, testul de verificare a construcției, care a verificat stabilitatea construcției din ziua precedentă, era deja în desfășurare.

Realizarea acestui lucru nu a fost ușoară. Ciclul zilnic de testare s-a încheiat în jurul orei 15:30 și toate comentariile și criticile după această oră au fost colectate pentru întâlnirea de a doua zi. Un punct de referință pentru a înțelege cât de intensă a fost această activitate de testare: într-o zi, personalul a schimbat în medie aproximativ 90.000 de e-mailuri legate de proiect.

Alte sesiuni de testare

Alte teste pentru a pune software-ul la încercare în condiții similare mediilor reale au fost efectuate în cicluri de una sau două săptămâni. La fiecare șase săptămâni, acele module mari al căror cod a fost complet verificat au fost evaluate pentru ultima dată și apoi închise. Cu toate acestea, codul nu a fost blocat odată pentru totdeauna într-un sertar. Dacă a fost descoperită o eroare suplimentară, Microsoft a corectat-o, chiar dacă a implicat alte teste, pentru a se asigura că remedierea nu a dat naștere la probleme în alte părți ale programului care au fost deja finalizate.

Bug-urile, documentate, dar lăsate cu bună știință în cod

Cu toate acestea, nu toate erorile au fost remediate. Într-un sistem software de această dimensiune, trebuie să luați în considerare întotdeauna riscul ca corectarea unei erori să aibă impact în altă parte a sistemului. Se pare că Microsoft a remediat întotdeauna patru tipuri de bug-uri: cele care au blocat sistemul, au introdus găuri de securitate, au creat probleme Y2K (faimoasele bug-uri ale mileniului ) sau au împiedicat utilizatorul să acceseze un fel de serviciu bug . Alte tipuri de anomalii despre care compania nu credea că merită să fie eliminate includeau cele care apar doar în situații mai puțin frecvente, afectând doar un număr mic de clienți. Microsoft a documentat aceste tipuri de erori și a păstrat remedierile posibile, astfel încât acestea să poată fi furnizate clienților care au nevoie de ele.

În condiții ideale (și în proiectele care dezvoltă software mai simplu), ideea de a lăsa cu bună știință unele bug-uri pare de neconceput, dar Windows 2000 reprezintă o realitate extremă de inginerie software. Un sistem de această magnitudine nu poate fi lipsit de defecte; poate fi verificat și documentat cât mai complet posibil în timpul disponibil. Ultima și cea mai masivă parte a testului nu a avut loc în cadrul Microsoft, ci pe site-urile beta ale clienților și partenerilor importanți, inclusiv mii de producători de componente hardware sau aplicații software complementare. Cea mai recentă versiune de încercare a Windows 2000 a fost distribuită în 23 de limbi și 130 de dialecte distincte la 300.000 de locații ale companiei din peste 50 de țări.

Elemente conexe

Microsoft Portal Microsoft : Accesați intrările Wikipedia despre Microsoft