Conţinut
Definiția oficială a ceea ce este Unix este marca înregistrată a The Open Group, o familie de sisteme de operare și instrumente pentru calculatoare. Pentru a utiliza marca Unix, furnizorul sistemului de operare trebuie să plătească o taxă de licență și redevențe anuale. Sistemele de operare Unix licențiate oficial includ Apple, Oracle, AIX, IRIX (SGI) și Hewlett-Packard.
Istoria UNIX

Pentru a explica ce este Unix, trebuie să începem cu istoria dezvoltării. În anii șaizeci, General Electric și Bell Labs de la MIT au încercat să dezvolte Multics, un sistem interactiv care să permită accesul simultan al mai multor utilizatori la mainframe. Dezamăgit de rezultat, Bell Labs s-a retras din proiect, dar informaticienii Ken Thompson și Dennis Ritchie au decis să continue munca, ceea ce a dus la dezvoltarea Unix.
Thompson și Ritchie au condus o echipă de cercetători în dezvoltarea unui sistem de fișiere ierarhic, a unui interpretor de linie de comandă, a unor mici programe utilitare și a conceptelor de procese și fișiere de dispozitiv.
O lună mai târziu, Thompson a lansat un sistem de operare autosuficient cu un asamblor, editor și shell, numit YEW-nihks, bazat pe o versiune anterioară a Multics. "Unix" era mult mai mic și era un sistem cu o singură sarcină.
A fost scris în limbaj de asamblare până în 1973, dar cea de-a patra ediție a Unix a fost rescrisă în C. A fost revoluționar la acea vreme, deoarece sistemele de operare erau considerate prea complexe pentru a fi scrise într-un limbaj de nivel înalt. A crescut portabilitatea sistemului Unix pe alte platforme de calcul. La începutul anilor 1980 "Unix" a câștigat popularitate în mediul academic, după care start-up-uri comerciale precum Solaris Technologies și Sequent au adoptat-o pe scară largă.
La sfârșitul anilor 1990, o rețea de programatori a lucrat împreună pentru a dezvolta Linux și Berkeley Software Distribution (BSD), ceea ce a dus la apariția sistemelor de tip Unix. Majoritatea computerelor moderne și a dispozitivelor mobile din ziua de azi utilizează sistemul de operare "Unix".
Modern "Unix" și Single UNIX Specification interface sunt proprietatea The Open Group. Cea mai recentă versiune a standardului de certificare UNIX V7 a fost a patra modificare emisă în 2013.
Caracteristicile conceptelor OS

Pentru a înțelege Unix , este necesar să luăm în considerare unicitatea sa în setul de concepte de sisteme de operare. Principalul lucru este că utilizează text simplu pentru stocarea datelor, sisteme de fișiere ierarhice și anumite tipuri de comunicare între procesoare (IPC).
Utilizatorii de Unix pot lega între ele instrumente software și programe mici la linia de comandă. Este un program la nivel de utilizator. Dezvoltatorii își pot scrie propriul shell și pot adăuga noi comenzi fără a modifica shell-ul în sine, deoarece acesta folosește același limbă pentru comenzi interactive, ceea ce este valabil și pentru scripturi.
Conceptele Unix sunt influente din mai multe motive. Unix a impulsionat dezvoltarea Internetului și a transformat calculatoarele în instrumente de rețea. Tratează toate tipurile de fișiere ca simple matrice de octeți, ceea ce prezintă un model de fișier simplificat în comparație cu alte sisteme de operare.
Unix a popularizat sistemul de fișiere ierarhice cu subdirectoare imbricate arbitrar. Anterior, sistemele de operare puteau să partiționeze un dispozitiv de stocare doar la un număr fix de niveluri.
Dezvoltatorii săi merită credit pentru că au adus modularitatea și reutilizarea în practicile de dezvoltare software și au stimulat mișcarea instrumentelor software. De asemenea, au creat un set de reguli culturale pentru dezvoltarea de software și a dezvoltat filosofia Unix, care a influențat comunitatea IT.
Arhitectura sistemului de operare UNIX

