Kaj je UNIX: razvoj, funkcije in uporaba operacijskega sistema

Uradna opredelitev Unixa je na področju registrirane blagovne znamke The Open Group, družine računalniških OS in orodij. Za uporabo blagovne znamke Unix mora prodajalec operacijskega sistema plačati licenčnino in letne licenčnine. Uradno licencirani operacijski sistemi Unix vključujejo Apple, Oracle, AIX, IRIX (SGI) in Hewlett-Packard.

Zgodovina UNIX-a

Da bi pojasnili, kaj je Unix, je treba začeti z zgodovino razvoja. V šestdesetih letih 20. stoletja so General Electric in Bell Labs Massovega inštituta poskusili razviti interaktivni sistem Multics, ki bi več uporabnikom omogočal hkraten dostop do glavnega računalnika. Razočaran nad rezultatom, je Bell Labs zapustil projekt, vendar so se računalniški strokovnjaki Ken Thompson in Dennis Ritchie odločili za nadaljevanje dela, ki se je končalo z razvojem Unixa.


Thompson in Ritchie sta vodila skupina raziskovalcev za razvoj hierarhičnega datotečnega sistema, tolmača ukazne vrstice, nekaterih programov majhne pisarne in procesnih konceptov ter datotek naprav. Luna Thompson je začela samostojni operacijski sistem z monterjem, urejevalnikom in lupino z imenom YEW-nihks, ki temelji na starejši različici Multicsa. "Unix" je bil veliko manjši in je predstavljal sistem z eno samo nalogo. Pred letom 1973 je bil napisan na asemblerju, četrta izdaja Unixa pa je bila preoblikovana v C. Potem je bila revolucionarna, saj je bil OS preveč težko napisati v jeziku visoke ravni. To je povečalo prenosljivostUnix-sistemi za druge računalniške platforme. V zgodnjih osemdesetih letih je Unix postal priljubljen v akademski skupnosti, potem pa so ga komercialni startupi, kot sta Solaris Technologies in Sequent, začeli uporabljati v širšem obsegu.


V poznih devetdesetih letih je mreža programerjev skupaj razvila distribucijo Linuxa in distribucijo programske opreme Berkeley (BSD), kar je privedlo do večje priljubljenosti sistemov, podobnih Unixu. Danes najbolj sodobne računalniške in mobilne naprave uporabljajo operacijski sistem Unix. Moderni Unix in vmesnik za specifikacijo Single UNIX sta v lasti skupine Open. Najnovejša različica standarda za certificiranje UNIX V7 je postala četrta različica, izdana leta 2013.

Značilnosti konceptov OS

Da bi razumeli, kaj Unix je, morate razmisliti o njegovi edinstvenosti v zbirki konceptov operacijskega sistema. Glavna stvar pri tem je, da pri shranjevanju podatkov, hierarhičnih datotečnih sistemih in določenih vrstah vmesnikov med procesorji (IPC) uporablja golo besedilo. Uporabniki Unixa lahko programska orodja in majhne programe povežejo prek prevajalnika ukazne vrstice. To je program na ravni uporabnikov. Razvijalci lahko napišejo lastno lupino in dodajo nove ukaze brez spreminjanja same lupine, saj uporablja jezik za interaktivne ukaze in tudi za skripte. Koncepti Unix so vplivni iz več razlogov. Sistem Unix je postal gonilna sila razvoja interneta in preoblikovanja računalnikov v omrežno orodje. Vse vrste datotek obravnava kot preprosta bajtna polja, ki predstavljajo poenostavljen model datotek v primerjavi z drugimi operacijskimi sistemi.sistemov.
Unix je populariziral hierarhični datotečni sistem s poljubno vdelanimi podimeniki. Prej so operacijski sistemi lahko napravo za shranjevanje razdelili na dele, ki imajo samo določeno število ravni. Razvijalci tega sistema si zaslužijo priznanje za uvedbo modularnosti in možnosti večkratne uporabe v praksah razvoja programske opreme in promocijo programskih orodij. Ustvarili so tudi niz kulturnih pravil za razvoj programske opreme in razvili filozofijo Unixa, ki je vplivala na IT skupnost.

Arhitektura operacijskega sistema UNIX

