Sunteți pe pagina 1din 24

CAPITOLUL 2 CLASIFICAREA SISTEMELOR DE OPERARE.

TIPURI DE SISTEME DE OPERARE

2.1. Clasificarea sistemelor de operare dup modul de acces la facilitile sistemului 2.1.1. SO batch multiprogramate Un SO batch cu programare serial preia cte o sarcin de lucru (job) dintr-o coad de job-uri. Un SO batch multiprogramat permite execuia simultan a mai multor job-uri. 3 tipuri de planificatoare: - planificatorul pe termen lung controleaz intrarea job-urilor n sistem; - planificatorul pe termen mediu controleaz evacuarea/ncrcarea programelor n memorie; - planificatorul pe termen scurt controleaz alocarea procesorului.

2.1.2. Sisteme Time-Sharing

Caracteristici mai importante : a) Fiecare utilizator are iluzia c posed ntreaga main fizic, pe care o utilizeaz prin intermediul terminalului fizic la care lucreaz. b) Majoritatea sistemelor Time-Sharing sunt multitasking c) Tehnica time-slice: procesorul este alocat, pentru o cuanta de timp, fiecrui proces. d) Tehnica backing-store - Procesele se evacueaza temporar din memoria intern n memoria extern i ulterior se pot rencrca. e) Protecia fiierelor i controlul la ele (adesea fiierele se partajeaz pe clase de utilizatori)

2.1.3. Sisteme de timp real Utilizate n medii unde trebuie detectate, acceptate i prelucrate n scurt timp semnalele declanate de evenimente externe, eventual naintea expirrii unui termen limit. Caracteristici : a) Fiecrui eveniment extern, semnalat printr-o ntrerupere, i corespunde un anumit proces. Fiecrui proces i se asociaz o prioritate, f(importana sa). Procesorul este atribuit procesului cu cea mai mare prioritate. b) Gestionarea memoriei este mai puin restrictiv - procesele sunt ncrcate n memorie permanent. c) Este mult mai dezvoltat componenta aferent gestionrii dispozitivelor periferice- exista forme sofisticate de tratare a ntreruperilor. d) Gestionarea fiierelor poate lipsi complet. Este prezent doar la sistemele mari, complexe, i n acest caz este mai important viteza de acces la fiiere dect utilizarea eficient a spaiului pe disc. "Hard real-time systems" - se respect cu strictee (sau ntr-o anumita marj de timp) termenul cnd trebuie s intervin o aciune. "Soft real-time systems" - se accept nerespectarea ocazional a unui termen limit (ex. sistemele audio digitale sau multimedia).

2.1.4. Sisteme de operare pentru reele de calculatoare

Colecie de SO locale, suplimentate cu module pentru accesul la resursele de la distan. Caracteristici: - fiecare calculator are propriul su SO; - pentru a accesa un alt calculator din reea, un utilizator trebuie s specifice explicit localizarea acestuia; - pentru localizarea fiierelor la distan, trebuie specificat explicit nodul sau de reea ; - sistemul prezint toleran la defecte. Modulul de comunicaie pt. transferul mesajelor n reea. SO n reea raspunde de: - preluarea cererilor de servicii la distan; - determinarea localizrii resurselor; - iniierea executrii operaiilor la distan (rol de client); - returnarea serviciilor de la distan (rol de server). SO local - SO obinuit, cu diferena c se adreseaz modulului "SO n reea" pentru cererile de servicii la distan pe care nu le poate satisface. Percepe modulul "SO n reea" ca pe un server local.

2.1.5. Sisteme de operare distribuite


