Ce este unix (pentru începători)

Ce este Unix (pentru începători)

Dmitry Karpov Yu

Acest opus nu este menit să descrie plinătatea. Mai mult decât atât, în scopul de a simplifica în mod deliberat omis unele detalii. Inițial conceput ca o serie de frecvente (FAQ - Întrebări frecvente), dar probabil primi „un tânăr soldat curs“ sau „școală NCO“.

Am încercat să dau o descriere comparativă a diferitelor sisteme de operare - aceasta este ceea ce cred că este lipsit de cele mai multe cărți și manuale tehnice.

Fără a aștepta dezvăluiri din experiență Unix'oidov, făcând mărturisire voluntară - nu pot pretinde a fi un mare expert pe Unix, iar cunoștințele mele este cea mai mare parte în jurul valorii de FreeBSD. Sper că nu doare.

Acest fișier va fi o lungă perioadă de timp într-o stare de „în construcție“. -)

Unix - o, original, multi-utilizator, multi-tasking complete și sistem de operare multi-terminal. Mai degrabă, este o întreagă familie de sisteme, este aproape complet compatibile între ele la nivel de cod sursă.

Ce sunt Unix'y și pe care mașinile le conduc?

SCO Unix (Santa Cruz Operation)

Novell UnixWare (achiziționat SCO)

Interactive Unix (achiziționat Sun)

i * 86, 680 * 0 Motorolla DEC Alpha, IBM POWER-PC, Sun SPARC.

Familia BSD: BSDI, FreeBSD, NetBSD, OpenBSD

i * 86, Acorn ARM, Sun SPARC.

IBM RS / 6000 și AS / 400 POWER-PC

Digital Unix (anterior Unix OSF / 1)

Această listă nu este exhaustivă, deoarece, în plus față de cele de mai sus sunt mult mai multe Unixuri mai puțin comune și sistemele Unix, să nu mai vorbim de Unixuri vechi pentru mașinile mai vechi.

familii înrudite pot fi distinse System V și Berkeley. System V (a se citi „Sistem Cinci“) are mai multe opțiuni, ultimul din sistemul meu de cunoștințe V Release 4. Universitatea Berkeley este cunoscut nu numai dezvoltarea BSD, dar, de asemenea, majoritatea protocoalelor Internet. Cu toate acestea, multe Unix'y combină proprietățile ambelor sisteme.

De unde pot obține un Unix gratuit?

Care sunt principalele diferențe față de alte sisteme de operare Unix?

nucleu Unix este format dintr-un conducător auto și a instrumentelor incluse în acestea (externe pentru programele de kernel). Dacă trebuie să schimbați configurația (pentru a adăuga un dispozitiv, modificați portul sau întrerupere), apoi recompilați kernel-ul (perelinkovyvayut) modulelor obektnyh sau (de ex. În FreeBSD) de la sursa. / * Acest lucru nu este în întregime adevărat. Unii parametri pot fi corectate fără recompilare. Există, de asemenea, module de kernel incarcabile. * /

În contrast Unix'u pentru Windows (dacă nu este specificat, care apoi se referă la 3.11, 95 și NT) și OS / 2 de boot de fapt în mișcare șoferii se pot conecta. Astfel, compactitatea miezului asamblat și codul comun ordinul reutilizarea de mărime mai mică decât cea a Unix. De asemenea, în cazul în care configurația sistemului neschimbat de nucleu Unix fără modificarea (trebuie să se schimbe doar porțiunea de pornire BIOS-ului) poate fi scrisă în memoria ROM și executat în _ne_zagruzhayas_ RAM. Compactitatea codului este deosebit de important, deoarece nucleu și drivere nu vor părăsi niciodată memoria fizică, nu schimba pe disc.

Unix - cele mai multe platforme de operare. WindowsNT încearcă să-l imite, dar până în prezent nu reușește - după respingerea MIPS și POWER-PC, W'NT au fost doar două platforme - tradiționale i * 86 DEC Alpha. Desigur, portabilitatea programelor de la o versiune de Unix la alta este limitată. Programul alene scris nu ia în considerare diferențele în implementările de Unix, ceea ce face presupuneri nefondate, cum ar fi „număr întreg variabilă ar trebui să ia patru octeți“, poate necesita o modificare majoră. Dar, totuși, este mult mai ușor de a comanda decât pernesti de exemplu, OS / 2 la NT.

Unix este bun pentru o calificare (sau care doresc să devină atât), deoarece Admin Este nevoie de cunoașterea principiilor de funcționare a proceselor care au loc în ea. multitasking real și memorie partajarea rigidă asigura funcționarea sistemului de înaltă fiabilitate, deși serviciile de fișiere de performanță și de imprimare Unix'y inferioare Netware.

