Sistemul de operare Unix a fost dezvoltat în. Caracteristici distinctive ale sistemului de operare Unix. Principalele diferențe dintre Linux și Unix

UNIX a apărut la laboratoarele Bell de la AT&T cu mai bine de 20 de ani în urmă.

UNIX este un sistem de operare multi-utilizator, multitasking, care include mijloace destul de puternice de protejare a programelor și fișierelor diferiților utilizatori. Este scris în limbajul C și este independent de mașină, ceea ce îi asigură mobilitatea ridicată și portabilitatea ușoară a programelor de aplicație pe PC-uri cu diferite arhitecturi. O caracteristică importantă a familiei de sisteme de operare UNIX este modularitatea și un set extins de programe utilitare care fac posibilă crearea unui mediu de operare favorabil pentru utilizatorii programatori.

Suportă ierarhic structura fișierului, memorie virtuală, interfață cu mai multe ferestre, sisteme multiprocesor, sistem de gestionare a bazelor de date multi-utilizator, rețele de calculatoare eterogene.

Sistemul de operare UNIX are următoarele caracteristici principale:

Portabilitate;

- multitasking preventiv bazat pe procese care rulează în spații de adrese izolate din memoria virtuală;

A sustine munca simultana mulți utilizatori;

Suport pentru procese asincrone;

Sistem de fișiere ierarhic;

Suport pentru operațiuni I/O independente de dispozitiv (prin fișiere speciale ale dispozitivului);

Interfață standard pentru programe ( canale de programe, IPC) și utilizatori (un interpret de comandă care nu este inclus în nucleul sistemului de operare);

Instrumente de contabilitate a utilizării sistemului încorporate.

Arhitectura sistemului de operare UNIX- pe mai multe niveluri. Lucrează la nivelul inferior miez sistem de operare. Funcțiile kernelului (gestionarea proceselor, managementul memoriei, gestionarea întreruperilor etc.) sunt accesibile prin intermediul interfață de apel de sistem, formând al doilea nivel. Apeluri de sistem oferi interfata software pentru a accesa procedurile kernelului. La nivelul următor lucrează interpreți de comandă , comenzi și utilitare administrarea sistemului, comunicare şoferiiȘi protocoale , - tot ceea ce i se atribuie de obicei programul sistemului . Se formează nivelul exterior programe de aplicație utilizator, rețea și alte servicii de comunicații, DBMS și utilități.

Sistemul de operare îndeplinește două sarcini principale: manipularea și stocarea datelor. Majoritatea programelor manipulează în primul rând datele, dar în cele din urmă acestea sunt stocate undeva. Pe un sistem UNIX, această locație de stocare este Sistemul de fișiere. Mai mult, în UNIX toate dispozitivele, cu care funcționează sistemul de operare, sunt prezentate și ca fișiere speciale în sistemul de fișiere.

Sistem de fișiere logicîn sistemul de operare UNIX (sau pur și simplu Sistemul de fișiere ) este o structură organizată ierarhic a tuturor directoarelor și fișierelor din sistem, începând cu rădăcină catalog. Sistemul de fișiere UNIX oferă o interfață unificată pentru accesarea datelor aflate pe diverse medii și la dispozitive periferice. Un sistem de fișiere logic poate consta din unul sau mai multe (sub)sisteme fizice de fișiere, care sunt secțiuni ale mediilor fizice (discuri, CD-ROM-uri sau dischete).


Sistemul de fișiere controlează permisiunile fișierelor, efectuează operațiuni de creare și ștergere a fișierelor și scrie/citește datele fișierului. Sistemul de fișiere oferă redirecționarea cererilor adresate dispozitivelor periferice corespunzătoare modulelor subsistemului I/O.

Structura ierarhică a sistemului de fișiere UNIX facilitează navigarea. Fiecare director pornind de la rădăcină ( / ), la rândul său, conține fișiere și subdirectoare.

UNIX nu are o limită teoretică a numărului de subdirectoare, dar există o limită lungime maxima Numele fișierului specificat în comenzi are 1024 de caractere.

UNIX are mai multe tipuri de fișiere, care diferă în scop functional:

Dosar obișnuit - Cel mai comun tip de fișier care conține date într-un anumit format. Pentru sistemul de operare, astfel de fișiere sunt pur și simplu o secvență de octeți. Aceste fișiere includ fișiere text, date binare și programe executabile.

Catalog- acesta este un fișier care conține numele fișierelor conținute în el, precum și indicatorii către Informații suplimentare, permițând sistemului de operare să efectueze acțiuni cu aceste fișiere. Directoarele sunt folosite pentru a forma un arbore de sistem de fișiere logic.

Fișier special pentru dispozitiv - Oferă acces la dispozitive fizice. Dispozitivele sunt accesate prin deschidere, citire și scriere dosar special dispozitive.

FIFO - conductă numită. Acest fișier este utilizat pentru comunicarea între procese pe bază de coadă.

Priză- vă permit să reprezentați o conexiune de rețea ca fișier.

Fiecare fișier din UNIX conține un set de permisiuni care determină modul în care utilizatorul interacționează cu fișierul.

Fiecare hard disk este format din una sau mai multe părți logice - partiții. Locația și dimensiunea partiției sunt determinate atunci când discul este formatat. În UNIX, partițiile acționează ca dispozitive independente care sunt accesate ca medii de stocare diferite. O secțiune poate conține doar una sistem de fișiere fizic.

Există multe tipuri de sisteme de fișiere fizice, cum ar fi FAT16 și NTFS, cu structuri diferite. În plus, există multe tipuri de sisteme de fișiere fizice UNIX ( ufs, s5fs, ext2, vxfs, jfs, ffs etc.).

), al treilea (GNU/Linux) și multe locuri ulterioare.

Sistemele UNIX au o mare importanță istorică, deoarece au dat naștere unora dintre conceptele și abordările populare de SO și software de astăzi. De asemenea, în timpul dezvoltării sistemelor Unix, a fost creat limbajul C.

Exemple de sisteme de operare cunoscute asemănătoare UNIX includ: BSD, Solaris, Linux, Android, MeeGo, NeXTSTEP, Mac OS X, Apple iOS.

Poveste

Predecesorii

Primele versiuni ale UNIX au fost scrise în limbaj de asamblare și nu aveau un compilator de limbaj de nivel înalt încorporat. În jurul anului 1969, Ken Thompson, cu asistența lui Dennis Ritchie, a dezvoltat și implementat limbajul Bi (B), care era o versiune simplificată (pentru implementare pe minicalculatoare) a limbajului BCPL dezvoltat în limbaj. Bi, la fel ca BCPL, era un limbaj interpretat. În 1972, a fost lansată a doua ediție a UNIX, rescrisă în limba Bi. În 1969-1973, a fost dezvoltat un limbaj compilat bazat pe Bi, numit C (C).

Despică

Un motiv important pentru divizarea UNIX a fost implementarea stivei de protocoale TCP/IP în 1980. Înainte de aceasta, comunicarea de la mașină la mașină în UNIX era la început - cea mai importantă metodă de comunicare era UUCP (un mijloc de copiere a fișierelor dintr-un sistem UNIX în altul, rulând inițial pe retelele telefonice folosind modemuri).

Au fost propuse două interfețe de programare aplicații de rețea: prize Berkley (priză Berkley) și interfață pentru stratul de transport TLI (engleză) Interfața stratului de transport).

Interfața socket-urilor Berkley a fost dezvoltată la Universitatea din Berkeley și a folosit stiva de protocoale TCP/IP dezvoltată acolo. TLI a fost creat de AT&T conform definiției stratului de transport a modelului OSI și a apărut pentru prima dată în Sistem V versiunea 3. Deși această versiune conținea TLI și fluxuri, inițial nu a avut o implementare TCP/IP sau alte protocoale de rețea, dar astfel de implementări au fost furnizate de terți.

Implementarea TCP/IP a fost inclusă oficial și în cele din urmă în distribuția de bază a System V versiunea 4. Acest lucru, împreună cu alte considerente (în mare parte cele de piață), a determinat demarcarea finală între cele două ramuri ale UNIX - BSD (Berkeley University) și System V (versiunea comercială de la AT&T). Ulterior, multe companii, care au licențiat System V de la AT&T, și-au dezvoltat propriile soiuri comerciale de UNIX, cum ar fi AIX, CLIX, HP-UX, IRIX, Solaris.