Un sistem de operare distribuit (SOD) apare fiecrui utilizator al unei reele de calculatoare ca un SO centralizat, dar care se execut pe mai multe noduri independente, cu condiiile: - utilizarea nodurilor multiple la implementarea SO-ului este invizibil utilizatorilor; - utilizatorii percep ntreaga reea ca pe un SO virtual monoprocesor . SOD= SO global ntr-o reea de calculatoare. Caracterizare: - pe niciun nod nu mai exist SO local; - utilizatorii nu cunosc amplasarea fiierelor n reea sau nodurile pe care se execut procesele iniiate de ei; - sistemul prezint toleran mare la defecte; - luarea deciziilor i controlul resurselor se face global n reea. Diferena major dintre sistemele pentru reele de calculatoare i SOD const n modul n care sunt percepute i accesate resursele din reea. 2.1.6. SO combinate SO combinate = combinaii ntre tipurile de SO prezentate anterior. Ex.1: Un Sistem Time Sharing care conine i un monitor batch. Se execut concurent att programele interactive ct i cele neinteractive. Job-urile batch primesc prioriti mai mici i se execut doar cnd procesorul devine disponibil. Ex.2. Sisteme Time Sharing unde unele evenimente critice (ex. recepionarea/transmiterea pachetelor de date n reea) pot fi gestionate n timp real => caracteristici ale sistemelor de timp real.

2.3. Clasificarea sistemelor de operare dup numrul de utilizatori ai sistemului de operare


f( numrul de utilizatori ai SO), exista dou tipuri de SO: a) SO monoutilizator (ex. DOS). b) SO multiutilizator sau multiacces. SO de acest tip permit accesul mai multor utilizatori , care utilizeaz terminale diferite, la acelasi sistem de calcul. Observaie SO multiutilizator nu implic i nici nu sunt implicate nici de SO multiprogramate, nici de SO multitasking. Ex.1. Un SO multiutilizator tranzacional dedicat unde un singur program controleaz zeci de terminale. Acesta nu este un SO multiprogramat. Ex.2. SO pentru PC sau anumite sisteme de timp real care, dei sunt sisteme monoutilizator, permit operaii multiproces (de exemplu Windows98 , care este monoutilizator, permite editarea unui text simultan cu listarea unui fiier i respectiv compilarea unui program).

2.4. Clasificarea sistemelor de operare dup tipul sistemelor de calcul pe care sunt instalate
2.4.1. Sisteme de operare pentru sisteme de calcul mainframe Sistemele mainframe folosite n centre mari de prelucrare a datelor. Se folosesc ca: - servere Web, - servere pentru site-uri E-commerce mari, - site-uri pentru tranzacii business-to-business, etc. Au capacitate I/O f. mare (mii de discuri i capacitate de stocare de mii de GB). Permit procesarea simultan a multor job-uri, multe efectund intensiv operaii de I/O. SO pentru mainframe furnizeaz n mod tipic 3 tipuri mari de prelucrri: a) batch (ex. generarea rapoartelor de vnzri aferente lanurilor de magazine); b) tranzacionale pentru procesarea unui numr mare (mii/sec.) de cereri mici (ex. procesare cecuri la o banc sau rezervri pentru zbor); c) time-sharing pentru situaiile cnd mai muli utilizatori aflai la distan execut simultan job-uri (ex. interogarea unei baze mari de date). Ex. de SO pentru mainframe = OS/390.

2.4.2. Sisteme de operare pentru servere Sistemele de calcul cu rol de server pot fi: PC, staii de lucru foarte mari sau chiar calculatoare mainframe. Serverele deservesc simultan mai muli utilizatori ai unei reele i fac posibil partajarea resurselor HW i SW ntre acetia. Servele pot furniza servicii de imprimare sau servicii Web, pot exista servere de fiiere, etc. Ex. tipice de SO pentru servere : Linux, UNIX, Windows 200x Server,s Novell, etc. 2.4.3. Sisteme de operare pentru sisteme multiprocesor

n cazul conectrii mai multor procesoare ntr-un singur sistem, in f( modul de conectare i de ceea ce partajeaz) se poate vorbi de calculatoare paralele, multicomputere sau sisteme multiprocesor. Sunt necesare SO speciale, adesea doar variaii ale SO pentru servere, cu trsturi speciale aferente comunicrii i conectivitii. La sistemele dotate cu mai multe procesoare modelul multitasking poate fi extins la modelul multiprocesor. Se pot executa mai multe fire de execuie simultan, cte unul pe fiecare procesor. Exista dou mari categorii: - SO cu prelucrare asimetric; - SO cu prelucrare simetric.

