2.1. Resursele unui sistem de calcul; gestionarea resurselor
2.2. Componenta de comandă şi control a sistemului de operare
2.3. Componenta de servicii a sistemului de operare
2.4. Obiectivele şi funcţiile unui sistem de operare
2.5. Clasificarea sistemelor de operare din punctul de vedere al execuţiei proceselor
2.6. Clasificarea sistemelor de operare după gradul de interacţiune cu utilizatorul
2.7. Clasificarea sistemelor de operare după configuraţia hardware deservită
2. Sisteme de operare; definiţii, componente, clasificări
Sistemul de operare reprezintă ansamblul de programe care asigură utilizarea optimă a resurselor fizice şi logice ale unui sistem de calcul. El are rolul de a gestiona funcţionarea componentelor hardware ale sistemului de calcul, de a coordona şi controla execuţia programelor şi de a permite comunicarea utilizatorului cu sistemul de calcul. Folosirea hardware-ului unui sistem de calcul ar fi dificilă şi ineficientă în lipsa unui sistem de operare. Pe scurt, sistemul de operare este componenta software care coordonează şi supraveghează întreaga activitate a sistemului de calcul şi asigură comunicarea utilizatorului cu sistemul de calcul.
Din punctul de vedere al interacţiunii cu componentele hardware ale sistemului de calcul şi după modul de implementare a software-ului, sistemul de operare este organizat pe două niveluri:
a. nivelul fizic include componenta firmware a sistemului de calcul; acest nivel oferă servicii privind lucrul cu componentele hardware ale sistemului de calcul şi cuprinde acele elemente care depind de structura hardware a sistemului. Tot în nivelul fizic sunt incluse programe a căror execuţie este indispensabilă, de exemplu programul care lansează încărcarea automată a sistemului de operare, la pornirea calculatorului.
La acest nivel, comunicarea cu sistemul de calcul se realizează prin intermediul sistemului de întreruperi, prin care se semnalează anumite evenimente apărute în sistem; la apariţia unei întreruperi, controlul este dat unor rutine de pe nivelul următor al sistemului de operare;
Exemplu : la sistemele de calcul compatibile PC, componenta sistemului de operare de pe nivelul fizic este componenta ROM-BIOS. Aceasta include programe grupate după funcţia lor în :
. programele care se execută la pornirea sistemului de calcul : programul POST (Power-On Self-Test), care verifică starea de funcţionare a sistemului de calcul şi programele de iniţializare a activităţii sistemului (rutina de încărcare a primului sector al discului sistem) ;
. rutinele care fac posibilă utilizarea componentelor fizice ale sistemului de calcul, rutine numite drivere fizice ; ele oferă servicii pentru lucrul cu configuraţia hardware standard a sistemului de calcul : consola, tastatura, imprimanta, perifericele standard şi ceasul sistemului. Avantajul acestei soluţii este că asigură independenţa software-ului de pe nivelul logic faţă de caracteristicile constructive ale componentelor hardware de bază, ele fiind tratate unitar, prin intermediul driverelor.
b. nivelul logic include partea de programe a sistemului de operare şi oferă utilizatorului mijloacele prin care poate exploata sistemul de calcul; comunicarea utilizatorului cu sistemul de calcul se realizează prin comenzi adresate sistemului de operare sau prin intermediul instrucţiunilor programelor pe care le execută; invers, comunicarea se realizează prin intermediul mesajelor transmise de sistemul de operare către utilizator.
Programele nivelului logic adresează dispozitivele hardware prin intermediul programelor nivelului fizic al sistemului de operare şi din acest motiv ele sunt independente de structura hardware a sistemului de calcul : nivelul fizic constituie o interfaţă între hardware şi nivelul logic al sistemului de operare.
Din punct de vedere funcţional, programele sistemului de operare se împart în două categorii :
a. Componenta de comandă şi control, care cuprinde programe ce au rolul de a asigura utilizarea eficientă a resurselor sistemului de calcul.
b. Componenta de servicii, care cuprinde programe destinate minimizării efortului uman implicat de utilizarea sistemului de calcul.
Funcţia sistemului de operare de optimizare a exploatării unui sistem de calcul este împărţită între cele două componente, conform schemei din Figura 2.1.
Accesibilitatea, diversitatea şi numărul componentelor software creşte de la stânga la dreapta, în diagramă, în timp ce numărul şi nivelul de specializare al utilizatorilor acestor programe scade de la stânga la dreapta.
Atât pentru proiectarea cât şi pentru utilizarea lor, componentele software se sprijină pe alte componente software, aflate la stânga lor, în diagramă.
C2C22.1. Resursele unui sistem de calcul; gestionarea resurselor
Pentru a executa un program, într-un sistem de calcul secvenţial cu program memorat, este necesară încărcarea acestui program în memoria internă a sistemului de calcul. Sub controlul unităţii centrale de prelucrare (UCP) sunt executate, secvenţial, instrucţiunile programului. După caz, executarea unei instrucţiuni program poate presupune:
. alocarea unităţii aritmetico-logice (UAL), pentru efectuarea de operaţii aritmetice sau logice asupra datelor prelucrate de program;
. alocarea unui dispozitiv periferic, pentru realizarea unui schimb de informaţii între acesta şi memoria internă afectată programului;
. alocarea de spaţiu în memoria externă a sistem de calcul, pentru stocarea informaţiilor manevrate de program;
. accesarea unei anumite structuri de date (de exemplu un fişier din memoria externă);
. apelul, pentru execuţie, a unui alt program, încărcat în memoria internă sau memorat în memoria externă a sistemului de calcul, etc.
Întotdeauna, execuţia unui program presupune alocarea unei anumite zone din memoria internă a sistemului de calcul.
Întotdeauna, execuţia unui program presupune afectarea unei perioade din timpul de lucru al UCP.
Resursele sistemului de calcul, pe care sistemul de operare le pune la dispoziţia utilizatorului, se constituie din totalitatea componentelor fizice sau logice ale sistemului de calcul, care pot fi solicitate, la un moment dat, în timpul execuţiei unui program.
Execuţia unui program se defineşte ca o succesiune de procese care se realizează sub controlul sistemului de operare.
Procesul reprezintă o secvenţă de activităţi care se execută la un moment dat în sistemul de calcul şi care se caracterizează prin:
. prelucrările care se realizează, determinate de secvenţa de instrucţiuni care controlează procesul
. contextul de lucru asupra căruia acţionează procesul, prin intermediul prelucrărilor, şi care include resursele alocate procesului.
Pentru a realiza alocarea unei resurse la un proces, sistemul de operare trebuie să aibă răspuns la următoarele întrebări, după caz:
. dacă resursa cerută există în sistem
. dacă ea este disponibilă
. cât din resursă este disponibilă
. pentru cât timp poate fi alocată resursa
. dacă resursa este deja alocată altui proces, dacă ea mai este necesară procesului căruia îi este alocată.
Rezultă astfel funcţiile care trebuiesc îndeplinite de componenta sistemului de operare cu rol în gestionarea resurselor sistemului de calcul:
1. evidenţa resurselor sistemului de calcul în fiecare moment, prin înregistrarea fiecărei resurse, a stării ei (alocată sau liberă) şi a gradului ei de ocupare (cât din resursă este alocat);
2. implementarea unor algoritmi de alocare a resursei, conform unei strategii de alocare stabilite; o strategie de alocare trebuie să răspundă la întrebările:
. cărei solicitări i se alocă resursa
. cât din resursă se alocă
. în ce moment se face alocarea
. pentru cât timp se face alocarea resursei.
Strategiile de alocare diferă în funcţie de sistemul de operare şi de resursă;
3. alocarea efectivă a resursei, cu actualizarea informaţiilor legate de starea resursei;
4. dezalocarea resursei care poate fi făcută:
. la iniţiativa procesului care a solicitat-o, atunci când ea nu mai este necesară procesului
. la iniţiativa sistemului de operare, pentru a fi alocată şi altor procese.
Această ultimă variantă este utilizată numai de anumite tipuri de sisteme de operare.
C2C22.2. Componenta de comandă şi control a sistemului de operare
Activitatea de lansare în execuţie a unui program, activitatea de gestionare a alocării resurselor sistemului de calcul, pe toată durata executării programului, ca şi operaţiile efectuate la încheierea execuţiei acestuia, sunt funcţii realizate de componenta de comandă şi control a sistemului de operare.
Funcţiile componentei de comandă şi control ale sistemului de operare sunt:
. planificarea, lansarea şi urmărirea execuţiei programelor
. gestionarea resurselor sistemului de calcul
. depistarea şi tratarea evenimentelor deosebite care apar în timpul execuţiei programelor
. asigurarea protecţiei informaţiilor manevrate de diverse programe (aceste programe pot fi ale sistemului de operare sau programe utilizator).
Conform acestor funcţii, componenta de comandă şi control a sistemului de operare va include:
. nucleul sistemului de operare, cu funcţia de coordonare a activităţii sistemului de calcul şi a celorlalte componente ale sistemului de operare. Această componentă este rezidentă în memoria internă pe toată durata funcţionării sistemului de calcul şi se mai numeşte monitorul rezident al sistemului de operare.
. câte o componentă de gestionare pentru fiecare tip de resursă din sistem.
Funcţia de protecţie a informaţiei între procese şi funcţia de tratare a erorilor se realizează în mod specific, pentru fiecare tip de resursă, în cadrul componentei de gestionare a resursei.
C2C22.3. Componenta de servicii a sistemului de operare
Componenta de servicii a sistemului de operare s-a dezvoltat odată cu cerinţele utilizatorilor sistemelor de calcul. Gradul de accesibilitate al unui sistem de calcul, ca şi complexitatea sarcinilor pe care utilizatorul le poate rezolva cu ajutorul lui, sunt influenţate de existenţa şi eficienţa programelor de sistem incluse în componenta de servicii.
Programele de servicii se execută sub supravegherea programelor de comandă şi control, ca orice program de aplicaţie.
Această componentă oferă servicii diferite, de la un sistem de operare la altul, sau chiar între variante diferite ale aceluiaşi sistem de operare. Componenta de servicii a unui sistem de operare poate include:
. unul sau mai multe programe încărcător pentru sistemul de operare, care lansează automat programe ale sistemului de operare la pornirea sistemului de calcul ;
. programe de tip interpretor de comenzi ale sistemului de operare, adică acele programe care preiau comenzile adresate sistemului de operare de către utilizator, asigurând astfel comunicarea între utilizator şi sistemul de operare;
. funcţia de gestionare a dialogului cu utilizatorul, fie în mod comandă, oferind mecanisme de editare a comenzilor, fie în mod grafic, prin intermediul unei interfeţe grafice cu utilizatorul (GUI - Graphical User Interface) ;
. funcţia de înlănţuire prin date a comenzilor sistemului de operare (mecanismul pipe), de interpretare a comenzilor sistemului de operare agregate sub forma unor macrouri sau a unor fişiere de comenzi ;
. funcţia de asistenţă « on line » pentru sistemul de operare, cunoscută ca Help-ul sistemului de operare;
. funcţia de tipul « plug and play » care oferă facilităţi de autodetecţie a echipamentelor nou instalate în sistem şi permite reconfigurarea hardware, cu uşurinţă, a sistemului, ca şi notificarea schimbării configurării sistemului, de exemplu prin căderea unui echipament din sistem;
. funcţia care oferă suportul pentru utilizarea limbii naţionale, adică adaptarea informaţiilor cu caracter naţional (semn monetar, marcă zecimală) conform ţării selectate ;
. funcţii pentru configurarea personalizată a mediului de lucru cu sistemul de calcul, de exemplu pentru utilizatori cu opţiuni speciale de manevrare a echipamentelor (tastatură, mouse, etc.)
C2C22.4. Obiectivele şi funcţiile unui sistem de operare
Obiectivele generale ale unui sistem de operare sunt:
. automatizarea operaţiilor standard în toate etapele de exploatare a sistemului de calcul;
. minimizarea efortului uman pentru utilizarea sistemului de calcul;
. optimizarea utilizării resurselor sistemului de calcul;
. creşterea eficienţei globale în utilizarea sistemului de calcul prin:
. creşterea vitezei de execuţie a prelucrărilor
. reducerea timpului de răspuns al sistemului la solicitările utilizatorilor
. creşterea gradului de utilizare a resurselor prin utilizarea lor la capacitate maximă.
Funcţiile prin intermediul cărora sistemul de operare realizează aceste obiective sunt:
. funcţia de instalare automată a unui nou sistem de operare pe un sistem de calcul;
. funcţia de încărcare în memoria internă a sistemului de operare, la pornirea sistemului de calcul;
. funcţia de configurare dinamică a sistemului de operare, conform cu modificările intervenite în structura hardware sau cu necesităţile de exploatare a sistemului. De exemplu, sistemul de operare DOS se poate configura dinamic prin intermediul fişierului CONFIG.SYS care se consultă la fiecare încărcare a sistemului de operare şi care permite instalarea altor drivere de echipamente decât cele standard şi definirea unor parametri de funcţionare ai sistemului, permiţând astfel modificarea, extinderea sau îmbunătăţirea capacităţilor de funcţionare ale sistemului de operare, în cadrul arhitecturii de bază a sistemului de calcul;
. efectuarea operaţiilor de intrare / ieşire la nivel fizic, pentru a permite utilizatorului tratarea echipamentelor periferice la nivel logic, adică independent de caracteristicile constructive ale lor. Această funcţie permite degrevarea utilizatorului de sarcina tratării specifice a fiecărui tip de echipament periferic în parte. De exemplu, orice tip de imprimantă este tratat în acelaşi mod de către utilizator; caracteristicile specifice fiecărui tip în parte sunt tratate de programul specializat de accesare la nivel fizic al echipamentului, numit driver de imprimantă şi de componenta sistemului de operare care tratează operaţiile de ieşire prin intermediul imprimantei: driverul portului paralel ;
. oferirea unei interfeţe cu utilizatorul, prin intermediul unui limbaj specific, numit limbajul de comandă al sistemului de operare; prin intermediul acestui limbaj, utilizatorul transmite comenzi sistemului de operare; ele sunt traduse şi lansate în execuţie de programul interpretor de comenzi al sistemului de operare. În sistemele de operare mai noi, interfaţa cu utilizatorul este asigurată folosind metode grafice evoluate şi principii noi de comunicare, rezultatul fiind o modalitate mult mai "prietenoasă" de dialog cu utilizatorul; o astfel de interfaţă se numeşte interfaţă grafică cu utilizatorul (Graphical User Interface);
. controlul execuţiei programelor: sistemul de operare încarcă programul în memoria internă, pentru execuţie, îl lansează în execuţie, urmăreşte execuţia în toate etapele sale şi încheie execuţia programului;
. gestionarea alocării resurselor sistemului de calcul: sistemul de operare gestionează alocarea timpului UCP, a memoriei interne, accesul la fişiere, accesul la echipamentele periferice,etc. pe toată durata execuţiei unui program, în scopul utilizării cât mai eficiente a acestor resurse. În cazul în care este posibilă executarea simultană a mai multor programe, sistemul de operare realizează alocarea resurselor între programe pe baza unor criterii de alocare, în scopul optimizării execuţiei programelor, conform obiectivelor de eficienţă de mai sus;
. asigurarea protecţiei între utilizatori, acolo unde sistemul de operare permite accesul concomitent al mai multor utilizatori (programe) la resursele sistemului de calcul, şi asigurarea protecţiei între programe, fie că este vorba de programe utilizator sau programe ale sistemului de operare. Această protecţie se referă la evitarea cazurilor de interferenţă între mai multe programe în execuţie, care ar putea duce la alterarea zonelor de program din memoria internă sau la alterarea, de către un program, a datelor utilizate de un alt program;
. tratarea erorilor: sistemul de operare poate trata erori la nivelul maşinii fizice (de exemplu: erori de citire / scriere în memoria externă, erori de acces la un echipament periferic, lipsa din configuraţia sistemului de calcul a unui echipament, etc.) sau erori logice, care pot să apară în timpul executării unui program (de exemplu: operaţii interzise, ca împărţirea la 0, tentativa de acces în zone protejate ale memoriei interne, tentativa de execuţie a unor instrucţiuni privilegiate, etc.);
. funcţii auxiliare, cum ar fi: contabilizarea activităţii sistemului de calcul, jurnalizarea comenzilor adresate interpretorului de comenzi al sistemului de operare, jurnalizarea erorilor, etc.
C2C22.5. Clasificarea sistemelor de operare din punctul de vedere al execuţiei proceselor
În general, programele utilizează în mod diferit resursele unui sistem de calcul (unele ocupă mai puţină memorie internă decât altele, unele execută mai multe operaţii de intrare/ieşire, timp în care UCP este utilizată mai puţin, altele fac prelucrări complexe asupra datelor, utilizând intens unitatea aritmetico-logică, etc).
Pentru utilizarea eficientă a resurselor sistemului de calcul, unele sisteme de operare pot gestiona execuţia concurentă a mai multor procese, asigurând proceselor din sistem accesul concurent la resursele sistemului sau partajarea resurselor. Aceasta înseamnă că, la un moment dat, în sistem se pot afla în execuţie mai multe procese care concurează între ele pentru accesul la resursele sistemului iar sistemul de operare gestionează resursele sistemului pentru satisfacerea cât mai multor cereri ale acestor procese pentru alocarea de resurse.
O caracteristică importantă a unui sistem de operare este măsura în care poate asigura execuţia concurentă a proceselor. După acest criteriu, sistemele de operare pot fi:
. monotasking, care nu asigură execuţia concurentă şi nici partajarea resurselor între mai multe procese. Sub controlul unui sistem de operare monotasking, la un moment dat, în sistemul de calcul se poate executa un singur program; acesta rămâne activ din momentul lansării lui în execuţie şi până la terminarea lui completă; cât timp este în execuţie, programul are acces la toate resursele sistemului de calcul.
Exemplu: sistemele de operare MS-DOS şi CP/M sunt sisteme de operare monotasking; în timpul executării unui program, sistemul de operare pierde controlul asupra sistemului, în favoarea programului aflat în execuţie, care preia controlul până în momentul încheierii execuţiei sale.
. multitasking sunt acele sisteme de operare care asigură execuţia concurentă a mai multor procese care există concomitent în sistem.
Exemplu: sistemele de operare Windows, Unix sunt sisteme multitasking. Aplicaţia Windows 3.x rulată sub sistemul de operare monotasking MS-DOS permite exploatarea în regim multitasking a aplicaţiilor Windows.
În plus faţă de sistemele de operare monotasking, pentru un sistem de operare multitasking trebuiesc definite strategiile de alocare a resurselor la procesele concurente, strategii care vor fi folosite de componentele sistemului de operare pentru gestionarea resurselor.
C2C22.6. Clasificarea sistemelor de operare după gradul de interacţiune cu utilizatorul
Un sistem de operare are rolul de a interfaţa comunicarea între utilizator şi sistemul de calcul. Tendinţa actuală în cererea utilizatorilor este de a creşte atât gradul de interacţiune cu sistemul de calcul cât şi gradul de accesibilitate al interfeţei cu sistemul de calcul; aceste două tendinţe, în general contradictorii, determină creşterea complexităţii componentei sistemului de operare care asigură interfaţa cu utilizatorul.
Pe de altă parte, din punctul de vedere al gradului de utilizare şi al accesibilităţii sistemului de calcul, o caracteristică importantă este numărul de utilizatori care pot avea acces, la un moment dat, la sistem.
Din punctul de vedere al accesului utilizatorilor la sistem şi al gradului de interacţiune cu sistemul, sistemele de operare pot fi:
. seriale, acele sisteme de operare pentru care gradul de interacţiune cu utilizatorul, în timpul prelucrărilor, este nul. De cele mai multe ori, interfaţa dintre sistemul de operare si utilizator nu dispune de un limbaj de comandă accesibil utilizatorului obişnuit, motiv pentru care comunicarea dintre utilizator şi sistem nu este directă ci mediată de persoane specializate ca operatori de calculator. În timpul execuţiei lucrării sale, utilizatorul pierde total controlul asupra prelucrării; el furnizează datele care se prelucrează odată cu formularea cererii de prelucrare şi primeşte rezultatele prelucrării la încheierea execuţiei.
. interactive: sistemele de operare care permit comunicarea directă între utilizator şi sistemul de calcul, prin intermediul unui limbaj dedicat acestui scop (limbajul de comandă al sistemului de operare sau interfaa grafică utilizator). În plus, utilizatorul poate urmări modul în care se execută programul său şi poate influenţa, în anumite condiţii, execuţia acestuia. Un sistem de operare interactiv presupune o arhitectură a sistemului de calcul care să cuprindă echipamente standard de intrare/ieşire dedicate comunicării utilizatorului cu sistemul de operare (terminale I/O); aceste echipamente cuprind, de obicei, o tastatură, ca echipament standard de intrare şi un dispozitiv de vizualizare a informaţiilor de ieşire (un display sau o mini- imprimantă). Sistemele de operare interactive pot fi:
. monouser, când comunicarea cu sistemul de calcul este posibilă, la un moment dat, numai pentru un singur utilizator, prin intermediul consolei sistemului de calcul;
. multiuser, când sistemul de operare poate gestiona comunicarea concomitentă cu mai mulţi utilizatori, conectaţi la sistemul de calcul prin intermediul echipamentelor terminale de intrare/ieşire.
Exemplu: MS-DOS este un sistem interactiv monouser; Unix este un sistem interactiv multiuser.
C2C22.7. Clasificarea sistemelor de operare după configuraţia hardware deservită
Se obişnuieşte împărţirea sistemelor de calcul în trei categorii mari, în funcţie de puterea lor de prelucrare a informaţiei şi de capacitatea lor; corelat cu această împărţire se clasifică şi sistemele de operare, după configuraţia hardware pe care o deservesc. Structura sistemului de operare este influenţată de structura sistemului de calcul pentru că, în general, s-a căutat ca punctele mai slabe hardware să fie compensate prin funcţii suplimentare asigurate de software, în particular, de sistemul de operare. Pe de altă parte, un sistem de calcul puternic, ce permite prelucrări complexe, are nevoie de un sistem de operare la fel de puternic, capabil să asigure o bună coordonare a activităţii sistemului de calcul şi o gestionare optimă a resurselor acestuia.
După configuraţia hardware deservită, sistemele de operare sunt:
. sisteme de operare pentru microcalculatoare:
. sunt puternic interactive, cu un limbaj de comandă accesibil sau cu interfaţă grafică utilizator;
. unele sunt monouser şi monotasking (MS-DOS), altele multitasking (Windows), eventual şi multiuser (Unix);
. sunt uşor configurabile, oferind proceduri automate pentru încărcarea sau pentru instalarea sistemului de operare;
. ocupă un spaţiu redus în memoria internă;
. suportă dezvoltări pentru a permite conectarea în reţele de calculatoare sau ca terminale la sisteme de calcul mari;
. au funcţia de gestionare a informaţiei dezvoltată în direcţia manevrării unui număr mare de fişiere de dimensiuni mici;
. sisteme de operare pentru minicalculatoare:
. sunt interactive, multiuser şi multitasking;
. folosesc un limbaj de comandă pentru utilizatori avizaţi;
. procedurile de încărcare la conectarea sistemului şi de instalare a sistemului de operare sunt mai laborioase;
. sunt mai rigide, în cazul modificării configuraţiei hardware;
. asigură un sistem de priorităţi de execuţie dezvoltat;
. orientate pentru lucrul cu mai mulţi utilizatori, oferind un sistem complex de protecţie a informaţiei;
. orientate pentru lucrul cu multe terminale, putând îndeplini funcţia de concentrator de date;
. sisteme de operare pentru calculatoare mainframe:
. seriale sau interactive, multitasking;
. limbaj de comandă pentru utilizatori specializaţi;
. gestionează un număr mare de echipamente periferice;
. orientate pentru prelucrări complexe şi pentru volume mari de date.
În prezent se constată tendinţa de apropiere a performanţelor microcalculatoarelor de cele ale calculatoarelor superioare lor, în paralel cu tendinţa de apropiere a performanţelor sistemelor de operare pentru sisteme de calcul mari de cele ale sistemelor de operare pentru mini sau microcalculatoare.
În acelaşi timp, se realizează o integrare funcţională tot mai accentuată a diferitelor tipuri de sisteme de calcul în platforme de lucru comune, de obicei prin conectarea acestora în reţele de calculatoare. Cel mai elocvent exemplu în această direcţie este reţeaua Internet care realizează legătura între cele mai diferite tipuri de sisteme de calcul, funcţionând sub controlul unor sisteme de operare diverse.
Din punctul de vedere al dezvoltării sistemului de operare, tendinţa actuală este de dezvoltare a sistemelor de operare portabile, adică acele sisteme de operare care funcţionează pe platforme hardware diferite. Un exemplu în acest sens este sistemul de operare UNIX.
O altă direcţie este dezvoltarea de familii de sisteme de operare, de exemplu familia sistemelor de operare Windows, în care au fost dezvoltate sisteme de operare interactive, multitasking, asigurând şi funcţiile pentru lucrul în reţea de calculatoare; între aceste sisteme de operare, unele sunt specializate pentru un anumit mod de utilizare, de exemplu: Windows NT Server, pentru server de reţea sau Windows NT Workstation pentru staţii de lucru din reţea.