Documente noi - cercetari, esee, comentariu, compunere, document
Documente categorii

Sistemul Unix - Alternative Unix

Sistemul Unix

O intrebare care revine persistent in ultima vreme este De ce Unix ?Ce elemente determina implicarea acestui sistem de operare in obiectul de activitate al foarte multor standarde? De ce nu se opteazeaza pentru alte medii? Un raspuns poate fi dat privind inapoi in istoria acestui sistem de operare. Cand au inceput eforturile de standardizare, chiar utilizatorii de sistem UNIX au fost aceia care au asigurat suportul pentru comisiile nationale sau internationale de standardizare. Pentru ca au fost mult mai multi producatori de sisteme, si produse pentru UNIX si mult mai multi utilizatori decat cei dedicati platformelor proprietare, ei au putut sa se impuna. Partizanii sistemului UNIX au avut de asemenea si avantajul ca au inceput



activitatea inaintea celor apartinand sistemelor proprietare.In plus, cei care au impus sistemul UNIX au sesizat un avantaj deosebit al acestuia: el nu este asociat cu un singur producator. Toti acesti factori s-au alaturat efortului pentru standardizarea a ceea ce era in 1981 un sistem de operare nepopular. Astazi standardele, la fel de bine ca eforturile de comercializare ale producatorilor, dau sistemului UNIX puterea si complexitatea necesare pentru a castiga acceptarea sa ca sistem de operare, nu numai in laboratoarele de cercetare ci si in afara lor, in instalatii sau birouri. Cu toate acestea perspectivele sistemului UNIX raman inca cetoase. In acest moment ne aflam intr-un punct crucial din ciclul sau de viata, iar urmatorii ani vor arata daca el poate supravietui testelor care i se vor impune. Optiuni exista in continuare in favoarea sistemelor MS-DOS, OS/2, sisteme care continua sa absoarba importante resurse banesti si valoroase resurse de dezvoltare sau programare. Chiar si sistemele Macintosh sau Next (ultimul dintre ele avand un sistem de operare UNIX-like), dispunand de o interfata utilizator prietenoasa si de un suport hardware puternic, pot fi luate in consideratie ca alternative. Poate UNIX sa fie un sistem de operare competitiv intr-o lume in care ceea ce este miniatural este frumos si in care apropierea fata de utilizator este cel putin la fel de importanta ca performanta de ansamblu a sistemului? Foarte multe companii producatoare sau distribuitoare spera din toata inima sa fie asa. Piata comerciala UNIX creste rapid, an de an si in ciuda lipsei continue a aplicatiilor de uz curent si a pretului mare al software-ului si hardware-ului, comparativ cu ceea ce se ofera pe platformele OS/2 sau MS-DOS, se prevad noi salturi spectaculoase. Foarte mult din succesul sistemului UNIX este datorat perceptiei sale ca o relativ ieftina solutie departamentala, in acele medii in care este necesar sa se asigure accesul multiutilizator. Un sistem mic UNIX poate fi utilizat cu diferite terminale asigurand tot atatea functionalitate ca si o statie personala de lucru sau o retea. Sistemele care ruleaza UNIX asigura un raport cost/performanta mai bun decat sistemele mai mici, de tip desktop. Pentru a rezista asaltului sistemelor PC, din ce in ce mai bune, producatorii UNIX utilizeaza ca o arma, standardizarea. De la companiile independente pana la holdingurile industriale, producatorii si distribuitorii promoveaza noile medii standardizate pentru a convinge potentialii clienti ca sistemul UNIX ii elibereaza de dependenta de un singur producator si ca aceeasi interfata utilizator sau software poate fi intalnita pe un numar de masini diferite.Asigurand o multitudine de solutii pentru clientii lor, acesti producatori sidistribuitori spera sa demonstreze astfel ca portabilitatea si compatibilitatea dintre diferitele masini UNIX este intr-adevar posibila si ca, in consecinta, UNIX promite un nivel de portabilitate mai mare decat cel asigurat in mediul MS-DOS si mult mai mare, raportat la prelucrarea realizata.

UNIX - O privire de ansamblu

Pentru a da un raspuns cat mai concludent la intrebarea De ce UNIX? vom realiza in paragraful de fata o privire generala asupra acestui sistem de operare. Conceptia sistemului UNIX se bazeaza pe cateva elemente esentiale ce asigura mijloacele necesare pentru rezolvarea problemelor unor largi categorii de utilizatori, de la programatori la operatori ai resurselor sistemului.