SO cu prelucrare asimetric (ASMP).


Se desemneaz unul dintre procesoare pentru a executa codul aferent SO. Restul procesoarelor vor executa numai procese utilizator. Caracterizare: a) Se poate proiecta relativ uor, prin extinderea SO uniprocesor. b) Este adecvat pentru configuraii HW asimetrice. c) Portabilitatea sa pe un alt tip de main fizic este dificil.

SO cu prelucrare simetric (SMP)


SO se poate executa pe orice procesor liber sau chiar pe mai multe procesoare simultan Avantaje : a) Puterea de calcul mai bine exploatat, SO utilizeaz doar un anumit procent din timpul procesor b) Fiabilitatea global a sistemului este mai mare. c) Gradul de portabilitate este mult mai mare comparativ cu varianta asimetric. Dezavantaj major SO se proiecteaz i implementeaz plecnd practic de la zero. Familia Windows NT incorporeaz cteva dintre caracteristicile definitorii ale SMP: a) Codul SO se poate executa pe orice procesor disponibil sau pe mai multe procesoare simultan, n acest ultim caz fiind preluat spre execuie de un fir cu prioritate. b) Procesele server utilizeaz firele de execuie pentru a trata simultan cererile clienilor. c) Implementeaz mecanisme speciale pentru partajarea obiectelor ntre procese i pentru comunicaii ntre procese.

2.4.4. Sisteme de operare pentru calculatoare personale SO pentru PC au rolul de a furniza o interfa bun unui singur utilizator. Ex. tipice :Windows NT i succesorii, Windows 9x, Linux, UNIX, MacIntosh, etc. 2.4.5. Sisteme de operare pentru sisteme de calcul ce lucreaz n timp real Caracteristici prezentate deja la 2.1.4. Ex. mai cunoscute VxWorks i QNX. 2.4.6. Sisteme de operare incorporate (Embedded OS) Un PDA (Personal Digital Assistant) = calculator palmtop de dimensiuni reduse, pt. funcii specifice (ex. organizarea activitii personale sau comunicaii). Modelele mai avansate ofer i caracteristici multimedia. Embedded systems" ruleaz pe calculatoare dispozitive ca: tel. mobile, TV, cuptoare ,etc. SO dedicate acestor echipamente au : -anumite caracteristici comune cu sistemele de timp real ; -caracteristici speciale relative la mrime, memorie i restricii de putere. Exemple: PalmOS i WindowsCE. 2.4.7. Sisteme de operare pentru cartele inteligente (smart cards) Smart card = plac cu circuite n care este incorporat o logic sau un firmware ce i confer un anumit grad de "inteligen" i memorie. Unele cartele inteligente au o singur funcie (ex. pli electronice), altele pot ndeplini mai multe funcii. Unele SO sunt "Java oriented: ROM-ul lor memoreaz un interpretor de Java Virtual Machine. Cardul se ncarc cu applet-uri Java , interpretate de JVM. Unele carduri pot manipula mai multe applet-uri simultan, deci sunt necesare planificarea, managementul i protecia resurselor. care controleaz

2.5. Arhitectura sistemelor de operare

2.5.1. Sisteme de operare monolitice


La sistemele de operare monolitice toate funciile sistem i structurile de date - ntr-un singur modul,

care conine toate rutinele de sistem Avantaje:

- SO se scrie o singur dat i se utilizeaz o perioad de timp mai mare;


- timpul de execuie este bun pentru c nu se irosete timp pentru comunicarea ntre module. Kernel-ul Linux-ului poate fi considerat ca i monolitic. Totusi se poate vorbi de o structurare minimal a sistemului . Modulul principal (1) apeleaz procedurile care implementeaz serviciile (2). Fiecrui apel sistem i corespunde cte o procedur (2). Procedurile (3) reprezint proceduri de lucru. Sunt apelate n comun de ctre procedurile care implementeaz serviciile. Procedurile de lucru realizeaz operaii de uz comun cum ar fi de exemplu aducerea (fetch) datelor din programele utilizator.