Implementările UNIX moderne nu sunt în general sisteme V sau BSD pure. Ei implementează funcții atât ale System V, cât și ale BSD.

Sisteme de operare gratuite asemănătoare UNIX

În acest moment, GNU/Linux și reprezentanții familiei BSD câștigă rapid piața din sistemele comerciale UNIX și, în același timp, pătrund în ambele computere desktop utilizatorii finali și sistemele mobile și încorporate.

Sisteme proprietare

Influența UNIX asupra evoluției sistemelor de operare

Ideile din spatele UNIX au avut un impact uriaș asupra dezvoltării sistemelor de operare pentru computere. În prezent, sistemele UNIX sunt recunoscute ca fiind unul dintre cele mai importante sisteme de operare din punct de vedere istoric.

Folosit pe scară largă în programarea sistemelor, limbajul C, creat inițial pentru dezvoltarea UNIX, a depășit UNIX în popularitate. Limbajul C a fost primul limbaj „tolerant” care nu a încercat să impună un sau altul stil de programare programatorului. C a fost primul limbaj de nivel înalt care a oferit acces la toate capabilitățile procesorului, cum ar fi referințe, tabele, deplasări de biți, incremente etc. Pe de altă parte, libertatea limbajului C a condus la erori de depășire a tamponului în funcțiile bibliotecii standard C. precum gets și scanf. Rezultatul au fost multe vulnerabilități notorii, cum ar fi cea exploatată de faimosul vierme Morris.

Primii dezvoltatori ai UNIX au ajutat la introducerea principiilor de programare modulară și reutilizare în practica ingineriei.

UNIX a oferit posibilitatea de a utiliza protocoalele TCP/IP pentru o perioadă relativă calculatoare ieftine ceea ce a dus la creșterea rapidă a internetului. Acest lucru, la rândul său, a contribuit la descoperirea rapidă a mai multor vulnerabilități majore în securitatea, arhitectura și utilitățile de sistem UNIX.

De-a lungul timpului, cei mai importanți dezvoltatori UNIX au dezvoltat norme culturale de dezvoltare software, care a devenit la fel de important ca și UNIX însuși. ( )

Rol social în comunitatea profesioniștilor IT și rol istoric

UNIX-urile originale rulau pe computere mari multi-utilizator, care ofereau și sisteme de operare proprietare de la producătorul de hardware, cum ar fi RSX-11 și VMS-ul său descendent. În ciuda faptului că, conform mai multor opinii, UNIX-ul de atunci avea dezavantaje în comparație cu datele OS (de exemplu, lipsa unor motoare serioase de baze de date), era a) mai ieftin și uneori gratuit pentru instituțiile academice b) era portabil de la echipament la echipament și dezvoltat în limbajul portabil C, care a „decuplat” dezvoltarea programului de hardware specific. În plus, experiența utilizatorului s-a dovedit a fi „decuplată” de hardware și producător - o persoană care a lucrat cu UNIX pe VAX ar putea lucra cu ușurință cu acesta pe 68xxx și așa mai departe.

Producătorii de hardware la acea vreme aveau adesea o atitudine cool față de UNIX, considerându-l o jucărie și oferindu-și sistemul de operare proprietar pentru muncă serioasă - în primul rând DBMS și aplicații de afaceri bazate pe acestea în structuri comerciale. Se știe că DEC a comentat această problemă în ceea ce privește VMS-ul său. Corporațiile au ascultat acest lucru, dar nu mediul academic, care avea tot ce avea nevoie în UNIX, de multe ori nu necesita sprijin oficial din partea producătorului, se gestiona singur și apreciau costul scăzut și portabilitatea UNIX.

Astfel, UNIX a fost probabil primul sistem de operare portabil pe hardware diferit.

A doua ascensiune a UNIX a fost introducerea procesoarelor RISC în jurul anului 1989. Chiar și înainte de asta, existau așa-zise. Stațiile de lucru sunt computere personale cu un singur utilizator de mare putere, care au suficientă memorie, un hard disk și un sistem de operare suficient de dezvoltat (multitasking, protecție a memoriei) pentru a funcționa cu aplicații serioase, cum ar fi CAD. Printre producătorii de astfel de mașini, Sun Microsystems s-a remarcat, făcându-și un nume pe ele.

Înainte de apariția procesoarelor RISC, aceste stații foloseau de obicei un procesor Motorola 68xxx, la fel ca în computerele Apple (deși cu un sistem de operare mai avansat decât cel al Apple).

În jurul anului 1989, au apărut pe piață implementări comerciale ale procesoarelor cu arhitectură RISC. Decizia logică a unui număr de companii (Sun și altele) a fost de a porta UNIX la aceste arhitecturi, ceea ce a presupus imediat transferul întregului ecosistem software UNIX.

Sistemele de operare serioase proprietare, precum VMS, și-au început declinul tocmai din acest moment (chiar dacă era posibil să se transfere sistemul de operare în sine în RISC, totul a fost mult mai complicat cu aplicații pentru acesta, care în aceste ecosisteme erau adesea dezvoltate în asamblare sau în limbaje proprietare precum BLISS), iar UNIX a devenit sistemul de operare pentru cele mai puternice computere din lume.

Cu toate acestea, în acest moment ecosistemul PC-ului a început să se îndrepte către bazat pe GUI fata de Windows 3.0. Avantajele enorme ale GUI, precum și, de exemplu, suportul unificat pentru toate tipurile de imprimante, au fost apreciate atât de dezvoltatori, cât și de utilizatori. Acest lucru a subminat foarte mult poziția UNIX pe piață - implementări precum SCO și Interactive UNIX nu au putut suporta aplicațiile Windows. În ceea ce privește interfața grafică pentru UNIX, numită X11 (au existat și alte implementări, mult mai puțin populare), nu a putut funcționa pe deplin pe un computer de utilizator obișnuit din cauza cerințelor de memorie - pentru funcționarea normală, X11 necesita 16 MB, în timp ce Windows 3.1 cu acesta a funcționat suficient. bine să rulați atât Word, cât și Excel simultan în 8 MB (aceasta a devenit dimensiunea standard de memorie a PC-ului la acel moment). Cu prețurile mari ale memoriei, acesta a fost un factor limitativ.

Succesul Windows a dat impuls proiectului intern al Microsoft numit Windows NT, care era compatibil API cu Windows, dar în același timp avea aceleași caracteristici arhitecturale ale unui sistem de operare serios ca și UNIX - multitasking, protecție completă a memoriei, suport pentru mașini multiprocesor, drepturi de acces la fișiere și directoare syslog. Windows NT a introdus, de asemenea, sistemul de fișiere jurnal NTFS, care la acea vreme a depășit toate sistemele de fișiere furnizate standard cu UNIX ca capabilități - analogii pentru UNIX erau doar produse comerciale separate de Veritas și altele.

Deși Windows NT nu a fost popular inițial din cauza cerințe ridicate la memorie (aceași 16 MB), a permis Microsoft să intre pe piața soluțiilor de server, de exemplu, DBMS. Mulți la acea vreme nu credeau că Microsoft, în mod tradițional o companie de software pentru desktop, ar putea fi un jucător pe piața de software pentru întreprinderi, care avea deja nume mari precum Oracle și Sun. La această îndoială s-a adăugat și faptul că Microsoft DBMS - SQL Server - a început ca o versiune simplificată a Sybase SQL Server, licențiată de la Sybase și 99% compatibilă în toate aspectele lucrului cu acesta.

În a doua jumătate a anilor 1990, Microsoft a început să introducă UNIX pe piața serverelor corporative.

Combinația factorilor de mai sus, precum și o scădere uriașă a prețului procesoarelor video 3D, care au trecut de la echipamente profesionale la echipamente de acasă, au distrus în esență conceptul de stație de lucru până la începutul anilor 2000.

În plus, sistemele Microsoft sunt mai ușor de gestionat, mai ales în cazurile de utilizare obișnuite.

Dar UNIX a început acum a treia ascensiune dramatică.

În plus, Stallman și camarazii săi, pe deplin conștienți de faptul că instrumentele de dezvoltare neproprietate sunt necesare pentru succesul software-ului non-corporat, au dezvoltat un set de compilatoare pentru diferite limbaje de programare (gcc), care, împreună cu GNU dezvoltat anterior utilitare (înlocuind utilitarele standard UNIX) a compilat un pachet software necesar și destul de puternic pentru un dezvoltator.