Arhitectura Unix este un sistem de operare pentru calculatoare care întruchipează filosofia Unix. Aderă la standarde precum Single UNIX Specification (SUS) sau similar Standard POSIX IEEE.
O privire detaliată asupra a ceea ce UNIX într-o familie de sisteme de operare începe cu o explicație a structurii structurale care constă din trei părți: nucleul, shell-ul și programele.
Unele caracteristici cheie ale conceptului de arhitectură Unix utilizează un nucleu centralizat al sistemului de operare care controlează operațiunile de sistem și de procesare. Toate programele software non-core sunt organizate în procese separate gestionate de kernel, care este centrul sistemului de operare, alocă timp și memorie programelor, gestionează stocarea fișierelor ca răspuns la apelurile de sistem.
Sistemele Unix au un multitasking preferențial - mai multe procese pot rula simultan sau pentru intervale scurte de timp și aproape simultan, iar orice proces poate fi întrerupt de kernel și scos din execuție. Fișierele sunt stocate pe disc într-un sistem de fișiere ierarhic, cu o locație de top în tot sistemul (root, sau "/"), cu fișiere, directoare și subdirectoare. Cu câteva excepții, dispozitivele și anumite tipuri de comunicare între procese sunt gestionate și afișate ca fișiere sau pseudofișiere în ierarhia sistemului de fișiere.
Sistemul de operare UNIX suportă următoarele funcții și caracteristici:
- Interfață multitasking și multiutilizator.
- interfață de programare.
- Utilizarea fișierelor ca abstracțiuni ale dispozitivelor și ale altor obiecte.
- Rețea încorporată (standard TCP/IP).
- Procese de servicii de sistem în curs de desfășurare, denumite "Daemons" și sunt gestionate de init sau inet.
Fișiere și procese
Totul în UNIX este fie un fișier, fie un proces. Un proces este un program executabil identificat printr-un identificator unic de proces, PID. Un fișier Unix este o colecție de date. Acestea sunt create de utilizatori care folosesc editoare de text și rulează compilatoare.
Exemple de fișiere:
- document (raport, rezumat, etc.).д.);
- Toate fișierele Unix sunt grupate într-o structură de directoare de nivel înalt limbaj de programare structura directoarelor de nivel înalt;
- instrucțiuni direct inteligibile de către mașină și de neînțeles pentru utilizatorul mediu, de exemplu un set de cifre binare;
- un director care conține informații despre conținutul său, care poate fi un amestec de alte directoare (subdirectoare) și fișiere obișnuite.
Toate fișierele Unix sunt grupate într-o structură de directoare. Sistemul de fișiere este organizat într-o structură ierarhică asemănătoare unui arbore inversat. Partea de sus a ierarhiei este numită în mod tradițional rădăcină, scrisă ca o bară oblică ("/").
Fișierele text pot fi afișate și editate. Mai multe programe de editare a textului sunt disponibile pentru UNIX, cele mai notabile dintre ele fiind vi și Emacs. Mulți utilizatori folosesc pico, un editor de text simplu care vine cu programul de e-mail "Pin". Pentru a afișa conținutul unui fișier, de exemplu, trebuie să tastați "$pico", și apoi numele fișierului pe care doriți să îl creați.

Funcțiile de editare în pico sunt apelate prin apăsarea simultană a tastelor, de exemplu Ctrl și R.
Funcția taie și lipește pico:
- Mergeți la rândul de text dorit și apăsați "^K". Întreaga linie ar trebui să dispară.
- Mergeți la sfârșitul textului și apăsați "^U". Acest lucru va insera un rând de text în noua locație.
- Scrierea cuvintelor în text se face cu "^W".
- Pentru a salva lucrarea fără a ieși, se tastează "^O".
- Pentru a ieși, tastați "^X". Dacă există orice date neschimbate, utilizatorul va fi rugat să facă acest lucru înainte de a ieși.
pico nu are multe dintre caracteristicile avansate pe care le au alți editori, cum ar fi vi și Emacs, dar este ușor de utilizat și cu siguranță este potrivit pentru editarea de fișiere mici.
Sisteme de tip Unix