O colectie de rutine, numite kernel, formeaza nucleul UNIX. Kernel-ul asigura resurselor sistemului interactiunea directa cu hardware-ul calculatorului.In sistemul UNIX numai rutinele kernel-ului pot interactiona cu hardware- ul calculatorului. Programele si aplicatiile utilizeaza aceste rutine numite apeluri sistem (sau directive sistem) pentru a-si putea realiza functiile.

De exemplu, exista o astfel de rutina numita open. Pentru a examina continutul unui anumit fisier, acesta trebuie deschis. Apelul rutinei open realizeaza operatiile necesare sistemului pentru a deschide fisierul. O alta rutina este read, care permite programelor sa citeasca in memorie continutul fisierelor. Exista aproximativ 100 de apeluri sistem. UNIX si kernel nu sint sinonime. Exista programe scurte numite utilitare care realizeaza prelucrarile de baza prin apeluri de rutine kernel, in anumite secvente. In conceptia UNIX toate aceste componente, kernel-ul si colectia de utilitare, opereaza impreuna si formeaza un sistem puternic si flexibil.

Un alt concept fundamental UNIX este modularitatea. Interfata utilizator permite operatorilor terminali sa interactioneze cu sistemul de operare UNIX pentru a realiza o anumita sarcina. In majoritatea sistemelor de operare interfata utilizator este parte integranta a sistemului. Modificarea ei necesita astfel un volum foarte mare de munca. In cadrul sistemului de operare UNIX, interfata utilizator este pur si simplu alt program, numit shell. Tendinta este sa se realizeze shell-uri cit mai prietenoase. Pentru ca shell este alt program, el poate fi inlocuit cu un program interactiv, mai intuitiv grafic. Aceasta modularitate in proiectarea UNIX permite nenumarate moduri de configurare a sistemului de operare.

Sistemul UNIX a evoluat de-a lungul a aproape trei decenii. In 1965 MIT si General Electric au demarat dezvoltarea unui sistem de operare foarte interesant numit Multics. Sistemul Multics , desi promitator ca performante nu a fost finalizat pina la o versiune comerciala. Unul din cercetatorii care au lucrat la proiectul Multics, Ken Thompson, a utilizat Multics ca model pentru scrierea unui program numit Calatorie Spatiala (Space Travel). Pentru rularea acestui program, Thompson a gasit un suport hardware in masinile Digital Equipment PDP-7 si de aici a inceput implementarea unei versiuni mai performante a programului sau. Thompson a avut ideea sa inlocuiasca sistemul de operare rudimentar al masinilor PDP-7, cu altul nou, mai evoluat, bazat in esenta pe mecanismele sistemului Multics si in primul rind pe sistemul ierarhizat de fisiere al acestuia din urma. De aici, evolutia acestui nou sistem de operare a continuat progresiv. Ken Thompson a sezizat ca dezvoltarea sistemului de operare va fi mai eficienta daca se va folosi in locul limbajului de asamblare, un limbaj de nivel inalt. In urma unor tentative nereusite cu limbajul Fortran si mai apoi BCPL (Basic Combined Programming Language) el a implementat un nou limbaj numit B. Cu acest limbaj a inceput sa scrie noi utilitare pentru masinile PDP-7, care ulterior au fost transferate pe PDP 11/20. Avand ca platforma hardware tot masinile PDP, si alti cercetatori s-au implicat in dezvoltarea noului sistem de operare. Un pas important s-a realizat prin intermediul lui Dennis Ritchie de la Bell Laboratories. Ritchie a depistat inconsistentele limbajului B si a dezvolata un limbaj propriu, numit C, un limbaj succesor al lui B. Aparitia limbajului C reprezinta un jalon in evolutia sistemului de operare UNIX. In 1973 majoritatea componentelor sistemului de operare UNIX erau rescrise in limbaj C. Mai usor de utilizat decat limbajul de asamblare, limbajul C a asigurat fundamentele dezvoltarii viitoare a sistemului UNIX. Limbajul C este relativ 'mic' ca volum, el poate fi astfel transportat relativ usor pe alte sisteme. Capacitatea de a muta cod UNIX de la un sistem la altul,numita portabilitate este unul dintre motivele principale pentru care UNIX este utilizat pe scara larga. De-a lungul anilor '70 s-au produs multe schimbari revolutionare in cadrul sistemului UNIX. In 1974 AT&T, principala companie realizatoare,a a permis institutiilor educationale sa ruleze versiunea V a sistemului UNIX; de aici inevitabil, s-au produs noi dezvoltari ale sistemului si s-a largit considerabil clasa utilizatorilor acestui sistem de operare.

Pentru potentialul utilizator de sistem UNIX al anilor '90 este utila o prezentare a versiunilor de UNIX existente, inclusiv a celor oferite de piata comerciala si, de asemenea, o evaluare a standardelor admise de fiecare.