Pentru a crea un UNIX complet gratuit, lipsea în esență doar nucleul OS. Și a fost dezvoltat de studentul finlandez Linus Torvalds. Nucleul a fost dezvoltat de la zero și nu este din punct de vedere cod sursa un derivat nici al BSD, nici al System V (deși concepte au fost împrumutate, de exemplu, Linux avea funcțiile namei și bread), totuși, într-o serie de nuanțe (apeluri de sistem, rich /proc, lipsă de sysctk) gravitează mai mult spre din urmă.

  • POSIX 1003.2-1992, care definește comportamentul utilităților, inclusiv interpret de comenzi;
  • POSIX 1003.1b-1993, care completează POSIX 1003.1-1988, specifică suport pentru sisteme în timp real;
  • POSIX 1003.1c-1995, care completează POSIX 1003.1-1988, definește fire de execuție, cunoscute și sub numele de pthreads.

Toate standardele POSIX sunt compilate în IEEE 1003.

Din motive de compatibilitate, mai mulți creatori de sisteme UNIX au propus utilizarea formatului ELF al sistemului SVR4 pentru fișiere binare și obiect. Un singur format asigură conformitatea completă între fișierele binare din aceeași arhitectură de computer.

Structura de directoare a unor sisteme, în special GNU/Linux, este definită în standardul ierarhiei sistemului de fișiere. Cu toate acestea, acest tip de standard este controversat în multe privințe și este, chiar și în cadrul comunității GNU/Linux, departe de a fi universal.

Comenzi standard UNIX

  • Crearea și navigarea fișierelor și directoarelor: atingeți , , , , , , pwd , , mkdir , rmdir , find , ;
  • Vizualizați și editați fișiere: mai mult , mai puțin , , ex, , emacs ;
  • Procesare text: echo, cat, grep, sort, uniq, sed, awk, tee, head, tail, cut, split, printf;
  • Comparare fișiere: comm, cmp, diff, patch;
  • Diverse utilitare shell: da, test, xargs, expr;
  • Administrare sistem: chmod , chown , , , , who , , mount , umount ;
  • Comunicatii: mail, telnet, ftp, finger, rsh, ssh;
  • Shell-uri de comandă: bash, csh, ksh, tcsh, zsh;
  • Lucrul cu codul sursă și codul obiect: cc, gcc, ld, , yacc, bison, lex, flex, ar, ranlib, make;
  • Comprimare și arhivare: comprimați, decomprimați, gzip, gunzip, tar
  • Lucreaza cu fișiere binare: , siruri de caractere

Mai jos este o listă a celor 60 de comenzi din secțiunea 1 a primei versiuni de UNIX:

  • b, bas, bcd, boot
  • pisică, chdir, verifica, chmod, chown, cmp,
  • data , db, dbppt, , , dsw, dtf,
  • mail, mesg, mkdir, mkfs, mount,
  • rew, rkd, rkf, rkl, , rmdir, roff

Note

Vezi si

Sistemul de operare UNIX, precursorul multor sisteme de operare moderne, cum ar fi Linux, Android, Mac OS X și multe altele, a fost creat în interiorul zidurilor centru de cercetare Bell Labs este o divizie a AT&T. În general, Bell Labs este un adevărat teren de reproducere pentru oamenii de știință care au făcut descoperiri care au schimbat literalmente tehnologia. De exemplu, la Bell Labs au lucrat oameni de știință precum William Shockley, John Bardeen și Walter Brattain, care au creat prima oară tranzistor bipolarîn 1947. Putem spune că la Bell Labs a fost inventat laserul, deși maserii fuseseră deja creați până la acel moment. Claude Shannon, fondatorul teoriei informației, a lucrat și la Bell Labs. Acolo au lucrat și creatorii limbajului C, Ken Thompson și Denis Ritchie (ne vom aminti mai târziu), iar acolo lucrează și autorul cărții C++, Bjarne Stroustrup.

În drum spre UNIX

Înainte de a vorbi despre UNIX în sine, să ne amintim acele sisteme de operare care au fost create înainte de el și care au definit în mare măsură ce este UNIX și, prin intermediul lui, multe alte sisteme de operare moderne.

Dezvoltarea UNIX nu a fost prima lucrare în domeniul sistemelor de operare realizată la Bell Labs. În 1957, laboratorul a început să dezvolte un sistem de operare numit BESYS (prescurtare de la Bell Sistem de operare). Liderul proiectului a fost Viktor Vysotsky, fiul unui astronom rus care a emigrat în America. BESYS a fost un proiect intern care nu a fost lansat ca produs comercial finit, deși BESYS a fost distribuit pe bandă magnetică tuturor. Acest sistem a fost proiectat pentru a rula pe computere din seria IBM 704 - 709x (IBM 7090, 7094). Aș dori să numesc aceste lucruri cuvântul antediluvian „calculatoare”, dar pentru a nu răni urechile, vom continua să le numim computere.

IBM 704

În primul rând, BESYS a fost destinat executării în lot a unui număr mare de programe, adică în așa fel încât să fie specificată o listă de programe, iar execuția lor să fie planificată astfel încât să ocupe cât mai mult timp posibil. . resurse posibile pentru ca computerul să nu stea inactiv. În același timp, BESYS a avut deja începuturile unui sistem de operare de partajare a timpului - adică, în esență, ceea ce se numește acum multitasking. Când au apărut sisteme complete cu time sharing, această oportunitate a fost folosită pentru ca mai multe persoane să poată lucra cu un computer în același timp, fiecare de pe propriul terminal.

În 1964, Bell Labs a suferit o actualizare a computerelor, în urma căreia BESYS nu a mai putut fi rulat pe computere noi de la IBM, în acel moment, era exclusă. La acea vreme, IBM a furnizat computere fără sisteme de operare. Dezvoltatorii de la Bell Labs ar fi putut începe să scrie un nou sistem de operare, dar au făcut-o altfel - s-au alăturat dezvoltării sistemului de operare Multics.

Proiectul Multics (prescurtarea de la Multiplexed Information and Computing Service) a fost propus de profesorul MIT Jack Dennis. În 1963, el și studenții săi au dezvoltat o specificație pentru un nou sistem de operare și au reușit să intereseze reprezentanții General Electric în proiect. Drept urmare, Bell Labs s-a alăturat MIT și General Electric în dezvoltarea unui nou sistem de operare.

Iar ideile pentru proiect au fost foarte ambițioase. În primul rând, trebuia să fie un sistem de operare cu partajare cu normă întreagă. În al doilea rând, Multics nu a fost scris în limbaj de asamblare, ci într-una dintre primele limbi nivel inalt- PL/1, care a fost dezvoltat în 1964. În al treilea rând, Multics ar putea funcționa calculatoare multiprocesor. Același sistem de operare avea un sistem de fișiere ierarhic, numele fișierelor puteau să conțină orice caractere și să fie destul de lungi, iar sistemul de fișiere oferea și legături simbolice către directoare.

Din păcate, munca la Multics a durat mult timp programatorii Bell Labs nu au văzut niciodată lansarea acestui produs și au părăsit proiectul în aprilie 1969. Și lansarea a avut loc în luna octombrie a aceluiași an, dar se spune că prima versiune a fost teribil de erori, iar pentru încă un an, dezvoltatorii rămași au corectat erorile pe care le-au raportat utilizatorii, deși un an mai târziu Multics era deja un sistem mai fiabil. .

Multics era încă în dezvoltare de ceva timp, ultima versiune a fost în 1992 și era versiunea 12.5, deși aceasta este o poveste complet diferită, Multics a avut un impact uriaș asupra viitorului UNIX.

Nașterea UNIX

UNIX a apărut aproape din întâmplare, iar vinovat a fost jocul pe computer „Space Travel”, un joc de zbor spațial scris de Ken Thompson. Era în 1969, jocul „Space Travel” a fost proiectat pentru același sistem de operare Multics, iar după ce Bell Labs a fost întrerupt de accesul la noile versiuni de Multics, Ken a rescris jocul în Fortran și l-a portat pe sistemul de operare GECOS. sistem, care a venit cu computerul GE-635. Dar aici s-au strecurat două probleme. În primul rând, acest computer nu avea un sistem foarte bun pentru afișare și, în al doilea rând, jocul pe acest computer era puțin costisitor - ceva de genul 50-75 USD pe oră.

Dar într-o zi Ken Thompson a dat peste un computer DEC PDP-7 care a fost rar folosit și ar putea fi potrivit pentru rularea Space Travel și avea și un procesor video mai bun.