Lipsa de flexibilitate a drepturilor de acces ale utilizatorilor la fișierele de acces în comparație cu WindowsNT dificil organizație _na_urovne_faylovoy_sistemy_ grup de date (sau mai precis, la fișierele), care, în opinia mea compensată prin simplitatea punerii în aplicare, ceea ce înseamnă mai puțin cererea pentru echipamente. Cu toate acestea, aplicații, cum ar fi un SQL server decide accesul la date de grup pe cont propriu problema, astfel încât lipsa de oportunitate în Unix _faylu_ refuza accesul la un anumit utilizator, în opinia mea este vădit excesivă.

Aproape toate protocoalele bazează pe care de internet, au fost dezvoltate sub Unix, în special protocoale TCP / IP stack inventat în Universitatea Berkeley.

de securitate Unix administrat în mod corespunzător atunci când (și când nu? e) în nici un fel inferioare orice Novell, sau WindowsNT.

O caracteristică importantă a Unix, care aduce mai aproape de mainframe, este programele sale multi-terminale, mulți utilizatori pot rula simultan pe un Unix-mașină. Dacă nu doriți să utilizați grafice, puteți obține terminale ieftine text (specializate sau pe baza de PC-uri ieftine), conectate prin linii lente. În acest acesta concurează doar cu VMS. Puteți utiliza, de asemenea grafice X-terminale, atunci când sunt prezente pe aceleași ferestre de ecran procesele care rulează pe mașini diferite.