Acestea includ sisteme de operare care conduc în sine ca sisteme Unix și oferă utilități similare, dar nu sunt licențiate de The Open Group. Ele sunt de obicei numite Unix-like. Acestea sunt diferitele distribuții Linux. De exemplu, Red Hat Enterprise Linux, Ubuntu și CentOS și mai mulți descendenți ai familiei de sisteme de operare Unix - Berkeley Software Distribution.
nu există o definiție clară "Unix"-software similar, dar termenul se referă la un sistem de operare care se comportă ca un sistem de operare Unix. Acest lucru se poate referi la sursa sa gratuită și deschisă. Unii dezvoltatori de software susțin că există trei tipuri de. Sisteme similare din punct de vedere genetic sunt legate de baza originală Bell Labs, mai târziu AT&T, cum ar fi BSD, la care cercetătorii de la UCLA au lucrat la sfârșitul anilor 1970 și începutul anilor 1980.
Mărcile și sistemele similare respectă Specificația uniformă "Unix". Sistemele funcționale precum Unix, Linux și Minix se comportă aproximativ așa cum este specificat. De exemplu, trebuie să aibă un program care să gestioneze sesiunile de logare și de linie de comandă.
Sisteme de operare proprietare "Unix" și opțiuni similare rulează pe o mare varietate de arhitecturi digitale și sunt utilizate în mod obișnuit pe servere web, mainframe-uri și supercomputere. În ultimii ani, smartphone-urile, tabletele și calculatoare personale Versiunile sau variantele Unix devin din ce în ce mai populare.
componente cheie
Sistemele Unix proprietare și variantele lor sunt caracterizate de câteva componente majore
- Kernelul este principalul program de management al sistemului de operare care gestionează memoria, apelurile de sistem și alte funcții de nivel scăzut comune majorității programelor și oferă drivere pentru a controla hardware-ul.
- Un shell este un program interactiv care oferă o interfață între utilizator și kernel. Shell-ul interpretează comenzile introduse de utilizator sau furnizate de un script shell și le transmite nucleului pentru a fi executate. Shell-urile disponibile pentru utilizare pe Unix și sisteme de operare similare includ sh (Bourne shell), bash (Bourne-again shell), csh (C shell), tcsh (TENEX C shell), ksh (Korn shell), și zsh (Z shell).
- Sistemul de fișiere utilizează o structură ierarhică de directoare cu un director rădăcină ("/") în partea de sus. Sistemul de fișiere este montat de la directorul rădăcină al fiecărui sistem în/N, unde directorul personal al fiecărui utilizator este în /N/u/ și fișierele asociate cu software-ul sunt în/N/soft. Pentru a determina ce sisteme de fișiere sunt montate pe un sistem Unix sau de tip Unix, utilizați comanda mount. Cele mai multe includ instrumente și biblioteci pentru scrierea, compilarea și depanarea programelor C, C+ și Fortran.
- Comenzile Unix și ale sistemelor de tip Unix includ un nucleu mare de utilități standard pentru editarea de text, scrierea, compilarea și gestionarea programelor, procesarea, manipularea mediului utilizatorului și obținerea de informații despre sistem și utilizatorii săi. Comenzile permit argumente, cunoscute sub numele de opțiuni, pentru a schimba comportamentul lor implicit. Utilizatorii introduc date în linia de comandă, iar shell-ul le interpretează și le transmite nucleului pentru execuție.
În Unix, utilizatorul are posibilitatea de a alege între linia de comandă (mai mult control și flexibilitate) sau o interfață grafică (mai ușoară).
Atribuirea de argumente de shell
Utilizatorul interacționează cu UNIX prin intermediul unui program special numit shell, care solicită comenzi și le transmite sistemului de operare pentru a fi executate după ce acestea sunt introduse. Acestea sunt formate din două părți: numele comenzii și argumentele. Anumite argumente, numite opțiuni, scrise de obicei cu "-", schimbă comportamentul comenzii într-un anumit mod, în timp ce alte argumente specifică obiecte, de exemplu nume de fișiere, calculatoare, utilizatori, etc.
În exemplul următor: $ ls -l myfile "ls" este numele comenzii, iar "-l" și "myfile" sunt argumente. "-l" este o opțiune care schimbă comportamentul comenzii "ls". Nu toate comenzile necesită parametri sau argumente. Multe dintre ele au valori implicite inteligente atunci când nu se specifică nimic.
Shell-ul sistemului Unix vine în două variante de bază: shell-ul Bourne, sh, și shell-ul C, csh. Alte shell-uri populare sunt derivate din, de exemplu, ksh, bash, tcsh. Fiecare shell folosește un anumit caracter sau un șir de caractere pentru a cere utilizatorului o comandă, care se numește promptul implicit al shell-ului pentru bash, caracterul $. Cu excepția cazului în care se specifică altfel, acestea vor funcționa la fel de bine cu majoritatea celorlalte cochilii.
Deoarece UNIX suportă mai mulți utilizatori simultan, trebuie să vă identificați în fața sistemului înainte de a începe să îl folosiți. Acest proces se numește logare. Atunci când un utilizator se conectează la computer, i se va cere să furnizeze două informații pentru a se autentifica - un nume de utilizator, care reprezintă identitatea sistemului, și o parolă, care face mai probabil ca persoana care se autentifică să fie într-adevăr cine spune că este.
Comenzi de bază UNIX