Portarea jocului pe PDP-7 nu a fost atât de ușoară, necesitând în esență scris un nou sistem de operare pentru a-l rula. Acest lucru a lăsat problema până la ce vor merge programatorii pentru jucăria lor preferată. Așa s-a născut UNIX, sau mai degrabă Unics. Numele, sugerat de Brian Kernighan, este o abreviere a cuvintelor Uniplexat Sistem informatic și de calcul. Permiteți-mi să vă reamintesc că numele Multics provine din cuvinte Multiplexat Serviciul de informare și calcul, astfel, Unics a fost într-un fel opus Multics în ceea ce privește simplitatea. Într-adevăr, Multics era deja atacat din cauza complexității sale. Pentru comparație, primele versiuni ale nucleului Unics au ocupat doar 12 KB de RAM față de 135 KB pentru Multics.

Ken Thompson

De data aceasta, dezvoltatorii nu au experimentat (încă) cu limbaje de nivel înalt, iar prima versiune a Unics a fost scrisă în limbaj de asamblare. Thompson însuși, Denis Ritchie și mai târziu Douglas McIlroy, Joey Ossanna și Rad Kennedy au luat parte la dezvoltarea Unics. La început, Kernighan, care a propus numele OS, a oferit doar sprijin moral.

Puțin mai târziu, în 1970, când a fost implementat multitasking, sistemul de operare a fost redenumit UNIX și nu mai era considerat o abreviere. Acest an este considerat anul oficial al nașterii UNIX și de la 1 ianuarie 1970 se numără timpul sistemului(număr de secunde de la această dată). Aceeași dată este numită mai jalnic - începutul erei UNIX (în engleză - Epoca UNIX). Îți amintești cum ne-am speriat cu toții problema Y2K? Deci, o problemă similară ne așteaptă încă din 2038, când numerele întregi pe 32 de biți, care sunt adesea folosite pentru a determina data, nu vor fi suficiente pentru a reprezenta timpul, iar ora și data vor deveni negative. Aș dori să cred că până în acest moment toate programele esențiale vor folosi variabile pe 64 de biți în acest scop pentru a împinge această dată groaznică cu încă 292 de milioane de ani, iar apoi vom găsi ceva. 🙂

Până în 1971, UNIX era deja un sistem de operare cu drepturi depline și Bell Labs și-a exprimat chiar pretenția. marcă UNIX. În același an, UNIX a fost rescris pentru a rula pe computerul mai puternic PDP-11, și în acest an primul versiunea oficială UNIX (numit și Prima Ediție).

În paralel cu dezvoltarea Unics/UNIX, Ken Thompson și Denis Ritchie, începând din 1969, au dezvoltat Limba noua; limbaj nou B (Bi), care s-a bazat pe limbajul BCPL, care, la rândul său, poate fi considerat un descendent al limbajului Algol-60. Ritchie a propus rescrierea UNIX în B, care era portabil, deși interpretat, și apoi a continuat să modifice limbajul pentru a se potrivi noilor nevoi. În 1972, a fost lansată cea de-a doua versiune a UNIX, Ediția a doua, care a fost scrisă aproape în întregime în B, un modul destul de mic de aproximativ 1000 de linii a rămas în asamblare, așa că portarea UNIX pe alte computere era acum relativ ușoară. Așa a devenit UNIX portabil.

Ken Thompson și Dennis Ritchie

Apoi limbajul B a evoluat împreună cu UNIX până a dat naștere limbajului C, unul dintre cele mai multe limbi cunoscute programare, care acum este de obicei calomniată sau exaltată ca ideal. În 1973, a treia ediție a UNIX a fost lansată cu un compilator C încorporat, iar începând cu a 5-a versiune, care a fost lansată în 1974, se crede că UNIX a fost complet rescris în C. Apropo, era în UNIX în 1973 că conceptul de conducte

Începând din 1974-1975, UNIX a început să se răspândească dincolo de Bell Labs. Thompson și Ritchie publică UNIX în Comunicațiile ACM, iar AT&T furnizează UNIX institutii de invatamant ca mijloc de învăţare. În 1976, putem spune că a avut loc prima portare a UNIX pe alt sistem - pe computerul Interdata 8/32. În plus, în 1975, a fost lansată a șasea versiune de UNIX, începând cu care au apărut diverse implementări ale acestui sistem de operare.

Sistemul de operare UNIX s-a dovedit a fi atât de de succes încât, începând cu sfârșitul anilor 70, alți dezvoltatori au început să realizeze sisteme similare. Să trecem acum de la UNIX original la clonele sale și să vedem ce alte sisteme de operare au apărut datorită lui.

Apariția BSD

Proliferarea acestui sistem de operare a fost în mare măsură facilitată de oficialii americani, chiar înainte de nașterea UNIX, în 1956, care au impus restricții AT&T, care deținea Bell Labs. Cert este că, la acea vreme, Departamentul de Justiție a forțat AT&T să semneze un acord care interzicea companiei să se angajeze în activități care nu sunt legate de rețelele și echipamentele de telefonie și telegraf, dar în anii 70 AT&T și-a dat deja seama ce proiect de succes a rezultat UNIX. a fi și a vrut să-l facă comercial. Pentru ca oficialii să le permită să facă acest lucru, AT&T a transferat codul sursă UNIX către unele universități americane.

Una dintre aceste universități care avea acces la corpul codului sursă a fost Universitatea din California din Berkeley, iar dacă există coduri sursă ale altor oameni, atunci apare involuntar dorința de a corecta ceva din program pentru tine, mai ales că licența a făcut-o. nu interzice acest lucru. Astfel, câțiva ani mai târziu (în 1978), a apărut primul sistem compatibil UNIX, care nu a fost creat între zidurile AT&T. Era BSD UNIX.

Universitatea din California din Berkeley

BSD este o abreviere pentru Berkeley Software Distribution, un sistem special de distribuire a programelor în cod sursă cu o licență foarte soft. Licența BSD a fost creată doar pentru distribuția noului sistem compatibil UNIX. Această licență permite reutilizare cod sursă distribuit sub acesta și, în plus, spre deosebire de GPL (care nu exista încă), nu impune nicio restricție asupra programelor derivate. În plus, este foarte scurt și nu se ocupă de o mulțime de termeni juridici plictisitori.

Primul Versiunea BSD(1BSD) a fost mai mult o adăugare la versiunea originală UNIX 6 decât un sistem de sine stătător. 1BSD a adăugat compilatorul Pascal și editorul de text ex. A doua versiune a BSD, lansată în 1979, includea programe cunoscute precum vi și C Shell.

După ce a apărut BSD UNIX, numărul de sisteme compatibile cu UNIX a început să crească incredibil de rapid. Deja de la BSD UNIX, ramuri separate de sisteme de operare au început să se ramifică, diferite sisteme de operare au schimbat cod între ele, împletirea a devenit destul de confuză, așa că în viitor nu ne vom opri asupra fiecărei versiuni a tuturor sistemelor UNIX, ci ne vom uita la cum a apărut cel mai faimos dintre ei.

Poate cei mai faimoși descendenți direcți ai BSD UNIX sunt sistemele de operare Sisteme FreeBSD, OpenBSD și, într-o măsură ceva mai mică, NetBSD. Toți descind din așa-numitul 386BSD, lansat în 1992. 386BSD, după cum sugerează și numele, a fost un port al BSD UNIX pentru procesorul Intel 80386. Acest sistem a fost creat și de absolvenți ai Universității din Berkeley. Autorii au considerat că sursă UNIX, primit de la AT&T, a fost schimbat suficient pentru a ucide licența AT&T, cu toate acestea, AT&T în sine nu a crezut așa, așa că au existat procese în jurul acestui sistem de operare. Judecând după faptul că 386BSD însuși a devenit părintele multor alte sisteme de operare, totul s-a terminat bine pentru el.

Proiectul FreeBSD (la început nu avea propriul nume) a apărut ca un set de patch-uri pentru 386BSD, totuși, din anumite motive, aceste patch-uri nu au fost acceptate, iar apoi, când a devenit clar că 386BSD nu va mai fi dezvoltat, în 1993, proiectul a fost implementat spre crearea unui sistem de operare cu drepturi depline, numit FreeBSD.

Beastie. Mascota FreeBSD