În categoria stații de lucru Unix concura MS Windows *, IBM OS / 2, Macintosh și Acorn RISC-OS.
  • Ferestre - pentru cei care apreciază compatibilitatea mai mare eficiență; pentru cei care sunt dispuși să cumpere o cantitate mare de memorie, spatiu pe disc, și megahertzi; pentru cei care iubesc fără a adâncit în esență, să faceți clic pe butonul din fereastra. Cu toate acestea, mai devreme sau mai târziu, încă mai trebuie să studieze principiile sistemului și a protocoalelor, dar atunci va fi prea târziu - alegerea este făcută. Un avantaj important al Windows trebuie să fie recunoscut ca o oportunitate de a fura o grămadă de software.
  • OS / 2 - OS / 2 ventilatoare. -) Deși unele informații OS / 2 mai bine decât altele interacționează cu mainframe-uri și rețele IBM.
  • Macintosh - pentru grafica, publicarea și opere muzicale, precum și pentru cei care iubesc interfata prietenoasa, frumos, și nu vrea să (nu pot) să înțeleagă detaliile funcționării sistemului.
  • RISC-OS, cusute în ROM-ul, vă permite să nu pierde timpul pe instalarea sistemului de operare și de a restabili-l după un accident. În plus, aproape toate programele pe care le administrează consuma foarte rar resurse, deci nu necesită schimbarea și de a lucra foarte repede.

    Unix funcții ca pe PC, și pe stațiile de lucru puternice RISC-based, sub Unix scris CAD cu adevărat puternic și sistemele de informații geografice. Unix scalabilitate sa din cauza la ordinea multiplatformă de magnitudine mai mare decât orice alt sistem de operare care să știu.

    Concepte de bază ale Unix

    Unix se bazează pe două concepte de bază: „procesul“ și „fișier“. Procesul este un aspect dinamic al sistemului este Subiecți; și fișiere - statică, obiecte de procese de acțiune. Aproape întreaga interfață procesele de interacțiune cu kernel-ul și unele cu altele arata ca un fișiere de citire / scriere. / * Deși este necesar să se adauge lucruri, cum ar fi semnale, memoria partajată și semafoarele. * /

    Procesele nu trebuie confundate cu programele - un program (de obicei, cu diverse date) pot fi efectuate în diferite procese. Procesele pot fi împărțite foarte aproximativ în două tipuri - sarcinile și daemons. Sarcina - un proces care devine treaba, încercând să-l și termina repede termina. Demon asteapta evenimente de care are nevoie pentru a procesa, manipula evenimentele și apoi așteaptă; El a completat, de obicei, pe ordinea de un alt proces, cel mai adesea ucide utilizatorul, dând comanda „nomer_protsessa ucide“. / * În acest sens, se pare că o sarcină interactivă care se ocupă de datele introduse de utilizator, mai mult ca un demon decât o sarcină. -) * /

    În Unixurile mai mari au 14 litere în numele noii restricție este ridicată. În directorul cu excepția numele fișierului este inod lui identefikator - număr întreg care specifică numărul blocului în care sunt înregistrate atributele fișierului. Printre acestea: numărul utilizatorului - fișierul principal; număr de grup; numărul de linkuri către fișierul (a se vedea mai jos), data și ora creării, ultima modificare și ultima acces la dosar; atribute de acces. Atributele de acces conțin tipul de fișier (a se vedea mai jos), atributele schimbarea dreapta la pornire (a se vedea mai jos) și permisiunile de acces pentru proprietar, și altele pentru a formatiei citi, scrie și executa. Dreptul la ștergerea fișierelor depinde de dreptul de înregistrare în directorul suprapusă.

    Există o altă caracteristică interesantă a sistemului de fișiere: dacă după crearea fișierului pentru a scrie nu a fost într-un rând, și la intervale lungi de timp, spațiul de pe disc nu este alocat pentru aceste intervale. Astfel, volumul total al fișierelor din secțiunea poate fi secțiunea de volum mare, atunci când ștergeți fișierul este eliberat mai puțin spațiu decât dimensiunea sa.

    Fișierele sunt din următoarele tipuri:
    • fișier regulat al accesului direct;
    • director (fișierul care conține numele și alte fișiere identefikatory);
    • link-ul simbolic (linia cu numele unui alt fișier);
    • dispozitiv bloc (disc sau bandă);
    • dispozitiv serial (terminale, porturi seriale și paralele, și unitățile de bandă magnetică, de asemenea, dispozitiv de interfață serială)
    • canal numit.
    Fișierele speciale destinate utilizării cu dispozitive care tind să fie concentrate în directorul „/ dev“. Iată câteva dintre ele (în nominalizare FreeBSD):
    • tty * - terminale, inclusiv
      • ttyv - consola virtuală;
      • ttyd - terminalul dialin (de obicei un port serial);
      • cuaa - line dialout
      • ttyp - terminal de pseudo-rețea;
      • tty - Terminal, care este asociat cu sarcina;
    • WD * - hard disk-uri și subsecțiuni acestora, inclusiv
      • wd - hard disk;
      • wd s - partiție a discului (denumit în continuare „felie“ de aici);
      • wd s - partiție partiție;
    • fd [] - floppy disk;
    • RWD *, RFD * - același lucru, și WD * fd *, dar cu acces secvențial;

    Spre deosebire de DOS, vă că numele fișierului complet apare ca „unitate: \ cale \ nume de fișier“ și RISC-OS, în care se pare „-faylovaya_sistema conduce :. $ Put.imya“ (care are, în general, avantajele sale) , Unix folosește o notație transparentă în forma „/ calea / numele“. Măsurat de la partiția rădăcină, care a fost descărcat de nucleu Unix. Dacă vom folosi un alt profil (și pe partiția de încărcare se găsește de obicei doar ceea ce trebuie să descărcați), utilizați comanda `mount / dev / fayl_razdela direktoriya`. În acest caz, fișierele și subdirectoarele, găsite anterior în acest director nu sunt disponibile până când partiția nu va fi demontată (desigur, toți oamenii normali sunt folosite pentru a monta partițiile directoare goale). Pentru a face montarea și demontarea are dreptul doar la un supervizor.

    La lansarea fiecare proces se poate aștepta că are trei fișier deschis, care sunt cunoscute sub numele de intrare standard stdin descriptor 0; stdout stdout descriptor 1; stderr și stdout pe un descriptor 2. Atunci când vă înregistrați în sistem atunci când utilizatorul introduce un nume și o parolă, și începe coajă, toate cele trei direcționate către / dev / tty; după oricare dintre ele poate fi redirecționat către orice fișier.

    Pe Unix, aproape întotdeauna include două comandă shell - sh (shell) și csh (scoica-C). În afară de acestea, există încă bash (Bourne), KSH (Korn), și altele. Fără a intra în detalii, aici sunt principiile generale:

    Toate echipele, cu excepția modificărilor în directorul curent, setați variabilele de mediu (mediu) și operatorii de programare structurate - programe externe. Aceste programe sunt de obicei situate în / bin și / usr / bin. Programe de administrare a sistemului - în / sbin și / usr / sbin.

    Echipa este formată din program pentru a rula și argumente. Argumentele sunt separate de numele comenzii și unul față de celălalt probelaim și file. Unele caractere speciale sunt interpretate de shell. Caractere speciale sunt "„`\ $ ^ * .. | ; (Orice mai mult?).

    În aceeași linie de comandă, puteți da unele comenzi. Comenzile pot fi divizate; (Executarea secvențială a comenzilor) (Asincronă de execuție concurentă a comenzilor), | (Executie sincronă, iesirea standard stdout prima comandă este furnizat la a doua stdin standard de intrare).

    În plus, puteți lua standard de intrare dintr-un fișier pentru a include ca unul dintre argumentele "<файл" (без кавычек); можно направить стандартный вывод в файл, используя ">fișier „(un fișier va fi resetat) sau“ fișier >> „(înregistrarea va fi făcută la sfârșitul fișierului) Programul în sine nu obține acest argument ;. pentru a vedea ce realocate de intrare sau de ieșire, software-ul în sine trebuie să ia unele gesturi foarte triviale.

    Dacă aveți nevoie pentru a obține informații despre o anumită comandă, da comanda „man comanda nume.“ Pe ecran va fi eliberat prin programul „mai mult“ - a se vedea cum a operat echipa Unix'e `om more` ta.

    articole similare