Alternative Unix

Berkeley UNIX (BSD)

Un nucleu de dezvoltare foarte important al sistemului UNIX a fost grupul de la Computer Systems Research, al Universitatii California din Berkeley. Aici au venit sa lucreze si un numar de cercetatori de la Bell Labs. Grupul de experti UNIX sintetizat aici a promovat noi directii de dezvoltare pentru UNIX, concretizate in versiunea Berkeley Software Distribution,cunoscuta mult sub acronimul BSD. Grupul Berkeley a avut acces la un numar de calculatoare DEC VAX, care rulau Versiunea 7 a sisten DEC VAX, care rulau Versiunea 7 a sistemului de operare UNIX. Aceasta versiune era numita 32lV deoarece calcul era numita 32/V deoarece calculatoarele VAX utilizau un procesor pe 32 de biti. Grupul UNIX de la UC Berkeley a realizat modificari importante la versiunea 32/V.



O modificare importanta se refera la procedura de gestiune a memoriei.Kernel-ul a fost modificat pentru a utiliza gestiunea memoriei virtuale, cu paginare (pana in acel moment UNIX folosea mecanismul de swapping al memoriei pentru a asigura facilitatile de multiprogramare). Prin swapping, unui program i se va permite rularea numai o cuanta de timp, la sfarsitul careia, daca alt program a solicitat accesul la resursele sistemului, atunci programului planificator va transfera informatia curenta din memorie pe disc. Evident, numarul programelor rulate simultan, fara a bloca sistemul, este relativ redus.

Mecanismul de paginare a memoriei utilizeaza resursele hardware ale calculatorului pentru a tine evidenta spatiului de memorie utilizat, altfel spus numarul de pagini utilizate.

Alta contributie majora a fost adusa de grupul Berkeley la indemnul Departamentului Apararii al SUA. In 1979 DARPA, Agentia pentru cercetare in domeniul apararii a Statelor Unite, a evaluat procesoarele VAX utilizate in doua dintre proiectele sale majore. Ca parte a acestei evaluari s-a inscris si examinarea sistemelor de operare VAX, si UNIX. In primul rand comunicatiile UNIX trebuiau sa fie mai eficiente. DARPA a sprijinit financiar cercetarile in urma carora au rezultat specificatiile protocolului TCP/IP pentru UNIX. Acest protocol asigura interconectarea dintre retele diferite de calculatoare, conectabile prin linii telefonice sau prin alte tipuri de sisteme (ARPANET, Internet si alte retele de comunicatie s-au dezvoltat pe intreg teritoriul SUA, permitand cercetatorilor sa comunice usor unii cu ceilalti).

La Berkeley s-a dezvoltat, de asemenea, un mecanism general de asigurare a comunicatiior, numit mecanism de comunicatie interprocese; in acest mod se puteau stabili modalitati de comunicare intre orice tipuri de procese, nu numai intre procesele conectate prin mecanismul de pipe, asa cum se asigura in versiunile de UNIX System 7. Grupul Berkeley a decis sa implementeze un nou mecanism de comunicatie intre procese, numit socket; se permite astfel comunicatia

bidirectionala intre procese. Aceasta facilitate a deschis noi posibilitati pentru realizarea de programe sofisticate. Mecanismul socket este deosebit de util in mediile de retea. De exemplu, o baza de date multiutilizator presupune ca pot exista mai multe cereri de accesare a bazei, la un moment dat. Daca doi utilizatori vor sa modifice o inregistrare, programul de gestiune a accesului in retea va trebui sa tina evidenta si sa controleze cererile multiple de accesare a inregistrarilor.

Mecanismul socket aduce informatii in plus referitoare la rezolvarea acestui gen de problema si faciliteaza scrierea de programe sigure. Vom trata in capitolele urmatoare mai pe larg acest concept.

Doua alte extinderi pe care le aduce versiunea Berkeley sunt: vi si csh. vi este un editor de text conceput si implementat de Bill Joy impreuna cu alti cercetatori de la Berkeley. El este un editor in mod ecran, foarte utilizat de atunci in mediile UNIX. csh (C-shell) a fost realizat tot de Bill Joy. Shell-ul standard AT&T (/bin/sh) a fost proiectat de Stephen Bourne de la Bell Shell, bazate pe limbajul Algol. C-shell, realizat de Joy, aduce un numar de extensii la shell-ul standard. Multe dintre aceste extinderi au fost realizabile numai datorita modificarilor facute de grupul Berkeley asupra kernel-ului. Pentru a determina cate programe ruleaza simultan la un moment dat, in prim plan sau in in fundal, utilizatorul shell-ului Bourne va tasta comanda ps. Shell-ul C aduce comanda jobs pentru a realiza acest lucru; sub C-shell utilizatorul poate suspenda sau relua procesele care sunt rulate in fundal. De asemenea, C-Shell poseda un limbaj de programare inspirat din limbajul C (dupa cum ii spune si numele). Sistemul de fisiere, care permite accesul mai rapid, si facilitatile de lucru in retea aduse sistemului UNIX de grupul Berkeley, au permis salturi semnificative ale performantei. Ulterior, toate extinderile Berkeley au fost incluse si de AT&T in implementarile sale de UNIX, System V.