În același timp, dezvoltatorii 386BSD înșiși au creat un nou proiect, NetBSD, din care, la rândul său, s-a ramificat OpenBSD. După cum puteți vedea, se dovedește a fi un arbore destul de extins de sisteme de operare. Scopul proiectului NetBSD a fost de a crea un sistem UNIX care să poată rula pe cât mai multe Mai mult arhitecturi, adică pentru a atinge portabilitatea maximă. Chiar și driverele NetBSD trebuie să fie multiplatforme.

Sigla NetBSD

Solaris

Cu toate acestea, primul care s-a ramificat de la BSD a fost sistemul de operare SunOS, creația, după cum înțelegeți din nume, a companiei Sun Microsystems, din păcate acum decedată. Acest lucru s-a întâmplat în 1983. SunOS este un sistem de operare care a venit cu computere construite chiar de Sun. În general, cu un an mai devreme, în 1982, Sun lansase sistemul de operare Sun UNIX, care se baza pe baza de cod Unisoft Unix v7 (Unisoft este o companie fondată în 1981 care era implicată în portarea Unix pe diverse hardware), dar este SunOS 1.0 care se bazează pe codul BSD 4.1. SunOS a fost actualizat în mod regulat până în 1994, când a fost lansată versiunea 4.1.4, iar apoi a fost redenumit Solaris 2. De unde au venit cele două? Este o poveste puțin confuză aici, deoarece Solaris a fost numit pentru prima dată SunOS versiunile 4.1.1 - 4.1.4, dezvoltate între 1990 și 1994. Luați în considerare că acesta a fost un fel de rebranding care a luat rădăcină doar începând cu versiunea Solaris 2. Apoi, până în 1997, au fost lansate Solaris 2.1, 2.2 etc. la 2.6, iar în loc de Solaris 2.7 în 1998, a fost lansat doar Solaris 7, apoi doar această cifră a început să crească. În prezent, cea mai recentă versiune de Solaris este 11, lansată pe 9 noiembrie 2011.

Sigla OpenSolaris

Istoria Solaris este, de asemenea, destul de complexă, până în 2005 Solaris a fost un sistem de operare complet comercial, dar în 2005 Sun a decis să deschidă o parte din codul sursă al Solaris 10 și să creeze proiectul OpenSolaris. În plus, anterior, în timp ce Sun era în viață, Solaris 10 era fie de utilizat gratuit, fie putea fi achiziționat suport tehnic oficial. Apoi, la începutul lui 2010, când Oracle a achiziționat Sun, a făcut din Solaris 10 un sistem plătit. Din fericire, Oracle nu a reușit încă să distrugă OpenSolaris.

Linux. Unde am fi noi fără el?

Și acum este rândul să vorbim despre cea mai faimoasă dintre implementările UNIX - Linux. Istoria Linux este remarcabilă, deoarece trei proiecte interesante s-au reunit în ea. Dar înainte să vorbim despre creatorul Linux— Linus Torvalds, trebuie menționați încă doi programatori, dintre care unul, Andrew Tanenbaum, l-a împins pe Linus să creând Linux, iar al doilea este Richard Stallman, ale cărui instrumente le-a folosit Linus pentru a-și crea sistemul de operare.

Andrew Tanenbaum este profesor la Vrije Universiteit Amsterdam și este implicat în principal în dezvoltarea sistemelor de operare. Împreună cu Albert Woodhull, a scris o carte atât de cunoscută ca „Sisteme de operare: proiectare și implementare”, care l-a inspirat pe Torvalds să scrie Linux. Această carte discută despre un sistem asemănător UNIX numit Minix. Din păcate, Tanenbaum a privit multă vreme Minix doar ca un proiect pentru predarea abilităților sistemului de operare, dar nu ca un sistem de operare cu drepturi depline. Codul sursă Minix avea o licență destul de limitată, în care puteți studia codul său, dar nu puteți distribui propriile versiuni modificate ale Minix, iar multă vreme autorul însuși nu a vrut să aplice patch-urile care i-au fost trimise.

Andrew Tanenbaum

Prima versiune a Minix a fost lansată împreună cu prima ediție a cărții în 1987, a doua și a treia versiune ulterioară a Minix au fost publicate împreună cu edițiile corespunzătoare ale cărții despre sistemele de operare. A treia versiune de Minix, lansată în 2005, poate fi deja utilizată ca sistem de operare autonom pentru un computer (există versiuni LiveCD ale Minix care nu necesită instalare pe un hard disk) și ca sistem de operare încorporat pentru microcontrolere . Cea mai recentă versiune a Minix 3.2.0 a fost lansată în iulie 2011.

Acum să ne amintim de Richard Stallman. Recent, a început să fie perceput doar ca un propagandist al software-ului liber, deși multe programe cunoscute acum au apărut datorită lui și, la un moment dat, proiectul său a făcut viața lui Torvalds mult mai ușoară. Cel mai interesant lucru este că atât Linus, cât și Richard au abordat crearea sistemului de operare din unghiuri diferite și, ca urmare, proiectele au fuzionat în GNU/Linux. Aici trebuie să dăm câteva explicații despre ce este GNU și de unde provine.

Richard Stallman

Poți vorbi despre Stallman destul de mult timp, de exemplu, că a primit o diplomă cu distincție în fizică de la Universitatea Harvard. În plus, Stallman a lucrat la MIT, unde a început să scrie celebrul său editor EMACS în anii 1970. În același timp, codul sursă al editorului a fost disponibil pentru toată lumea, ceea ce nu a fost o caracteristică la MIT, unde de mult timp a existat un fel de anarhie prietenoasă sau, cum spune Steven Levy, autorul cărții minunate " Hackerii”, a numit-o. Eroii revoluția computerelor", "etica hackerilor". Dar puțin mai târziu, MIT a început să se ocupe de securitatea computerului, utilizatorilor li s-au dat parole, iar utilizatorii neautorizați nu au putut accesa computerul. Stallman a fost puternic împotriva acestei practici, a creat un program care ar putea permite oricui să afle orice parolă pentru orice utilizator și a susținut să lase parola goală. De exemplu, le-a trimis utilizatorilor următoarele mesaje: „Văd că ați ales parola [cum și așa]. Bănuiesc că poți trece la parola „retur de cărucior”. Este mult mai ușor de tastat și este în concordanță cu principiul că nu ar trebui să existe parole aici.” Dar eforturile lui au rămas în nimic. Mai mult decât atât, oamenii noi care au venit la MIT au început deja să se îngrijoreze de drepturile asupra programului lor, de drepturile de autor și alte abominații similare.

Stallman a spus mai târziu (citat din aceeași carte de Levy): „Nu pot să cred că software-ul ar trebui să aibă proprietari. Ceea ce s-a întâmplat a sabotat întreaga umanitate în ansamblu. A împiedicat oamenii să profite la maximum de programe.” Sau iată un alt citat din el: „Mașinile au început să se defecteze și nu era nimeni care să le repare. Nimeni nu a făcut-o modificările necesareîn software. Non-hackerii au reacționat la asta pur și simplu - au început să folosească achiziționate sisteme comerciale, aducând cu ei fascismul și acordurile de licență”.

Drept urmare, Richard Stallman a părăsit MIT și a decis să creeze propria sa implementare gratuită a unui sistem de operare compatibil UNIX. Așadar, pe 27 septembrie 1983, a apărut proiectul GNU, care se traduce prin „Gnu nu este UNIX”. Primul program GNU a fost EMACS. În cadrul proiectului GNU, în 1988, a fost dezvoltată propria sa licență GNU GPL - GNU General Public License, care obligă autorii programelor bazate pe coduri sursă distribuite sub această licență să deschidă și coduri sursă sub licența GPL.

Până în 1990, în cadrul GNU (nu numai de către Stallman), s-au scris diverse programe pentru viitorul sistem de operare, dar acest sistem de operare nu avea propriul nucleu. Au preluat nucleul abia în 1990, a fost un proiect numit GNU Hurd, dar „nu a funcționat” ultima sa versiune a fost lansată în 2009. Dar Linux a decolat și am ajuns în sfârșit la el.