Shell-ul tcsh are anumite funcții pentru a ajuta utilizatorul să introducă comenzi. Pentru a completa un nume de fișier, introduceți o parte din numele comenzii, al fișierului sau al directorului. După ce apăsați [ Tab ], shell-ul tcsh va completa automat restul numelui. Dacă găsește mai mult de un nume care începe cu literele introduse de utilizator, va emite un semnal sonor, cerând mai multe litere înainte de a apăsa din nou tasta tabulator. Shell stochează o listă de comenzi introduse de. Dacă trebuie să repetați o comandă, utilizați tastele cursor pentru defilați în sus și în jos în listă sau introduceți history pentru o listă a comenzilor anterioare.
Exemple de comenzi UNIX de bază sunt următoarele:
- ls:listă de fișiere.
- ls -l: afișează o listă de fișiere în format lung.
- cd ..: continuă să meargă în directorul de deasupra celui curent.
- cp nume_de_filmen1 nume_de_filmen2: copiază fișierul, nume_de_filmen.
- chmod: modifică permisiunile de citire, scriere și executare pentru fișiere;
- mkdir: creează un director.
Aplicație terminală
Aceasta este aplicația funcționează, În cazul în care utilizatorul trimite comenzi direct către calculator, care returnează rezultatul direct către utilizator. Pentru aceasta, există un program intermediar cunoscut sub numele de terminal sau linie de comandă. Ceea ce scrie utilizatorul este trimis la terminal, care își dă seama ce comenzi să execute și dă comanda de executat. În limba engleză, terminalul se numește shell, deoarece acoperă sistemul de operare pentru a ascunde unele dintre complexitățile sale și pentru a facilita interacțiunea cu acesta.
Un terminal este un program care are capacitatea de a rula alte programe în loc să efectueze el însuși calculele. Cel mai popular terminal Unix se numește Bash - de la Bourne Again Shell, deoarece provine dintr-o versiune anterioară scrisă de Stephen Bourne. Bash este terminalul implicit în majoritatea implementărilor Unix moderne și în majoritatea pachetelor care oferă instrumente de tip Unix pentru Windows. Folosind bash sau orice alt terminal este uneori mai convenabil pentru a programa.
Comenzile sunt scurte, adesea de doar câteva caractere, numele lor sunt adesea criptice și rezultatul lor este un șir de text mai degrabă decât ceva vizual, cum ar fi un grafic. Pe de altă parte, cu ajutorul câtorva taste, terminalul vă permite să combinați instrumentele existente în conducte puternice și să procesați automat cantități mari de date.
Această automatizare nu numai că face munca mai productivă, dar crește și gradul de repetabilitate, deoarece permite repetarea identică a proceselor prin câteva comenzi simple. În plus, linia de comandă este adesea cel mai simplu mod de a interacționa cu computerele și supercomputerele la distanță. Cunoașterea practică a terminalului este necesară pentru a utiliza Diverse instrumente și resurse specializate, inclusiv calcul de înaltă performanță.
Clusterele și cloud computing-ul devin din ce în ce mai populare pentru analiza datelor științifice, iar abilitatea de a interacționa cu acestea devine o abilitate necesară. Utilizatorul poate folosi abilitățile pe care le învață în linia de comandă pentru a rezolva o mare varietate de întrebări științifice și probleme de calcul personalizate.
Crearea de directoare noi
Acum, că utilizatorul are o înțelegere de bază a sistemului de fișiere și a modului în care îl poate manipula, poate începe să creeze și să își gestioneze propriile fișiere și directoare. Directoarele sunt create cu mkdir și șterse cu rmdir.
De exemplu, pentru a crea două directoare noi, se va scrie: $ mkdir test test2.Acum, pentru a elimina al doilea director care tocmai a fost creat: $ rmdir test2. Acest lucru va șterge rmdir doar directoarele goale. Dacă directorul conține fișiere, utilizatorul trebuie mai întâi să le elimine înainte de a folosi rmdir. Alternativ, se poate elimina recursiv directorul și conținutul acestuia folosind opțiunea corespunzătoare cu comanda rm.
Dacă unele fișiere existente dintr-o altă parte a sistemului de fișiere trebuie copiate în directorul de testare, se va folosi funcția cp.
Înainte de a merge mai departe, mutați-vă în noul director "test" care tocmai a fost creat. Utilizatorul va folosi această zonă pentru experimente, reducând astfel la minimum orice daune potențiale aduse altor fișiere din directorul principal:
- $ cd test;
- $ pwd ;
- /home/xxxxx/test.
Acum este posibilă copierea unor fișiere în directorul de testare folosind cp:
- $ cp/etc/motd.$ cp/etc/hosts;
- $ cp/etc/group.$ ls.
Cele trei comenzi cp de mai sus copiază fișierele existente din directorul "/etc" în directorul curent (urmate de "."). Acum ștergeți fișierul cu ajutorul comenzii rm:
- $ rm group ;
- $ ls ;
- gazde motd.
În continuare, mutați unul dintre fișiere folosind mv:
- $ mv motd ;
- $ ls.
Deoarece cp, mv și rm pot distruge date, acestea oferă o opțiune interactivă care solicită utilizatorului înainte de a continua. Aceasta este invocată cu opțiunea -i. În mod normal administrator de sistem setează un cont pentru a utiliza această opțiune în mod implicit.
cp și mv necesită două argumente: locația existentă și destinația fișierului care urmează să fie copiat sau mutat. Destinația poate fi un alt fișier sau director.
Avantajele unui lider OS pe Internet