UNIX System V

AT&T a realizat transformari majore ,si a definitivat versiunea UNIX System V, numele sub care aceasta platforma UNIX este cunoscuta in mod curent. O modificare fundamentala a constituit-o introducerea conceptului de stream, care aduce procedeele de comunicatie interprocese la un nivel comparativ cu mecanismul socket BSD. Prin stream se asigura o tratare modularizata, performanta, a comunicatiilor interprocese. Acest mecanism implementeaza un protocol de comunicatie in retea numit RFS. Acest protocol asigura utilizatorilor posibilitati de interconectare si partajare a resurselor.

Pentru a-si asigura un succes pe piata sistemelor de operare si a se impune ca proprietar de drept al UNIX System V, AT&T a initiat o alianta cu compania Sun Microsystems.

Astfel, in 1989, s-a sintetizat versiunea System V 4.0, din analiza versiunilor System V, Berkeley 4.x BSD, si Xenix.

Simultan, dorind sa se mentina in competitia sistemelor UNIX, un grup de companii printre care Digital Equipment, Hewlett-Packard, IBM si Apollo,impreuna cu concernurile europene Bull, Siemens si Nixdorf au format OSF-Open Software Foundation. OSF a fost initial un sistem de operare bazat pe AIX, versiunea de UNIX dezvoltata de IBM pe masinile sale.

In ciuda concurentei OSF, UNIX System V s-a impus ca singura implementare importanta de UNIX. Ea a castigat si mai multi adepti in momentul in care Departamentul apararii al SUA l-a specificat ca referinta intr-unul dintre contractele sale,prin impunerea SVID (System V Interface Definition), un set de norme dezvoltatede AT&T, care respectate, asigura portabilitatea aplicatiilor in cadrul platformei System V.

UTS-UNIX timesharing

In 1980, compania Amdahl, un producator de calculatoare de tip mainframe compatibile IBM, a decis sa dezvolte o versiune de UNIX pentru piata de mainframe. Grupul Amdahl a realizat o versiune UNIX pentru calculatoarele din clasa 370. Rularea UNIX-UTS pe calculatoarele Amdahl suporta sute de sesiuni utilizator cu timp de raspuns rezonabil.Performantele sunt semnificative in raport cu sistemele minicalculator,care erau 'sufocate' la accesul a mai mult de 50 de utilizatori. Este, de asemenea mai economic sa se achizitioneze un singur mainframe, sa se utilizeze o singura echipa de gestiune si intretinere decat sa se cumpere patru sau cinci minicalculatoare care sa faca aceleasi functii. Sistemele Amdahl au fost utilizate si de AT&T pentru continuarea cercetarilor asupra sistemului UNIX la laboratoarele Bell.

Au fost realizate zeci de versiuni de UNIX pentru calculatoarele personale Prima dintre ele a aparut in 1980 si s-a numit Onyx. Ea a fost implementata pe o masina cu procesor Zilog Z8000. Procesoarele care au urmat lui Z8000 au constituit si ele suportul pentru versiuni de sistem de operare UNIX.

Motorola 68000 si ulterior 68030 sunt procesoare care dispun de registre pe 32 de biti si au posibilitatea de a accesa pe 32 de biti, devenind astfel microprocesoare etalon pentru proiectantii de sisteme UNIX. Un alt motiv care a determinat popularitatea componentelor Motorola, ca disponibilitate pentru UNIX, a fost existenta a numeroase case de software, care aveau pusa la punct portarea UNIX pe sistemele 68000/68030 (Unisoft,Human computing Resourxes -HCR,Philips).