Și aici intră în acțiune băiatul finlandez Linus Torvalds. În timp ce studia la Universitatea din Helsinki, Linus a urmat cursuri despre limbajul C și sistemul UNIX în așteptarea acestui subiect, a cumpărat chiar cartea lui Tanenbaum care descria Minix. Și exact asta a fost descris, Minix în sine trebuia cumpărat separat pe 16 dischete și costa 169 USD pe atunci (oh, Gorbushka noastră nu era în Finlanda atunci, dar ce puteți face, sălbatici :)). În plus, Torvalds a mai fost nevoit să cumpere un computer cu procesor 80386 pe credit cu 3.500 de dolari, pentru că înainte avea doar un computer vechi cu procesor 68008, pe care Minix nu putea rula (din fericire, când făcuse deja prima versiune). Linux, utilizatorii recunoscători au contribuit și au plătit împrumutul lui pentru computer).

Linus Torvalds

În ciuda faptului că lui Torvalds îi plăcea în general Minix, el a început treptat să înțeleagă ce limitări și dezavantaje avea acesta. A fost iritat mai ales de programul de emulare a terminalului care a venit cu sistemul de operare. Drept urmare, a decis să scrie propriul emulator de terminal și, în același timp, să înțeleagă funcționarea procesorului 386. Torvalds a scris emulatorul la un nivel scăzut, adică a început cu bootloader-ul BIOS, treptat emulatorul a dobândit noi capabilități, apoi, pentru a descărca fișiere, Linus a trebuit să scrie un driver pentru unitatea și sistemul de fișiere, iar noi am oprit. merge. Așa a apărut sistemul de operare Linux (pe atunci nu avea încă niciun nume).

Când sistemul de operare a început să prindă mai mult sau mai puțin contur, primul program pe care l-a rulat Linus a fost bash. Ar fi mai corect să spunem că și-a ajustat sistemul de operare astfel încât bash să poată funcționa în sfârșit. După aceea, a început treptat să lanseze alte programe sub sistemul său de operare. Iar sistemul de operare nu ar trebui să se numească deloc Linux. Iată un citat din autobiografia lui Torvalds, care a fost publicată sub titlul „Doar pentru distracție”: „În mintea mea l-am numit Linux. Sincer, nu am intenționat niciodată să-l lansez sub numele Linux pentru că mi s-a părut prea nemodest. Ce nume am avut în vedere pentru versiunea finală? Freax. (Îți înțelegi? Freaks sunt fani - și la sfârșitul lui x de la Unix)."

Pe 25 august 1991, în conferința comp.os.minix a apărut următorul mesaj istoric: „Bună ziua tuturor utilizatorilor minix! Scriu un sistem de operare (gratuit) (versiunea de amatori - nu va fi la fel de mare și profesional ca gnu) pentru 386 și 486 AT. Lucrez la asta din aprilie și se pare că va fi gata în curând. Scrieți-mi ce vă place/nu vă place la minix, deoarece sistemul meu de operare este asemănător cu acesta (printre altele, are, din motive practice, același aspect fizic al sistemului de fișiere). Până acum am transferat bash (1.08) și gcc (1.40) la el și totul pare să funcționeze. Asta înseamnă că în lunile următoare voi avea ceva funcțional și aș dori să știu de ce caracteristici au nevoie majoritatea oamenilor. Toate aplicațiile sunt acceptate, dar implementarea nu este garantată :-)"

Vă rugăm să rețineți că GNU și programul gcc sunt deja menționate aici (la acea vreme această abreviere reprezenta GNU C Compiler). Și amintiți-vă de Stallman și GNU-ul său, care au început să dezvolte sistemul de operare de la celălalt capăt. În cele din urmă, fuziunea a avut loc. Prin urmare, Stallman este ofensat când sistemul de operare se numește pur și simplu Linux și nu GNU/Linux la urma urmei, Linux este nucleul și multe dintre caracteristici au fost preluate din proiectul GNU.

Pe 17 septembrie 1991, Linus Torvalds și-a postat prima dată sistemul de operare, care la acea vreme era versiunea 0.01, pe un server FTP public. De atunci, toată omenirea progresistă a sărbătorit această zi ca fiind ziua de naștere a Linux. Oamenii deosebit de nerăbdători încep să-l sărbătorească pe 25 august, când Linus a recunoscut la conferință că scrie un sistem de operare. Apoi s-a dezvoltat Linux, iar numele Linux în sine a devenit mai puternic, deoarece adresa la care a fost postat sistemul de operare arăta ca ftp.funet.fi/pub/OS/Linux. Cert este că Ari Lemke, profesorul care a alocat spațiu pe server pentru Linus, a crezut că Freax nu arăta foarte prezentabil și a numit directorul „Linux” - ca un amestec de numele autorului și „x” la se încheie din UNIX.

Tux. Sigla Linux

Există, de asemenea, un punct că, deși Torvalds a scris Linux sub influența lui Minix, există o diferență fundamentală între Linux și Minix din punct de vedere al programării. Cert este că Tanenbaum este un susținător al sistemelor de operare microkernel, adică acelea când sistemul de operare are un nucleu mic cu un număr mic de funcții, iar toate driverele și serviciile sistemului de operare acționează ca module independente separate, în timp ce Linux are un nucleu monolitic, sunt incluse multe caracteristici ale sistemului de operare, așa că sub Linux, dacă aveți nevoie de o caracteristică specială, poate fi necesar să recompilați nucleul, făcând unele modificări acolo. Pe de o parte, arhitectura microkernel-ului are avantajele fiabilității și simplității în același timp, cu designul microkernelului neglijent, un nucleu monolitic va funcționa mai rapid, deoarece nu este nevoie să schimbe cantități mari de date cu module terțe. După apariția Linuxului în 1992, o dezbatere virtuală a izbucnit între Torvalds și Tanenbaum, precum și susținătorii acestora, la conferința comp.os.minix despre care arhitectura era mai bună - microkernel sau monolitică. Tanenbaum a susținut că arhitectura microkernel este viitorul, iar Linux era deja depășit înainte de a fi lansat. Au trecut aproape 20 de ani de la acea zi... Apropo, GNU Hurd, care trebuia să devină nucleul sistemului de operare GNU, a fost dezvoltat și ca microkernel.

Linux mobil

Deci, din 1991, Linux s-a dezvoltat treptat, și deși pe computere utilizatori obișnuiți Cota Linux nu este încă mare; a fost de multă vreme populară pe servere și supercomputere, iar Windows încearcă să-și crească cota în acest domeniu. În plus, Linux a luat acum o poziție bună pe telefoane și tablete, deoarece Android este și Linux.

Sigla Android

Istoria Androidului a început cu compania Android Inc, care a apărut în 2003 și părea să dezvolte aplicații mobile (dezvoltările specifice acestei companii în primii ani de existență nu sunt încă deosebit de mediate). Dar la mai puțin de doi ani mai târziu, Android Inc a fost absorbită de Google. Nu există detalii oficiale despre ce făceau exact Dezvoltatori Android Inc nu a putut fi găsită înainte de preluare, deși deja în 2005, după achiziționarea acesteia de către Google, se zvonea că deja dezvolta un nou sistem de operare pentru telefoane. Cu toate acestea, prima lansare a Android a avut loc pe 22 octombrie 2008, după care noi versiuni au început să fie lansate în mod regulat. Una dintre caracteristicile dezvoltării Android ar putea fi faptul că atacurile asupra acestui sistem au început cu privire la brevetele presupuse încălcate, iar situația cu implementarea Java este neclară din punct de vedere legal, dar să nu intrăm în aceste dispute non-tehnice. .

Dar Android nu este singurul reprezentant mobil al Linux, pe lângă acesta există și sistemul de operare MeeGo. Dacă Android este susținut de o corporație atât de puternică precum Google, atunci MeeGo nu are un administrator puternic, acesta este dezvoltat de o comunitate sub auspiciile Fundației Linux, care este susținută de companii precum Intel, Nokia, AMD, Novell, ASUS, Acer, MSI și altele. În acest moment, principalul ajutor vine de la Intel, ceea ce nu este surprinzător, deoarece proiectul MeeGo în sine a apărut din proiectul Moblin, care a fost inițiat de Intel. Moblin este o distribuție Linux care a fost concepută pentru a rula pe dispozitive portabile controlate de procesor Intel Atom. Să menționăm un alt Linux mobil - Openmoko. Linux încearcă destul de repede să pună un punct pe telefoane și tablete, Google și Android au luat problema în serios, dar perspectivele pentru restul versiuni mobile Linux este încă vag.

După cum puteți vedea, Linux poate rula acum pe multe sisteme care rulează procesoare diferite, cu toate acestea, la începutul anilor 1990, Torvalds nu credea că Linux ar putea fi portat în altă parte decât procesorul 386.