Unix Architecture je računalniški operacijski sistem, ki vključuje filozofijo Unixa. Sledi standardom, kot sta posamezna specifikacija UNIX (SUS) ali enakovreden standard IEEE POSIX. Podrobno obravnavanje tega, kaj je UNIX v družini operacijskih sistemov, se začne z razlago strukturne strukture, ki je sestavljena iz treh delov: jeder, lupin in programov. Nekatere ključne značilnosti koncepta arhitekture Unixa uporabljajo jedro centraliziranega operacijskega sistema, ki upravlja dejanja sistema in procesov. Vsa nebazna programska oprema je organizirana v ločenih procesih, ki jih nadzira jedro, ki je središče operacijskega sistema, dodeljuje časovne in pomnilniške programe Unixa, obdeluje skladišče datotek kot odziv na sistemske klice.
Unix-sistemi imajo izjemno večopravilnost - več procesov se lahko izvaja istočasno ali v majhnih časovnih intervalih in skoraj sočasno, inkateri koli proces lahko jedro prekine in odstrani iz njegovega izvajanja. Datoteke so shranjene na disku v hierarhičnem datotečnem sistemu, z eno zgornjo lokacijo v sistemu (root, ali "/"), z datotekami, imeniki in podimenikov. Z nekaterimi izjemami se naprava in nekatere vrste komunikacije med procesi upravljajo in prikazujejo kot datoteke ali psevdo-datoteke v hierarhiji datotečnega sistema. Operacijski sistem UNIX podpira naslednje funkcije in funkcije:
  • večopravilnost in večuporabniški vmesnik.
  • Programski vmesnik.
  • Uporaba datotek kot abstrakcija naprav in drugih predmetov.
  • Vgrajeno omrežje (standard TCP /IP).
  • Postopki stalnih sistemskih storitev, ki se imenujejo "demoni" in jih upravlja init ali inet.
  • Datoteke in procesi

    Vse v UNIX je datoteka ali proces. Proces je izvršljiv program, ki ga prepozna edinstven identifikator PID procesa. Unix datoteka je nabor podatkov. Ustvarjajo jih uporabniki z urejevalniki besedila in prevajalniki. Primeri datotek:
  • dokument (poročilo, povzetek itd.);
  • besedilo programa je napisano v programskem jeziku na visoki ravni;
  • navodila, razumljiva neposredno stroju in nejasna povprečnemu uporabniku, na primer niz binarnih številk;
  • imenik, ki vsebuje informacije o njegovi vsebini, ki je lahko mešanica drugih imenikov (podimenikov) in navadnih datotek.
  • Vse datoteke Unix so organizirane v strukturi imenika. Datotečni sistem je organiziran v hierarhični strukturi, podobnoobrnjeno drevo Zgornji del hierarhije se tradicionalno imenuje koren, napisan kot skew ("/").

    Besedilne datoteke so lahko prikazane na zaslonu in urejene. Za UNIX je na voljo več programov za urejanje besedila, najbolj opazni so vi in ​​Emacs. Mnogi uporabniki uporabljajo pico, preprosti urejevalnik besedila, ki prihaja s poštnim programom Pine. Na primer, če želite preprosto prikazati vsebino datoteke, vnesite "$ pico" in nato ime datoteke, ki jo želite ustvariti.
    Pico urejevalne funkcije se prikličejo s hkratnim pritiskom na tipke, na primer Ctrl in R. Pico izreži in prilepi funkcijo:
  • Premakni se na želeno vrstico besedila in pritisni "^ K". Celotna črta mora izginiti.
  • Pojdite na konec besedila in pritisnite "^ U". To bo vstavilo novo vrstico besedila.
  • Pisanje besed v besedilu se izvede z uporabo "^ W".
  • Če želite shraniti delo brez izhoda, vnesite "^ O".
  • Za izhod vnesite "^ X". Če obstajajo nespremenjeni podatki, bo uporabnik to zahteval pred izhodom.
  • Pico nima veliko dodatnih funkcij, ki jih imajo drugi uredniki, na primer vi in ​​Emacs, vendar preprosti za uporabo in zagotovo primerni za urejanje majhnih datotek.

    Unixu podobni sistemi

    Ti vključujejo operacijske sisteme, ki se obnašajo kot sistemi Unix in zagotavljajo podobne pripomočke, vendar jih skupina Open ne licencira. Ponavadi se imenujejo Unix-like. To so različne distribucije Linuxa. Na primer, Red Hat Enterprise Linux, Ubuntu in CentOS ter več potomcev operacijskega sistemaDružina Unix Berkeley Software Distribution. Ni jasne definicije, podobne Unixu, vendar se izraz nanaša na operacijski sistem, ki se obnaša kot Unix. To se lahko nanaša na njegovo prosto in odprto kodo. Nekateri razvijalci trdijo, da obstajajo tri vrste. Genetsko podobni sistemi so povezani z originalno bazo podatkov Bell Labs, kasneje AT & T, na primer z BSD, ki so jo uporabljali raziskovalci z Univerze v Kaliforniji konec 70-ih in zgodnjih 80-ih. Blagovne znamke in podobni sistemi z blagovno znamko ustrezajo specifikaciji Unix Unix. Funkcionalni sistemi, kot so Unix, Linux in Minix, se obnašajo približno tako, kot je določeno v specifikaciji. Imeti morajo na primer program, ki upravlja seje za prijavo in ukaze. Patentirani operacijski sistemi Unix in podobne različice delujejo na številnih digitalnih arhitekturah in se pogosto uporabljajo na spletnih strežnikih, mainframe računalnikih in superračunalnikih. V zadnjih letih postajajo pametni telefoni, tablični računalniki in osebni računalniki z različicami ali različicami Unixa vse bolj priljubljeni.

    Ključne komponente

    Za lastne sisteme Unixa in njihove različice je značilno več glavnih komponent:
  • jedro je glavni kontrolni program za operacijski sistem, ki upravlja pomnilnik, sistemske klice in druge funkcije nizke ravni, ki so skupne večini aplikacij in Zagotavlja gonilnike za upravljanje strojne opreme.
  • Shell Shell je interaktivni program, ki zagotavlja vmesnik med uporabnikom in jedrom. Lupina interpretira ukaze, ki jih vnese uporabnik aliki jih zagotavlja skript lupine, in pošlje jedra za izvajanje. Lupine, ki so na voljo za uporabo v operacijskih sistemih, podobnih Unixu, ki vsebujejo sh (Bourneova lupina), bash (shell Bourne-again), csh (lupina C), tcsh (lupina TENEX C), ksh (lupina korn) in zsh (lupina Z).
  • Datotečni sistem uporablja hierarhično strukturo imenikov s korenskim imenikom ("/") na vrhu. Datotečni sistem je nameščen iz korenskega imenika vsakega sistema v /N, kjer se domači imenik za vsakega uporabnika nahaja v /N /u /, in datoteke, povezane s programsko opremo, v /N /soft. Če želite ugotoviti, kateri nameščeni datotečni sistemi v sistemu, podobnem Unixu ali Unixu, uporabite mount-command. Večina vključuje orodja in knjižnice za pisanje, prevajanje in razhroščevanje programov na C, C ++ in Fortran.
  • Ukazi, podobni Unixu in Unixu, obsegajo veliko jedro standardnega pripomočka za urejanje, pisanje, prevajanje in upravljanje aplikacij, ravnanje z njim, upravljanje z njim in prejemanje informacij o sistemu in njegovih uporabnikih. Ukazi omogočajo argumente, znane kot možnosti za spreminjanje privzetega vedenja. Uporabniki vnesejo podatke v ukazno vrstico, nato pa ukazna lupina izvrši interpretacijo in prenese svoja jedra, da jih izvede.
  • V Unixu ima uporabnik možnost uporabe ukazne vrstice (več nadzora in prilagodljivosti) ali grafičnega vmesnika (enostavnejši).

    Dodeljevanje argumentov ukazne lupine

    Uporabnik komunicira z UNIX-om prek posebnega programa, imenovanega ukazna lupina, ukaz zahtevnika in posreduje OS za izvedbo povnos Sestavljata jih dva dela: ime ukaza in argumenti. Nekateri argumenti, imenovani možnosti, se običajno vnesejo z znakom "-", spremenijo obnašanje ukaza na določen način, medtem ko drugi argumenti kažejo na objekte, kot so imena datotek, računalniki in uporabniki. V naslednjem primeru: $ ls -l myfile "ls" je ime ukaza, "-l" in "myfile" pa sta argumenta. "-L" je možnost, ki spremeni obnašanje ukaza "ls". Vsi ukazi ne zahtevajo parametrov ali argumentov. Mnogi imajo privzeto inteligenco, kadar ni določena nič. Sistemska lupina Unixa je na voljo v dveh osnovnih različicah: lupini Bourne, sh in lupini C, csh. Iz njih so izpeljane druge priljubljene lupine, kot so ksh, bash, tcsh. Vsaka lupina uporablja poseben znak ali niz znakov, da zahteva od uporabnika ukaz, imenovan privzeti vabilo lupine za bash, simbol $. Če ni drugače določeno, bodo enako dobro delovali z večino drugih lupin. Ker UNIX podpira več uporabnikov hkrati, se morate pred začetkom uporabe identificirati v sistemu. Ta proces se imenuje prijava. Ko se uporabnik poveže z računalnikom, se od njega zahteva, da predloži dva dela podatkov za prijavo - ime za prijavo, ki je v njem identificirano, in geslo, ki poveča verjetnost, da uporabnik dejansko pripada, kar kliče.

    Osnovni ukazi UNIX

    Lupina tcsh ima nekaj funkcij, ki pomagajo uporabniku vnesti ukaze. Za dokončanje imena datoteke vnesite del imena ukaza,datoteko ali imenik. Po pritisku na [Tab], lupina tcsh samodejno dopolni del imena. Če zazna več kot eno ime, se začne s črkami, ki jih je sprožil uporabnik, zvočni signal pa bo zvonil, tako da bo predlagal še nekaj črk, preden ponovno pritisnete tipko tabulatorja. Lupina shrani seznam ukazov, ki jih vnesete. Če želite ponoviti ukaz, s smernimi tipkami se pomaknite navzgor in navzdol po seznamu ali vnesite zgodovino za seznam prejšnjih ukazov. Primeri večjih ukazov UNIX vključujejo naslednje:
  • ls: seznam datotek.
  • ls -l: prikaže seznam datotek v dolgi obliki.
  • cd: preklopite v imenik nad trenutnim.
  • cp filename1 filename2: kopira datoteko, ime datoteke.
  • chmod: spremeni pravice za branje, pisanje in izvajanje datotek;
  • mkdir: ustvari imenik.

    Terminalna aplikacija

    Ta aplikacija deluje, ko uporabnik pošlje ukaze neposredno računalniku, ki rezultat vrne neposredno uporabniku. Za to obstaja vmesni program, znan kot terminal ali ukazna vrstica. Kaj piše uporabnik, se prenese na terminal, ki izračuna, kateri ukazi se izvajajo, in daje ukaz za izvršitev. V angleščini se terminal imenuje lupina, ker pokriva operacijski sistem, da skrije nekaj njegove kompleksnosti in poenostavi interakcijo z njim. Terminal je program, ki lahko izvaja druge programe namesto samih izračunov. Najbolj priljubljen terminal Unix se imenuje Bash - od Bourne Again Shell, ker prihaja iz prejšnje različice, ki jo je napisal Stephen Burn.Bash je privzeti terminal v večini sodobnih implementacij Unixa in v večini paketov, ki nudijo orodja, podobna Unixu za Windows. Uporaba bash ali katerega koli drugega terminala je včasih bolj primerna za programiranje. Ekipe so kratke, pogosto le nekaj znakov, njihova imena so pogosto skrivnostna, njihov zaključek pa so besedilni nizi, in ne nekaj vizualnega, kot je grafika. Po drugi strani pa s pomočjo več ključev terminal omogoča združevanje obstoječih orodij v zmogljive transportne trakove in avtomatsko obdelavo velikih količin podatkov. Ta avtomatizacija ne samo, da dela bolj produktivna, ampak tudi poveča ponovljivost operacij, saj vam omogoča, da enako ponovite procese z nekaj preprostimi ukazi. Poleg tega je ukazna vrstica pogosto najlažji način za interakcijo z oddaljenimi računalniki in superračunalniki. Predstavitev terminala je praktično potrebna za uporabo različnih specializiranih orodij in virov, vključno z visoko zmogljivimi računalniškimi sistemi. Grozdi in sistemi računalništva v oblaku postajajo vse bolj priljubljeni za analizo znanstvenih podatkov in sposobnost interakcije z njimi postane potrebna spretnost. Uporabnik lahko uporabi spretnosti, ki jih bo pridobil na ukazni vrstici, da bi rešil širok spekter znanstvenih vprašanj in računalniških nalog.

    Ustvarjanje novih imenikov

    Zdaj, ko ima uporabnik splošno predstavo o datotečnem sistemu in kako ga obravnavati, lahko začnete ustvarjati svoje datoteke in imenike ter upravljati.njih. Katalogi so ustvarjeni z uporabo mkdir in odstranjeni z uporabo rmdir. Na primer, če želite ustvariti dva nova imenika, napišite: $ mkdir test test2. V tem primeru bo rmdir izbrisal samo prazne imenike. Če imenik vsebuje datoteke, jih mora uporabnik najprej izbrisati pred uporabo rmdir. Poleg tega lahko rekurzivno odstrani imenik in njegovo vsebino z ustrezno možnostjo z ukazom rm. Če želite kopirati nekatere obstoječe datoteke iz preostalega datotečnega sistema v testni imenik, uporabite ukaz cp. Preden se premaknete naprej, se premaknejo na nov "testni" katalog, ki je bil pravkar ustvarjen. Uporabnik bo uporabil to območje za poskuse, s čimer bo zmanjšal morebitne poškodbe drugih datotek v domačem imeniku:
  • $ cd test;
  • $ pwd;
  • /home /xxxxx /test.
  • Zdaj lahko kopirate nekaj datotek v testni imenik z uporabo cp:
  • $ cp /etc /motd. $ Cp /etc /hosts;
  • $ cp /etc /group. $ Ls.
  • Tri zgoraj navedene ukaze cp kopirajo obstoječe datoteke iz imenika /etc v trenutni imenik (ki mu sledi simbol "."). Zdaj izbrišite datoteko z uporabo skupine rm:
  • $ rm;
  • $ ls;
  • gostitelji motd.
  • Nato premaknite eno od datotek z mv:
  • $ mv motd;
  • $ ls.
  • Ker lahko cp, mv rm uniči podatke, ponujajo interaktivno možnost, ki zahteva od uporabnika, preden nadaljuje. To se imenuje z možnostjo -i. Običajno skrbnik sistema konfigurira račun, da privzeto uporabi to možnost.Za cp in mv potrebujete dva argumenta: trenutno lokacijo in cilj datoteke, ki jo želite kopirati ali premakniti. Cilj je lahko drugačna datoteka ali imenik.

    Koristi internetnega voditelja

    Noben tip operacijskega sistema ne more nuditi univerzalnih odgovorov na vse uporabniške zahteve. Gre za izbiro in sprejemanje informiranih odločitev. Kljub temu ima Unix toliko prednosti, da je postal najbolj iskan operacijski sistem. Splošne prednosti Unixa:
  • Prilagodljivo in ga je mogoče namestiti na številne vrste računalnikov, vključno z glavnimi računalniki, superračunalniki in mikroračunalniki.
  • Stabilen in ne propade tako pogosto kot zmaga, zato zahteva manj upravljanja in vzdrževanja.
  • Ima več vgrajene varnosti in dovoljenj kot Win.
  • Ima veliko več računalniške moči kot Win.
  • je vodilna na področju internetnih storitev. Približno 90% uporabnikov interneta uporablja operacijske sisteme Unix, ki uporabljajo Apache - najbolj razširjen spletni strežnik na svetu, ki je brezplačen.
  • Microsoftove posodobitve programske opreme pogosto od uporabnika zahtevajo nakup nove strojne ali programske opreme. Ni kot Unix.
  • V bistvu so brezplačni ali poceni odprtokodni operacijski sistemi družine Unix, kot sta Linux in BSD, s svojo prilagodljivostjo in nadzorom zelo privlačni za začetnike računalniških mojstrov.
  • Velikonajpametnejši programerji brezplačno razvijajo sodobno programsko opremo za hitro rastoči odprtokodni promet. "
  • Unix navdihuje tudi nove pristope k razvoju programske opreme, kot je reševanje problemov z združevanjem enostavnejših orodij namesto ustvarjanja velikih monolitnih aplikacij.
  • V zadnjem času je Unix doživel padec uporabe, predvsem zaradi prehoda iz platforme RISC na alternative, ki temeljijo na x86, ki lahko obvladajo veliko delovnih obremenitev Unix z višjo zmogljivostjo ob nižjih stroških. Strokovnjaki napovedujejo, da bodo številne organizacije še naprej uporabljale Unix za kritična okolja, vendar bodo zmanjšale svojo odvisnost od sistema s strategijami za posodobitev in konsolidacijo IT. Kljub temu je Unix še vedno najboljši sistem za številne aplikacije, kot je programska oprema za aplikacije za vertikalno skaliranje in varnostne funkcije, kar dokazujejo številni pregledi Unixa. Pričakuje se, da se bo prihodnja prodaja strežnikov zmanjšala, vendar bodo programi v finančnem, državnem in telekomunikacijskem sektorju še naprej spodbujali uporabo Unixa.

    Sorodne publikacije