2.5.2. Arhitectura multinivel

Un SO cu o arhitectur multinivel (sau stratificat) este divizat n nivele ierarhizate.


Cel mai de jos - nivelul HW, cel mai de sus - interfaa utilizator . Avantajele: a) Depanarea i verificarea funciilor fiecrui nivel se realizeaz uor, pentru c nivelul n nu trebuie s cunoasc modul de implementare a nivelului n-1, ci doar funciile oferite de acesta. b) Modificarea SO se face uor, etc. Dezavantajul major = dificultatea definirii nivelelor. Observaie La anumite sisteme fizice (ex, VAX/VMS) se impune prin HW organizarea mutinivel. 2.5.3. Arhitecturi ierarhizate Un modul, aflat pe un strat ierarhic superior, utilizeaz serviciile i coordoneaz activitatea mai multor module amplasate pe acelai nivel ierarhic inferior. Exemplu de utilizare - implementarea mai multor subsisteme din componena nucleului Linux-ului.

2.5.4. Arhitecturi modulare

Funcionalitatea de baz a SO-ului se asigur printr-o colecie de module distincte.


Interaciunile dintre module se pot realiza prin apel de proceduri sau prin comunicaii interprocese.

Trsturi caracteristice: 1. Se acord prioritate aspectelor legate de ingineria SW => mentenabilitate mai bun i corectitudine sporit. Dar se pot reduce performanele globale. 2. SO poate fi implementat utiliznd tipuri abstracte de date (obiecte). Sistemul MINIX printre primele implementari. Se poate practica partiionarea n module folosind programarea pe obiecte.

Se urmrete ncapsularea i izolarea datelor n module separate (datele unui SO sunt reprezentate de resursele de sistem, adic procese, blocuri de memorie, descriptori de fiiere, etc.).
Avantajele partitionarii: a) Uurin n mentenabilitatea i modificarea ulterioare - oricnd se pot nlocui sau aduga module noi pentru a incorpora elemente HW noi sau formate noi de date. b) Accesare uniform a resurselor (SO gestioneaz un obiect eveniment n aceeai manier n care gestioneaz i un obiect proces, utiliznd handle-ul aferent obiectului).

Avantajele partitionarii la arhitecturi modulare (continuare) c) Simplificarea controlului securitii - toate obiectele sunt protejate n acelai mod. d) Partajarea uniform i facil a resurselor ntre dou sau mai multe procese (mai multe procese partajeaz un obiect dac deschid cte un handle ctre el.) Ex. - Windows NT , dei implementarea SO nu este realizat cu ajutorul unui limbaj orientat pe obiecte. Conceptul de obiect se folosete numai pentru reprezentarea a dou categorii de entiti: a) resursele care pot fi partajate ntre procese (ex. fiiere, zone de mem., semafoare, evenimente, etc.); b) struct. de date care trebuie s fie partajate de SO cu progr. utilizator i s fie vizibile din acestea. Observaie Structurile de date utilizate doar de o singur component a executivului nu sunt implementate ca obiecte.

2.5.5. Arhitectura main virtual

Unele SO = platforme pentru construcia altor SO. SO cu arhitectura de masina virtuala se implementeaza pe baza a dou pri :
a) O parte dependent de configuraia HW, care furnizeaz o main virtual, ce asigur gestionarea memoriei, a proceselor i parial a perifericelor. b) O parte dependent de strategie, care este independent de configuraia HW i reflect cerinele unui anume SO (de exemplu time-sharing, multi-tasking sau timp real).

Exist dou clase mari de aplicaii ale arhitecturii main virtual: a) Implementarea mai multor variante dependente de strategie folosind o platform HW unic (fig. 2.6.a). Ex. SUN OS poate executa aplicaii MS-DOS simultan cu aplicatii UNIX, pe aceeai main fizic. b) Portabilitatea unui SO unic pe platforme HW diferite (fig. 2.6.b) (ex. Windows, Linux, etc.).