Mac OS X

Acum să trecem la un alt sistem de operare, care este și compatibil UNIX - Mac OS X. Primele versiuni de Mac OS, până la a 9-a, nu erau bazate pe UNIX, așa că nu ne vom opri asupra lor. Cel mai interesant lucru pentru noi a început după ce Steve Jobs a fost exmatriculat de la Apple în 1985, după care a fondat compania NeXT, care a dezvoltat computere și software pentru ei. NeXT l-a angajat pe programatorul Avetis Tevanyan, care anterior dezvoltase microkernel-ul Mach pentru un sistem de operare compatibil UNIX dezvoltat la Universitatea Carnegie Mellon. Nucleul Mach a fost destinat să înlocuiască nucleul BSD UNIX.

Sigla companiei NeXT

Avetis Tevanyan a fost liderul echipei de dezvoltare a unui nou sistem de operare compatibil UNIX, numit NeXTSTEP. Pentru a evita reinventarea roții, NeXTSTEP s-a bazat pe același nucleu Mach. Din punct de vedere al programării, NeXTSTEP, spre deosebire de multe alte sisteme de operare, a fost orientat pe obiecte, iar un rol uriaș în acesta a fost jucat de limbajul de programare Objective-C, care este acum utilizat pe scară largă în Mac OS X. Prima versiune a NeXTSTEP a fost lansat în 1989. Deși NeXTSTEP a fost conceput inițial pentru procesoarele Motorola 68000, la începutul anilor 1990, sistemul de operare a fost portat la procesoare 80386 și 80486. NeXT nu mergea bine, iar în 1996 Compania Apple a oferit Jobs pentru a cumpăra NeXT pentru a utiliza NeXTSTEP în loc de Mac OS. Aici am putea vorbi și despre rivalitatea dintre sistemele de operare NeXTSTEP și BeOS, care s-a încheiat cu victoria lui NeXTSTEP, dar nu vom prelungi povestea deja lungă, în plus, BeOS nu are nicio legătură cu UNIX, așa că în momentul de față nu ne interesează, deși în sine, acest sistem de operare a fost foarte interesant și este păcat că dezvoltarea sa a fost întreruptă.

Un an mai târziu, când Jobs a revenit la Apple, politica de adaptare a NeXTSTEP pentru computerele Apple a continuat, iar câțiva ani mai târziu acest sistem de operare a fost portat pe procesoarele PowerPC și Intel. Astfel, serverul Versiunea Mac OS X (Mac OS X Server 1.0) a fost lansat în 1999, iar în 2001 a fost lansat sistemul de operare pentru utilizatorul final Mac OS X (10.0).

Ulterior, a fost dezvoltat un sistem de operare bazat pe Mac OS X pentru telefoane iPhone, care a fost numit Apple iOS. Primul versiunea iOS a aparut in 2007. iPad-ul rulează și pe același sistem de operare.

Concluzie

După toate cele de mai sus, s-ar putea să vă întrebați ce fel de sistem de operare poate fi considerat UNIX? Nu există un răspuns clar la aceasta. Din punct de vedere formal, există Uniform UNIX Specification - un standard pe care un sistem de operare trebuie să-l îndeplinească pentru a fi numit UNIX. Nu îl confundați cu standardul POSIX, care poate fi urmat de un sistem de operare non-UNIX. Apropo, numele POSIX a fost propus de același Richard Stallman, iar în mod oficial standardul POSIX are numărul ISO/IEC 9945. Obținerea unei specificații unificate este costisitoare și consumatoare de timp, așa că nu sunt asociate multe sisteme de operare cu aceasta. Sistemele de operare care au primit un astfel de certificat includ Mac OS X, Solaris, SCO și alte câteva sisteme de operare mai puțin cunoscute. Aceasta nu include nici Linux, nici *BSD, dar nimeni nu se îndoiește de „unixness” lor. Prin urmare, de exemplu, programatorul și scriitorul Eric Raymond a mai propus două semne pentru a determina dacă un anumit sistem de operare este asemănător UNIX. Primul dintre aceste semne este „nemoștenirea” codului sursă din UNIX original, dezvoltat la AT&T și Bell Labs. Aceasta include sistemele BSD. Al doilea semn este „UNIX în funcționalitate”. Aceasta include sistemele de operare care se comportă îndeaproape așa cum este descris în specificația UNIX, dar nu au primit un certificat oficial și, în plus, nu au nicio legătură cu codul sursă al UNIX-ului original. Aceasta include Linux, Minix, QNX.

Probabil ne vom opri aici, altfel sunt deja prea multe litere. Această recenzie include în principal istoria apariției celor mai faimoase sisteme de operare - variante ale BSD, Linux, Mac OS X, Solaris, unele UNIX-uri au fost lăsate afară, cum ar fi QNX, Plan 9, Plan B și altele. Cine știe, poate că în viitor ne vom aminti despre ele.

Dacă ați început recent să învățați Linux și să vă simțiți confortabil în acest univers vast, probabil că ați întâlnit adesea termenul Unix. Sună mult ca Linux, dar ce înseamnă? Probabil vă întrebați cum diferă Unix de Linux. Răspunsul la această întrebare depinde de ceea ce înțelegeți prin aceste cuvinte. La urma urmei, fiecare dintre ele poate fi interpretat diferit. În acest articol, vom analiza o istorie simplificată a Linux și Unix pentru a vă ajuta să înțelegeți ce sunt acestea și cum sunt legate. Ca întotdeauna, nu ezitați să puneți întrebări sau să adăugați informații suplimentare în comentarii.

Unix și-a început istoria la sfârșitul anilor 1960 și începutul anilor 1970 la laboratoarele de calcul de cercetare AT&T Bell Labs din Statele Unite. Împreună cu MIT și General Electric, laboratorul de cercetare Bell Labs a început să dezvolte un nou sistem de operare. Unii cercetători au fost nemulțumiți de progresul dezvoltării acestui sistem de operare. S-au îndepărtat de lucrul la proiectul principal și au început să își dezvolte propriul sistem de operare. În 1970, acest sistem a fost numit Unix, iar doi ani mai târziu a fost complet rescris în limbajul de programare C.

Acest lucru a permis ca Unix să fie distribuit și portat pe diverse dispozitive și platforme de calcul.

Pe măsură ce Unix a continuat să se dezvolte, AT&T a început să vândă licențe pentru utilizarea sa în universități și, de asemenea, în scopuri comerciale. Aceasta însemna că nu toată lumea putea, ca acum, să schimbe și să distribuie liber codul sistemului de operare Unix. Curând, au început să apară multe ediții și variante ale sistemului de operare Unix, menite să rezolve diverse probleme. Cel mai faimos dintre ei a fost BSD.

Linux este similar cu Unix în funcționalitate și caracteristici, dar nu și în baza de cod. Acest sistem de operare a fost asamblat din două proiecte. Primul este proiectul GNU, dezvoltat de Richard Stallman în 1983, al doilea este kernel-ul Linux, scris de Linus Torvalds în 1991.

Scopul proiectului GNU a fost de a crea un sistem asemănător, dar independent de Unix. Cu alte cuvinte, un sistem de operare care nu conținea cod Unix și putea fi distribuit și modificat gratuit, fără restricții, precum software-ul liber. Deoarece kernel-ul Linux gratuit nu putea rula singur, proiectul GNU a fuzionat cu kernel-ul Linux și s-a născut sistemul de operare Linux.

Linux a fost proiectat sub influența sistemului Minix, un descendent al lui Unix, dar tot codul a fost scris de la zero. Spre deosebire de Unix, care a fost folosit pe servere și mainframe mari ale diferitelor întreprinderi, Linux a fost conceput pentru a fi utilizat pe un computer de acasă cu hardware mai simplu.

Astăzi, Linux rulează pe un număr mare de platforme, mai mult decât orice alt sistem de operare, acestea sunt servere, sisteme încorporate, microcalculatoare, modemuri și chiar Celulare. O vom analiza acum mai în detaliu diferenta linuxși unix.

Ce este Unix