Cand a aparut pe piata primul IBM-PC, s-au initiat si cerecetarile pentru portarea UNIX pe microcalulatoarele bazate pe procesoarele Intel Interactive Systems a realizat o versiune de UNIX pentru IBM-PC numita PC/ix iar Microsoft a lansat pe piata Xenix. La scurt timp dupa introducerea sistemului Xenix, un grup de programatori au format o companie de servicii si instalari de sisteme UNIX, numita Santa Cruz Operation(SCO).SCO a incheiat cu Microsoft un acord de distributie si actualizare pentru sistemul Xenix. Cresterea performantelor microprocesoarelor din familia Intel a determinat extinderea facilitatilor versiunilor de UNIX implementate pe PC-uri .Procesoarele Intel 386/486, dispunand de registre pe 32 de biti si de posibilitatea de a accesa date pe 32 de biti, au insemnat un pas inainte.A fost eliminat un obstacol major, acela al segmentarii memoriei, utilizata ca procedura de alocare de procesoarele anterioare. Intel 80386/80486 permite scrierea de cod eficient ,si ofera astfel posibilitatea de a rula versiuni complexe UNIX.O alta facilitate a acestor procesoare este capacitatea lor de a rula programe MS-DOS sub UNIX, integrand astfel un numar mare de aplicatii utilizate intens pe piata. S-au dezvoltat ,si s-au lansat pe piata cu succes relativ multe versiuni UNIX pe microcalculatoarele cu procesoare Intel 80386/ 80486. Un alt competitor major in piata 80386/80486 este Interactive Systems prin versiunile sale 386/ix de UNIX. Interactive Systems a portat UNIX pe diferite masini, de-a lungul anilor; 386/ix aduce un numar de extinderi sistemului UNIX specific acestei categorii de suport hardware. Un program dezvoltat initial de Phoenix Technologies si comercializat de Interactive Systems, numit Vp/ix, permite rularea programelor DOS sub UNIX. Impreuna cu Microsoft si AT&T, Interactive Systems a determinat dezvoltarea versiunii UNIX Sistem V/386 care reprezinta o referinta dupa care alti producatori isi pot dezvolta propriile versiuni de UNIX,pentru suportul lor hardware. UNIX System V/386 permite aplicatiilor Xenix sa ruleze fara nici o modificare. 386/ix este una dintre cele mai puternice varsiuni de UNIX ce ruleaza pe PC-uri. De asemenea, Santa Cruz Operation s-a impus ca un lider in productia de sisteme de operare UNIX pentru PC-uri prin versiunile sale SCO UNIX V/386 si prin produsele dezvoltate pentru aceasta platforma.



Un producator de luat in consideratie este si firma Apple. Apple Computer a dezvoltat pentru microcalculatoarele Macintosh, construite in jurul microprocesoarelor Motorola 68030/68040, o versiune proprie de UNIX numita A/UX. Ultima versiune a acestui sistem, A/UX 3.0.1, lansata in 1993 se doreste un punct de reper pe piata UNIX. A/UX 3.0.1 admite standardele generale UNIX(System V si BSD 4.3). Elementul sau caracteristic este compatibilitatea cu Interfata Grafica ca Utilizator Macintosh ,si posibilitatea de a rula in mod dual sistemele de operare UNIX si Macintosh Sistem 7.Este primul sistem de operare UNIX care ofera o sansa de adaptare rapida pentru nespecialisti sau pentru cei care nu au experienta in utilizarea sistemului UNIX.Acestia pot rula comenzile prin intermediul unor ferestre speciale interactive, dispunand de mesaje informative.

SunOS - prototipul UNIX pentru statiile de lucru

O statie de lucru reprezinta un calculator monoutilizator care asigura facilitati grafice complexe si resurse puternice. Firma Sun Microsystems produce o intreaga gama de statii de lucru, foarte populare in universitati sau in departamentele de proiectare, mai ales pentru disponibilitatile lor grafice.Sun utilizeaza o varianta de UNIX numita SunOS, care include in egala masura facilitati UNIX System V si BSD. Extensiile ,si imbunatatirile aduse Kernel-ului si utilitarelor au facut din platforma SunOS o puternica baza pentru dezvoltarea de software. Una dintre extinderile remarcabileale SunOS este NFS - Network File system, un protocol de retea care permite utilizatorilor sa partajeze datele si echipamentele periferice, in mod eficient,transparent. De exemplu, statiile Sun nu au de regula un hard-disc intern. Aceste situatii, in functie de reteaua la care se conecteaza, incarca software-ul si aplicatiile in memoria lor locala; mai multe statii de lucru partajaza acelasi hard-disk, de mare capacitate; in plus, capacitatea de prelucrare a fiecarei statii de lucru este locala, independenta.Acest mecanism asigura un mediu puternic si de cost relativ scazut.

UNIX-like, o alta viziune asupra sistemului UNIX