2.4.6. Arhitecturi client-server


Un proces utilizator (numit proces client), atunci cnd apeleaz un serviciu, trimite o cerere la un proces server. Procesul server realizeaz prelucrrile necesare i trimite napoi rspunsul la cerere. Trimiterea cererii i recepionarea rspunsului se bazeaz pe mecanismul comunicaiei interprocese, mecanism implementat n kernel . Procesul client poate fi o component a SO sau un program de aplicaie.

Arhitecturi client-server (continuare)

Caracteristici mai importante:


a) SO este divizat n cteva procese server, fiecare implementnd un set de servicii, ca: gestionarea memoriei, a proceselor, afiare, etc. b) Fiecare proces server este executat n mod utilizator, ntr-o bucl infinit, n care se testeaz primirea unei cereri de serviciu. c) Fiecare proces server se execut ntr-un spaiu de memorie separat. Ex. Componentele care lucreaz n mod utilizator la familia Windows NT d) Cderea sau restartarea unui proces server nu conduc n mod obligatoriu la cderea sistemului. n plus, procesele server pot fi executate pe procesoare diferite (la SMP) sau chiar pe calculatoare diferite, n cazul SOD (fig.).
In fig. - model simplificat: kernel-ul implementeaz doar comunicaia prin transfer de mesaje. n realitate kernel-ul poate implementa i alte funcii. Unele funcii sistem chiar nu se pot realiza n mod utilizator, existnd soluiile: a) Se permite ctorva procese server critice s se execute n mod sistem, cu acces nengrdit la maina HW. b) Se construiete un mecanism minimal n kernel, lsnd ns ca deciziile strategice s fie luate la nivelul serverelor care ruleaz n mod utilizator.

2.6.Sisteme de operare pentru reele de calculatoare


Implementarea comunicaiei n reelele de calculatoare se face utiliznd modelul multinivel. In fiecare nod de reea se implementeaza o ierarhie de protocoale. Reelele de calculatoare conin n general noduri n care exist SO diferite, care urmresc gestionarea resurselor locale.

Pentru oferirea serviciilor la distan exist dou soluii:


a) nlocuirea SO de pe toate nodurile cu unul singur, omogen (cazul DOS - Distributed Operating System). b) Suplimentarea fiecrui SO local cu un proces, numit proces agent (fig.), care s acioneze ca o interfa cu sistemul de comunicaii. Ansamblul tuturor proceselor agent se numete SO de reea NOS (Network Operating System). Pentru a fi integrat ntr-un NOS, un SO local trebuie :
- s-i adapteze limbajul de comand pentru a putea prelua cereri de servicii la distan; - s includ un proces agent, care s transmit n reea cererile i s preia rspunsurile la acestea. Comenzile de la utilizator sunt filtrate de limbajul de comand n doua categorii: locale i la distan. La implementarea unui agent trebuie s se stabileasc: a) Mecanismul de interaciune cu SO local (dac se folosesc apeluri sistem sau transfer de mesaje). b) Modul de plasare a procesului agent relativ la SO local. Exist 3 posibiliti: procesul agent poate fi implementat ca un proces utilizator , poate fi inclus n kernel i respectiv poate s fie plasat ntr-o main separat.

CAZUL UNIX BSD4 UNIX BSD4 este un SO extins la NOS. S-a implementat un mecanism inovator pentru momentul respectiv, de comunicare ntre procese care permite utilizarea mai multor protocoale de reea, bazndu-se pe conceptul de soclu (socket). Un proces poate apela procese situate n diverse noduri n reea. El identific procesele nenrudite din reea i faciliteaz transferul de mesaje ntre acestea. Mecanismul soclurilor e implementat n kernel pe 3 nivele: a) Nivelul soclurilor furnizeaz interfaa apelurilor sistem (mecanismul de soclu). b) Nivelul protocoalelor conine module care implementeaz protocoalele de comunicaie (TCP, UDP, IP).