Termenul Unix se poate referi la următoarele concepte:

  • Sistemul de operare original dezvoltat la AT&T Bell Labs, pe baza căruia sunt dezvoltate alte sisteme de operare.
  • Marcă comercială, scrisă cu majuscule. UNIX aparține grupului Open, care a dezvoltat un set de standarde pentru sistemele de operare - specificația unică UNIX. Numai acele sisteme care respectă standardele pot fi numite în mod legitim UNIX. Certificarea nu este gratuită și necesită ca dezvoltatorii să plătească pentru a utiliza marca comercială.
  • Toate sistemele de operare sunt înregistrate cu numele Unix. Pentru că îndeplinesc standardele menționate mai sus. Acestea sunt AIX, A/UX, HP-UX, Inspur K-UX, Reliant UNIX, Solaris, IRIX, Tru64, UnixWare, z/OS și OS X - da, chiar și cele care rulează pe computere Apple.

Ce este Linux

Termenul Linux se referă numai la nucleu. Un sistem de operare nu este complet fără un mediu desktop și aplicații. Deoarece majoritatea aplicațiilor au fost dezvoltate și sunt în prezent dezvoltate în cadrul Proiectului GNU, numele complet al sistemului de operare este GNU/Linux.

În zilele noastre, mulți oameni folosesc termenul Linux pentru a se referi la toate distribuțiile bazate pe nucleul Linux. Momentan cel mai mult o nouă versiune Nucleul Linux - 4.4, versiunea 4.5 este în curs de dezvoltare. Numerotarea versiunilor de kernel a fost schimbată de la 3.x la 4.x nu cu mult timp în urmă.

Linux este un sistem de operare asemănător Unix care se comportă ca Unix, dar nu conține codul său. Sistemele de operare asemănătoare Unix sunt adesea numite Un*x, *NIX și *N?X, sau chiar Unixoids. Linux nu are certificare Unix, iar GNU înseamnă GNU, nu Unix, așa că, în acest sens, Mac OS X este mai mult Unix decât Linux. Cu toate acestea, nucleul Linux și sistemul de operare GNU Linux sunt foarte asemănătoare cu Unix ca funcționalitate și implementează majoritatea principiilor filozofiei Unix. Aceasta include cod care poate fi citit de om, stocarea configurației sistemului în fișiere text separate și utilizarea unor instrumente mici de linie de comandă, un shell grafic și un manager de sesiune.

Este important de reținut că nu toate sistemele asemănătoare Unix au primit certificare UNIX. În anumite contexte, toate sistemele de operare bazate pe UNIX sau pe ideile sale sunt numite UNIX-like, indiferent dacă au sau nu certificat UNIX. În plus, pot fi comerciale și gratuite.

Sper că acum este mai clar cum diferă Unix de Linux. Dar să mergem și mai departe și să rezumam.

Principalele diferențe

  • Linux este un sistem de operare gratuit și open source, în timp ce Unix original nu este, cu excepția unora dintre derivatele sale.
  • Linux este o clonă a Unix-ului original, dar nu conține codul său.
  • Principala diferență dintre Unix și Linux este că Linux este doar un nucleu, în timp ce Unix a fost și este un sistem de operare cu drepturi depline.
  • Linux a fost dezvoltat pentru computere personale. Și Unix este destinat în primul rând stațiilor de lucru și serverelor mari.
  • Astăzi, Linux acceptă mai multe platforme decât Unix.
  • Linux acceptă mai multe tipuri de sisteme de fișiere decât Unix.

După cum puteți vedea, confuzia apare de obicei deoarece Linux vs Unix poate însemna lucruri complet diferite. Indiferent de sensul dorit, rămâne faptul că Unix a venit primul, iar Linux a venit mai târziu. Linux s-a născut dintr-o dorință de libertate și portabilitate software, inspirată de abordarea Unix. Este sigur să spunem că toți avem o datorie față de mișcarea software-ului liber, pentru că lumea ar fi un loc mult mai rău fără ea.

Doi termeni Linux și Unixsunt foarte asemănătoare între ele și sunt adesea confundate chiar și utilizatori experimentați. Să clarificăm în continuare diferența dintre aceste concepte și în ce cazuri ar trebui folosite. Să începem cu istoria Linux și Unix.

Istoria Uni x a început la sfârșitul anilor 1960, sistemul a fost dezvoltat inițial împreună cu MIT și General Electric, dar apoi unii dezvoltatori au decis să-și facă propriul sistem de operare și în 1970 s-a numit Unix, apoi a fost rescris în limbajul de programare C. Din acel moment, sistemul de operare a început să fie distribuit atât gratuit, cât și comercial. Au apărut noi ediții și variante, BSD fiind cel mai popular.

Linux este similar în funcționalitate cu Unix, dar baza de cod este destul de diferită. Acest sistem de operare a fost realizat din două proiecte, dintre care unul este GNU, iar al doilea este kernel-ul Linux. Scopul unui astfel de proiect este de a crea un sistem similar cu Unix-ul însuși, dar care să nu depindă de acesta. Cu alte cuvinte, a fost necesar să se creeze un sistem de operare care să fie distribuit liber și să poată fi modificat fără restricții. Linux a fost inspirat de Minix, un succesor al Unix, dar baza de cod a fost scrisă de la zero. Linux a fost conceput pentru a fi utilizat pe computere obișnuite, în timp ce Unix a fost folosit de companii mari. Dar astăzi Linux funcționează excelent pe majoritatea platformelor și se integrează cu multe instrumente. De exemplu, modern distribuții Linux Funcționează fără probleme chiar și cu sisteme de fișiere pentru Windows – FAT32, NTFS. Cum a apărut simbolul Linux?

Care este esența Unix?

Acest termen se poate referi la mai multe concepte simultan:

  • un sistem de operare unic pe baza căruia sunt create și dezvoltate alte sisteme de operare;
  • o marcă comercială deținută de The Open Group. Aceasta companie dezvoltă standarde pentru sistemele de operare Specificație unică UNIX. Sistemele care se conformează acestor standarde pot fi numite legal Unix;
  • toate sistemele de operare care sunt înregistrate sub numele Unix: AIX, A/UX, HP-UX, Inspur K-UX, Reliant UNIX, Solaris, IRIX, Tru64, UnixWare, z/OS și OS X.

Care este esența Linux-ului?

  • este un sistem de operare asemănător Unix care se comportă ca Unix, dar nu își folosește codul;
  • nu are un certificat Unix, dar are multe asemănări în funcționalitate;
  • implementează multe principii de operare Unix.

Cum se aseamănă Linux și Unix?

Ambele sisteme au principii similare de administrare a datelor, în plus, comenzile de bază de gestionare a sistemului de operare sunt identice. Sistemele sunt, de asemenea, rezistente la viruși la același nivel.

Principalele diferențe dintre Linux și Unix?

Linux este un sistem de operare open source, distribuit gratuit, Unix - doar derivatele sale sunt disponibile gratuit. Linux poate fi numit un fel de clonă Unix care nu își folosește codul. Linux a fost dezvoltat inițial pentru computerele de acasă, iar Unix pentru corporații mari. Adevărat, astăzi Linux acceptă mai multe platforme decât Unix și este mai popular în rândul utilizatorilor. Și, desigur, Linux acceptă mai multe tipuri de sisteme de fișiere decât Unix. Sisteme de operare bazate pe LINUX. ?

Adesea, aceste concepte sunt confuze datorită faptului că pot fi interpretate diferit și înseamnă lucruri diferite.Dacă luăm în considerare toți factorii, sistemul de operare Unix este mai puțin universal, deoarece fiecare distribuție este adaptată doar unui anumit număr de platforme și sisteme de fișiere, spre deosebire de Linux, care este mult mai universal în acest sens.

Diferențele dintre Linux și UNIX sunt semnificative. UNIX este un concept larg, mai precis, o anumită bază pentru construcția și certificarea tuturor sistemelor de tip UNIX, iar Linux este una dintre ramurile de tip UNIX. Deși, dacă ținem cont de factorul tehnologie, acești termeni sunt destul de apropiați. De exemplu, o mulțime de software care a fost creat pentru Linux poate fi adaptat perfect pentru a funcționa cu sistemul de operare UNIX. Nu este nevoie să rescrieți codul sursă. Util comenzi Linux, pe care trebuie să-l știți în cele ce urmează.

Ca rezultat al acestui articol, putem da următoarea secvență:UNIX → OS asemănător UNIX → Linux, ceea ce explică în mare măsură consistența și dependența ambelor sisteme de operare.

Principalele diferențe dintre Linux și BSD.

Hyper Host™ vă dorește să lucrați cu succes și productiv cu Linux și UNIX!

de 7700 de ori De 3 ori vizualizate astăzi