Nici un singur tip de sistem de operare nu poate oferi răspunsuri universale la toate cerințele utilizatorilor. Este vorba de a alege și de a lua decizii în cunoștință de cauză. Cu toate acestea, Unix are atât de multe avantaje încât a devenit cel mai popular sistem de operare.
Avantajele comune ale sistemelor de operare Unix:
- Mai flexibil și poate fi instalat pe mai multe tipuri de calculatoare, inclusiv pe mainframe-uri, supercalculatoare și microcalculatoare.
- Stabile și mai puțin predispuse la defecțiuni decât Win, necesitând mai puțină administrare și întreținere.
- Are mai multe caracteristici de securitate și permisiuni încorporate decât Win.
- Are o putere de procesare mult mai mare decât Win.
- Este un lider în domeniul serviciilor de internet. Aproximativ 90% dintre utilizatorii de Internet folosesc sisteme de operare Unix care rulează pe Apache, cel mai utilizat server web din lume, care este gratuit.
- Actualizări software de la Microsoft cere adesea utilizatorului să cumpere hardware nou sau software-ul necesar. Nu și cu Unix.
- Sisteme de operare Unix cu sursă deschisă, în mare parte gratuite sau cu costuri reduse, cum ar fi Linux și BSD, cu flexibilitatea și gestionarea lor maeștri începători calculatoare.
- Mulți dintre cei mai deștepți programatori dezvoltă software modern gratuit pentru "mișcarea open source", care se dezvoltă rapid.
- Unix inspiră, de asemenea, noi abordări ale dezvoltării de software, cum ar fi rezolvarea problemelor prin gruparea unor instrumente mai simple, mai degrabă decât prin crearea unor programe de aplicații monolitice de mari dimensiuni.
Unix a înregistrat un declin recent în utilizare, în principal din cauza trecerii de la platformele RISC la alternative bazate pe x86 care pot rula mai multe sarcini de lucru Unix cu performanțe mai mari la costuri mai mici. Experții prezic că multe organizații vor continua să folosească Unix pentru mediile critice, dar își vor reduce dependența de acest sistem din cauza strategiilor de modernizare și consolidare IT.
Cu toate acestea, Unix este încă sistemul preferat pentru multe cazuri de utilizare, cum ar fi aplicațiile software pentru scalarea verticală și caracteristicile de securitate, după cum reiese din numeroasele recenzii ale Unix. Se așteaptă ca vânzările de servere să scadă în viitor, dar aplicațiile din domeniul financiar, guvernamental și al telecomunicațiilor vor continua să stimuleze utilizarea Unix.