c) Nivelul de control al dispozitivelor periferice controleaz i comand comunicaia la nivel fizic n reea.
Modelul client-server: un proces server ascult la un soclu, la un capt al liniei de comunicaie pe cand alt proces, clientul, iniiaz dialogul cu serverul la cellalt capt, la un alt soclu.

Kernel-ul realizeaz dou grupe mari de sarcini:


a) menine informaiile necesare despre conexiunea client-server i realizeaz transferurile de mesaje. b) implementeaz cteva apeluri sistem relative la mecanismul soclurilor. Procesul agent este implementat ca un proces superserver internet - daemon-ul inetd (folosit si in LINUX!) .

CAZUL LINUX Arhitectura stratificat. protocolului TCP/IP. Asigura suport

Suportul pentru soclurile BSD este furnizat de un SW generic de management al soclurilor care are ca singur sarcin administrarea soclurilor BSD. SW-ul generic este furnizat de stratul "Socluri INET" care administreaz punctele de comunicaie finale pentru protocoalele bazate pe protocolul IP (TCP i UDP). Stratul IP conine cod care implementeaz protocolului IP. Sub stratul IP se afl stratul "Dispozitive de reea" (Network Devices), care nu reprezint totdeauna dispozitive fizice (de exemplu "loopback device" reprezint dispozitive SW). Protocolul ARP se plaseaz ntre stratul IP i protocoalele care ofer suport de tip ARP pentru adrese.

2.7. SO distribuite SO distribuite sunt adecvate pentru reelele locale la care toate sistemele de calcul sunt de acelai tip.

Datorita progreselor recente a devenit mai convenabil mprirea sarcinilor SW n mai multe compontente, fiecare dintre acestea rulnd pe un sistem de calcul diferit i realiznd o funcie specializat.
Asa se simplific proiectarea, administrarea, coordonarea i adesea se mbuntesc performanele i fiabilitatea sistemului. Adesea sistemul administrat printr-un SOD apare clientului ca un nor opac care realizeaz operaiile necesare, chiar dac sistemul distribuit este compus din noduri individuale (fig.). Operaiile de calcul sunt invocate ca venind din partea (in contul) clientului. Clienii pot localiza un computer (nod) din interiorul norului i pot sa solicite o anumit operaie. In timpul executrii operaiei, calculatorul aferent nodului poate face apel la alt calculator din nor, fr a comunica explicit acest lucrul clientului. Ex. Clientul C1 a apelat la N1, N1 a apelat la N2, N3 i N4 care la rndul lor pot apela alte noduri din nor, dar C1 nu a fost informat nici cine a mai fost apelat de N1 sau de nodurile solicitate de acesta nici ce operaii suplimentare au fost efectuate de noduri. Mecanismul unui sistem distribuit de tip nor poate fi divizat n mai multe schimburi de pachete individuale sau conversaii ntre noduri individuale.

Sistemele client-server tradiionale au dou noduri cu roluri i responsabiliti fixe.


Sistemele client-server moderne pot avea mai mult de dou noduri i adesea rolurile lor sunt dinamice. Astfel, ntr-o conversaie un nod poate fi client, pe cnd n alta poate fi server. n multe cazuri, ultimul consumator al funcionalitii descrise mai sus este un calculator client la care lucreaz un utilizator ce introduce date de la tastatur i urmrete rezultatele. n alte cazuri sistemul de operare distribuit lucreaz nesupravegheat, realiznd operaii de fundal (background). Este posibil ca sistemul distribuit s nu includ clieni i servere dedicate pentru fiecare schimb particular de pachete. Dar tot timpul exist un apelant sau iniiator, numit adesea client. De asemenea exist i un recipient al apelului sau receptor, numit adesea server. Nu este necesar nici mcar s existe schimburi de pachete bidirecionale n format "cerere-rspuns", mesajele fiind trimise deseori ntr-o singur direcie.