In arena UNIX a intrat in anul 1986 un sistem de operare UNIX-LIKE numit Mach. Mach a fost dezvoltat de Departamentul de Calculatoare a universitatii Carnegie-Mellon din Pittsburgh. Utilizatorii sistemului Mach nu sesizeaza diferente intre modul in care ei interactioneaza cu UNIX sau cu Mach.UNIX-like inseamna ca acelea, si comenzi sunt disponibile ,si pe UNIX si pe Match. Diferenta majora consta in modul in care cele doua sisteme sint implementate.

Modularitatea este una dintre facilitatile sistemului Mach. Mach este gandit in ideea programarii orientate pe obiecte. Programarea orientata pe obiecte izoleaza programatorul de informatia interna a rutinelor individuale.De exemplu, programatorul vrea sa genereze un dreptunghi pe ecran, inainte de a procesa o intrare. In programarea orientata pe obiecte programatorul va selecta un obiect,va apela functia generatoare pentru a afisa sau primi informatii. Un alt avantaj al acestei tehnici de programare este faptul ca mecanismele interne ale obiectelor pot fi modificate fara ca programatorul sa actualizeze sau sa reproiecteze codul program. Reutilizabilitatea modulelor program este asemanatoare cu folosirea utilitarelor in UNIX si asigura o mare productivitate. Match mai aduce un mecanism

important, ce al mesajelor. Utilizarea mecanismului de transfer de mesaje in Match deriva din implementarea sa orientata pe obiecte. Daca un mediu orientat pe obiecte izoleaza programatorul de sectiunea interna a rutinelor, cum poate atunci programatorul sa utilizeze aceste rutine? Mecanismul de transfer al mesajelor asigura aceasta posibilitate. Transmiterea unui mesaj catre un obiect este similara cu conceptul de apelare a unei proceduri, in limbajele traditionale. Mesajele asigura un grad mare de flexibilitate. Mesajele realizeaza mai mult decat o simpla comanda; ele indica ce resurse poate utiliza comanda in timp ce se executa. Astfel, transferul mesajelor intre calculatoare cu procesoare multiple permite acestor calculatoare sa-si utilizeze procesoarele la capacitatea maxima.

Implementarea unor mecanisme esentiale ale sistemului Mach este sesizata

in sistemul de operare al calulatoarelor NeXT. Introduse la sfarsitul anului 1988, calculatoarele NeXT utilizeaza Match pentru a coordona capacitatile de prelucrare ale diferitelor subsisteme. Firma Sun a inclus si ea concepte Mach in versiunile recente de SunOS.

Versiuni de sistem UNlX-alike

Exista diverse sisteme de operare care sunt denumite generic UNIX-alike.Ele utilizeaza conceptul de sistem de fisiere UNIX si/sau conceptele legate de gestiunea proceselor, care au fost dezvoltate de-a lungul anilor. Compania MicroWare produce un UNIX-alike numit OS-9. OS-9 a fost dezvoltat pe procesoarele Motorola (6809, 68000 si 68030). OS-9 are cateva atribute unice. Kernel-ul este scris pentru prelucrarile de timp real, se permit astfel anumitor sectiuni din kernel sa fie blocate in memorie si nu este necesar ca ele sa fie incarcate de pe disc. Aceasta facilitate permite sistemului OS-9 sa fie utilizat efectiv in sistemele de supraveghere si conducere a proceselor fizice; controlerele bazate pe Motorola 6808 pot utiliza o versiune OS-9 incarcata in ROM. Un alt UNIX-alike este QNX, realizat de Quantum Software. QNX este, de asemenea, o versiune destinata prelucrarilor de tip real utilizand procesoarele din familia Intel. De,si nu toate comenzile sunt similare cu cele ale UNIX, un numar considerabil al acestora asigura aproape aceleasi servicii.

Ce perspective sunt ?

AT&T, devenita Novell/USL - UNIX Systems Laboratories, a continuat sa perfectioneze produsele UNIX ingloband modificarile majore aduse de alti mari producatori. Exista un efort conjugat de standardizare a platformei UNIX, inclusiv cu norme acceptate la nivel guvernamental. Standardele FIPS/POSIX (Federal Information Procesing Standard) specifica cerintele pentru sistemele de calcul guvernamentale. Standardul POSIX descrie ce trebuie sa asigure un producator de UNIX la nivelul programelor si serviciilor computationale. Un sistem care a trecut normele POSIX a facut primul pas pentru o posibila achizitionare a sa in scop guvernamental. Alt punct important in standardizare il constituie compatibilitatea aplicatiilor(procesoare de text, spreadsheet, baze de date sau alte genuri de aplicatii). Cele doua versiuni de UNIX, System V de la AT&T si BSD UNIX se conformeaza specificatiei numita SVID (System V Interface Definition), care specifica ce resurse sistem trebuie sa asigure furnizorii pentru a numi produsele lor - sistem UNIX. Cu acest sistem de definitii combinate,atributele majore ale ambelor variante vor fi puse la dispozitia programatorilor. SVID a impulsionat dezvoltarea de software in platforma de UNIX, intr-o maniera controlabila.



Un alt obiectiv al standardelor UNIX este dezvoltarea unei Interfete pentru Aplicatii - ABI (Application Binary Interfaces). O interfata ABI descrie modul in care codul executabil specifc unui anumit microprocesor poate fi stocat si manipulat de o anumita versiune de UNIX. Acest standard permite programelor sa fie mutate de pe un sistem 80386 care ruleaza XENIX, de exemplu, pe un sistem 80386 care ruleaza 386/ix, fara a recompila aplicatiile. Astfel si sistemul UNIX si aplicatiile program care ruleaza sunt portabile. Exista ABI dezvoltate pentru diverse platforme: 80386/80486, Sun-SPARC s.a. O varianta UNIX consistenta din acest punct de vedere este UNIX System V 4.

In acest moment, exista pe piata multe versiuni distincte de UNIX.Proce-sul de standardizare continua, iar producatorii se alatura acestor standarde. Speranta generala este ca piata de UNIX sa ofere dezvoltatorilor de alicatii un mediu omogen. In mod cert, inca multe zone din lumea calculatoarelor nu au fost acoperite complet, sau nici macar satisfacator, de catre UNIX. Printre aceste directii, ce admit noi dezvoltari, se numara capacitatile de standardizare a prelucrarilor de timp real, extinderea suportului dedicat conectivitatii in retea si o gestiune mai eficienta a sistemelor mari, multiprocesor.

Tendintele cele mai recente de evolutie a filosofiei sistemelor de operare conduc catre microkernel-e, tehnologii orientate pe obiecte si catre abilitatea de a rula aplicatiile de pe sistemele de calcul personale (Windows sau Machintosh) vezi soc0.txt)

Microkernel-ul este un nucleu minimal al sistemului de operarecare asigura fundamentele modularitatii si portabilitatii. Un microkernel implementeaza functiile esentiale ale unui sistem de operare. El reprezinta un fundament pentru functiile sistem mai putin importante sau pentru aplicatii. Problema este sa se determine ca sunt functiile sitem nesentiale, acest lucru ramane in atentia implementatorilor.In general servicii care erau in mod traditional parti integrante ale sistemului de operare - sistemul de fisiere, serviciile de securitate sau sistemul de gestiune a ferestrelor - devin acum module externe, periferice, care interactioneaza cu kernel-ul sau unul cu celalalt. Conceptia microkernel-ului inlocuieste stratificarea pe verticala a sistemelor de operare cu o alta, pe orizontala.Componentele de deasupra microkernel-ului comunica direct una cu cealalta,dar utilizeaza mesaje care trec chiar prin microkernel. Microkernel-ul dirijeaza tot acest trafic. El valideaza mesajele, le transmite intre componente si asigura accesul la hardware.

Aceste atribute fac microkernel-ul foarte potrivit pentru sistemele distribuite de calcul.

Fiecare generatie de sisteme de operare s-a bazat pe un microkernel, construit de cele mai multe ori in moduri diferite. Anii '90 coincid cu perioada noilor arhitecturi microkernel introduse de Novell/USL (fostul AT&T) Open Software Foundation, IBM, Apple si de altii. O referint poate fi considerata implementarea de la Universitatea Carnegie Mellon - Match 3.0. O alta poate fi Chorus 3.0 realizat de Chorus Systems. Sun propune ca succesor al sistemului Solaris SpringOS - un sistem de operare orientat pe obiecte, iar IBM dezvelta prototipul sistemului de operare WorkPlace OS avand la baza acelasi microkernel cu Taligent, mediul de operare din proiectul comun cu Apple.

Chorus/MiX este versiunea sistemului de operare Chorus pe care USL l-a ales ca fundament pentru dezvoltarile sale de UNIX. USL propune Chorus/MiX V.4 ca implementare microkernel a SVR4.

Nucleul Chorus nu include in kernel driver-e pentru dispozitive.Aceste driver-e acceseaza hardware-ul prin intermediul kernel-ului. Aceast fapt permite componentei de la nivelul ierarhic superior, managerului de dispozitive sa mentina evidenta driver-elor dispersate in sistemul distribuit.