Studiu de caz pentru sistem distribuit - sistemul AMOEBA, implementat la Universitatea Vrije, Amsterdam.
Amoeba a fost proiectat pentru a lucra cu sisteme care ndeplinesc dou condiii principale: -sistemul are un numr mare de uniti centrale;

- fiecare unitate central are un volum mare de de memorie.


Fiecare dintre unitile centrale disponibile are i propria conexiune de reea, i astfel Amoeba ruleaz nu neaprat pe maini cu arhitectur multiprocesor ci i pe mai multe maini diferite conectate n reea. Mainile nu trebuie s fie de acelai tip, Amoeba putnd rula pe proc. 68030, 386, VAX, SPARC, etc. Scopurile urmarite la proiectarea acestui SO:

1. Desprinderea unei pri ct mai mari din SO i plasarea sa n procesele utilizator.


2. Utilizarea unui ansamblu de procesoare i integrarea lor ntr-un ansamblu de staii de lucru. 3. Conectarea mai multor noduri AMOEBA ntr-un singur sistem, utiliznd reele WAN. Cteva dintre cerinele de proiectare :

1. Toate sistemele de calcul sunt dotate cu acelai kernel, care furnizeaz suport pentru transferul mesajelor ntre procese, accesul la periferice i gestionarea proceselor.
2. Kernel-ul trebuie s aib o dimensiune ct mai mic, pentru asigurarea unei fiabiliti ct mai mari i trebuie s fie posibil deplasarea unei pri n procesele utilizator. 3. Sistemul trebuie s aib un caracter deschis relativ la serviciile oferite.

Structura sistemului :

1. Staiile de lucru, cte una pentru fiecare utilizator. Fiecare staie execut SW-ul de gestiune a ferestrelor, care trebuie s ofere un timp de rspuns minim.
2. Ansamblul de procesoare. Fiecare procesor poate fi alocat dinamic, utilizat i apoi returnat n ansamblu.

3. Serverele specializate. Exist servere pentru gestiunea fiierelor i a blocurilor disc, servere pentru baze de date i servere de boot, etc.
4. Pori gateway, pentru legtura la reele WAN.

Majoritatea serviciilor, implementate n servere, se executa n mod utilizator, fr privilegii speciale . Driver-ele de dispozitive se gsesc legate n micronucleu i nu pot fi ncrcate dinamic. Un proces care are nevoie de un astfel de driver poate deschide o cale de comunicaie exact ca i cum ar comunica cu un alt fir oarecare, faptul c driver-ul se gsete n nucleu fiindu-i transparent.

Concepte de baz utilizate de sistem :


1. Modelul obiect. Resursele sistemului (fiiere, blocuri disc, directoare, procese, dispozitive fizice) sunt reprezentate ca obiecte, fiecare tip de obiect fiind gestionat de un proces server, care implementeaz i serviciile corespunztoare. Un proces client trimite o cerere de serviciu, apoi se blocheaz pn la primirea rspunsului de la server. 2. Apelul procedurilor la distan . Se ncapsuleaza parametrii apelului ntr-un mesaj i apoi acesta se trimite ctre serverul corespunztor. Rezultatul prelucrrii cererii de ctre server este ncapsulat de server n alt mesaj, trimis clientului, care este deblocat. 3. Fir de execuie. Pentru a se putea realiza tranzacii simultane: - la nivel de server, fiecare cerere a unui client este tratat de un fir de execuie separat;

- la nivel de client, se pot lansa mai multe cereri simultan, fiecare fiind ncapsulat de un fir separat.
Firele nu pot fi preemptate, astfel c problemele de sincronizare i programare sunt simplificate (firul n execuie se replanific doar dac se blocheaz). 4. Conceptul de capabilitate. Toate obiectele din sistem sunt denumite i protejate cu ajutorul capabilitilor, folosind i metode criptografice. Sistemul este perceput de utilizatori ca un ansamblu de obiecte, accesate prin intermediul capabilitilor.