Chorus/MiX este compatibil cu SVR3.3 si SVR4, avand in plus facilitati de timp real. Sistemul este construit peste un nucleu care gestioneaza planificarea proceselor, memoria, evenimentele de timp-real si comunicatiilor.Restul componentelor sistemului de operare constituie server-ul, care rezida nuclelului si comunica cu el prin mesaje. Componentele de gestiune a fisielor, a mecanismelor stream sau socket sau a dispozitivelor, toate sunt tratate ca servere; un grup de astfel de servere este numit subsistem. In cazul Chorus/MiX intreaga implementare UNIX V este un astfel de subsistem.

O alta perspectiva o ofera tehnologiile orientate pe obiecte. Ceea ce se impune in acesta directie este o conceptie de proiectare a sistemelor de operare Microsoft, Apple, IBM, Novell/ULS (UNIX Systems Laboratoires),si modeleaza sistemele de operare spre conceptul generic de obiect. Mai mult chiar, standardele Microsoft-OLE, OpenDoc (de la Apple, IBM, WordPerfect, Novell si Borland) DSOM-IBM (Distributed System Object Model) si PDO-Next (Portable Distributed Objects),incearca sa pregateasca utilizatorii pentru o lume a obiectelor distribuite. In universul UNIX, Mach si Next sunt sistemele de operare care integreaza cel mai bine metodele orientate pe obiecte. Next realizeaza distributia obiectelor si pe alte sisteme de operare prin intermediul asa numitului PDO (Portable Distribute Objects). PDO pentru versiunea de UNIX, HP-UX, contine un compilator nativ de C, orientat pe obiecte (limbajul in care este scris chiar Nextstep), dar si codul necesar gestionarii cererilor de la obiectele distribuite. Next propune extinderearea PDO si pe alte platforme UNIX (Data ,General, NCR s.a).

O directie de dezvoltare pentru sistemele UNIX, un nou atribut care ar afecta aproape orice utilizator de calculator personal este: posibilitatea de a rula aplicatii de pe alte platforme. In mod curent, exista aplicatii utilitare care permit utilizatorilor UNIX sau Macintosh sa ruleze programe DOS si Windows. Evolutia sistemelor de operare va presupune ca acest fapt sa devina o facilitate standard, o parte componenta a sistemului de operare. De aici o alta implicatie, aceea ca alegerea sistemului de operare nu va mai limita drastic aria de alegere a aplicatiilor. Un sistem de operare care poate rula software de pe platforme diferite se numeste sistem cu personalitati multiple.

O posibilitate de a realiza acest atribut este prin emulare. Dar prin acest mod chiar daca procesorul pe care se realizeaza emularea este deosebit de puternic si de rapid, totusi executia software-ului se va face in mod emulare, extrem de incet, comparativ cu modul real, nativ, de rulare a aceluiasi software. O alta posibilitate pentru sistemul cu personalitati multiple o reprezinta translatarea. Translatarea reprezinta un apel repetat la biblioteca de functii a interfetei grafice utilizator, pentru a gestiona ferestrele si pentru a realiza alte functii similare pentru interfata grafica utilizator. Astfel, nu se mai emuleaza instructiune cu instructiune un sistem de operare particular.Acesta din urma va veni cu o biblioteca completa de functii, care va mima interfata graflca utilizator a sistemului gazda, dar care va fi implementata in encodul sau nativ.

Dintre sistemele de operare avansate care incorporeaza personalitati multiple amintim versiunile de UNIX de la Sun Microsystems, IBM, Hewlett-Packard si sistemul rezultat din alianta Apple - IBM, PowerOpen. Strategiile de dezvoltare ale UNIX includ si posibilitatea acestuia de a rula aplicatiile Windows, DOS sau Macintosh. Chiar mai mult, Apple dezvolta propriul sau sistem Macintosh de translatare a personalitatilor multiple, in special pentru a rula sisteme UNIX.MAS (Macintosh Aplication Service) va rula pe statiile de lucru avind la baza PowerPC si care ruleaza versiunea UNIX PowerOpen. MAS se profileaza ca o entitate distincta de alte realizari similare ale firmei Apple.MAS apare ca o fereastra Mczcintosh pe statiile PowerOpen, care poate suporta eventual implementari, si pe alte tipuri de statii UNIX. Aceste tendinte pot duce la adevarate revoluti si sincope in lumea producatorilor de sisteme de calcul si, mai ales, in aceea a producatorilor software, exclusiv pentru sistemele UNIX, pusi in fata asaltului aplicatiilor populare de pe platformele Windows, MacIntosh, DOS sau chiar OS/2.

Adevaratul impact al sistemelor cu personalitati multiple va fi insa asupra utilizatorilor, prin realizarea unui acces mai simplu, mai usor la o serie de aplicatii software mai eficiente si, de ce nu, prin mai multa flexibilitate in alegerea sistemului de operare.