UNIX
UNIX – daugiauždavininė daugiavartotojiška OS. Tai nėra patogi vartotojui OS, todėl ją nedažnai galima rasti paprasto vartotojo kompiuteryje. Jos priešininkai charakterizuoja ją kaip pasenusią, daugumoje naudojančią archaišką tekstinį interfeisą. UNIX šalininkams tai yra galingiausia, lanksčiausia ir tuo pačiu metu stabiliausia OS iš visų egzistuojančių šiuo metu. Kaip paprastai, abu požiūriai teisingi iki tam tikros ribos, o tiesa kažkur vidury.
Kadangi UNIX operacinė sistema turi labai daug versijų, ji gali dirbti daugelyje aparatinių platformų, pradedant paprasčiausiu personaliniu kompiuteriu su Intel 80386 procesoriumi ir baigiant specializuotomis darbo stotimis.
Tinklo OS UNIX yra vieno rango, t.y. kiekvienas tinklo kompiuteris turi galimybę kaip gauti priėjimą prie kitų kompiuterių resursų, taip ir pateikti bendram naudojimui nuosavus resursus. Tokios tinklo sąveikos galimybės gali būti 3 bazinių formų:
· sesijos su kita sistema atidarymas ir programų vykdymas jos apvalkale;
· priėjimo prie kitos sistemos, naudojančios NFS servisą, failų sistemos gavimas;
· specialaus serviso, vadinamo demonu (daemon), paleidimas viename kompiuteryje ir priėjimo prie jo organizavimas kito kompiuterio programos-kliento pagalba.
TCP/IP protokolai yra neatskiriama visų UNIX operacinių sistemų dalis, todėl dauguma programų ir TCP/IP servisų irgi įtraukti į sąveiką tarp UNIX tinklo sistemų. Pvz., UNIX tinklai naudoja DNS-serverius mazgo vardo į jo IP-adresą atitikimo nustatymui, BOOTP- ir DHCP-serverius dinaminei klientų konfigūracijai. Standartinės Internet tarnybos, tokios kaip FTP ar Telnet, yra svarbiausi UNIX tinklo organizavimo elementai. Tą patį galima pasakyti ir apie ping ir traceroute pagalbines programas (utility).
Viena iš tinklo priėjimo formų, dažniau naudojama UNIX’e, negu kitose tinklų operacinėse sistemose, yra nutolusios konsolės sesija (remote console session), kurios metu vartotojas prisijungia prie nutolusios tinklo mašinos ir vykdo joje komandas. Kai tik prisijungiama, komandos, įvedamos kliento sistemos vartotoju, vykdomos serveryje, o vykdymo rezultatai tinklu persiunčiami atgal sistemai-klientui, kur parodomi ekrane.
Nuotolinio valdymo komandos Berkeley iš pradžių buvo BSD UNIX dalimi ir nuo to laiko buvo adaptuotos praktiškai visoms kitoms UNIX OS. Taip pat žinomos kaip r*commands, šios serviso programos leidžia ne tik atidaryti ryšio su nutolintu kompiuteriu seansą, bet ir vykdyti jame konkrečius uždavinius, neįeinant į sistemą, interaktyvios sąveikos su jos apvalkalo komandų eilute dėka.
Nuotolinio valdymo komandos Berkeley buvo tikslingai sukurtos UNIX operacinėms sistemoms, tuo tarpu DARPA komandos iš pradžių buvo TCP/IP protokolų rinkinio dalimi ir todėl gali būti panaudojamos sąveikaujant bet kurioms 2 sistemoms, palaikančioms TCP/IP. Praktiškai bet koks UNIX klonas turi kaip kliento, taip ir serverio programas telnet’ui, ftp ir tftp, kurios instaliuojamos pagal nutylėjimą, nors kai kurie administratoriai gali uždrausti jų naudojimą.
Failų pateikimas bendram naudojimui yra vienas iš tinklo sąveikos pagrindinių komponentų, todėl UNIX operacinės sistemos turi keletą mechanizmų gauti priėjimą prie kitų kompiuterių failų be jų transportavimo į lokalų kietą diską. Dažniausiai naudojamas yra Network File System (NFS, tinklo failų sistema). Ši failų sistema buvo sukurta Sun Microsystems 1980 m., o paskelbta Internet Engineering Task Force (IETF, Internet tinklo projektavimo probleminė grupė) RFC 1094 (2 versija) ir RFC 1813 (3 versija). Leisdama IETF publikuoti NFC kaip atvirą standartą, Sun Microsystems kompanija padarė galimu šio serviso realizavimą visiems norintiems. Taigi, dabar NFS palaikymas įtrauktas vos ne į visas populiarias operacines sistemas.
Praktiškai kiekviena UNIX versija turi NFS palaikymą, kas leidžia pateikti failus bendram naudojimui kompiuteriams su skirtingomis UNIX versijomis.
NFS – kliento/serverio taikomoji programa, kurioje serveris leidžia paskelbti visą savo failų sistemą ar jos dalį prieinama klientams (atsakingas už tai procesas vadinamas exporting arba sharing), o klientai gauna priėjimą prie nutolintos failų sistemos montavimo (mounting) dėka. Rezultate nutolinti failai ir katalogai atrodo lyg lokalios failų sistemos dalis. NFS tiesiogiai nesąveikauja su lokalaus kompiuterio OS branduoliu, o pasitiki RPC (Remote Procedure Call, nutolęs procedūros iškvietimas) servisui. Informacija, perduodama NFS, koduojama External Data Representation (XDR, išorinių duomenų pateikimas/pristatymas) metodo, aprašytu RFC 1014, pagrindu. Daugumoje atvejų servisas panaudoja UDP protokolą duomenų perdavimui tinkle ir “išklauso” 2049 portą.
NFS serveris yra abejingas (stateless), t.y. jam visiškai nereikia turėti informacijos apie kliento būvį tam, kad jis galėtų teisingai funkcionuoti. Serveris negauna informacijos apie tai, kokių klientų kokie failai yra atidaryti. Esant serverio lūžimui, klientai tęsia užklausų siuntimą tol, kol negauna atsakymo. Nereikia pakartotinio sujungimo nustatymo sudėtingos procedūros. NFS taip pat padaryta maksimaliai idempotentine (idempotent). Tai reiškia, kad padidintas vieno uždavinio aktyvumas neveikia neigiamai visos sistemos našumo. NFS serveriai neadaptuoja eksportuojamos failų sistemos pagal kliento reikalavimus. Serveris pristato failų sistemos bendru pavidalu informaciją, o šios informacijos integravimo į nuosavą failų sistemą, kad taikomosios programos galėtų ja pasinaudoti, uždavinys pilnai pavestas programos kliento daliai.
Sąveika tarp NFS serverių ir klientų sudaroma RPC-procedūrų serijų pagrindu. Šios bazinės funkcijos leidžia klientui interaktyviai dirbti su serverio failų sistema visais galimais būdais.
Duomenų apdorojimas kliento/serverio principu sudaro UNIX pagrindu tinklo organizavimo pagrindą, kaip ir daugumoje kitų skaičiavimo platformų. UNIX OS yra populiari serverių taikomųjų programų bazė, nes jos paprastumas ir lankstumas leidžia kompiuteriui paskirti daugiau resursų pirminės funkcijos vykdymui. Pvz., Windows NT serveris sunaudoja didesnį potencialo dalį grafiniam vartotojų interfeisui ir kitų posistemių darbui, mažai reikšmingų ar visai nereikalingų serverio taikomųjų programų funkcionavimui, kurių vykdymas kaip tik ir yra serverio svarbus uždavinys.
Derinant kompiuterį konkretiems uždaviniams, pvz., dirbti web-serveriu, ir laukiant iš jo kuo daugiau klientų aptarnavimo, tikslinga atjungti visas pašalines funkcijas, o tai žymiai paprasčiau padaryti UNIX operacinėje sistemoje, negu Windows NT.
Serverių taikomosios programos UNIX-sistemose paprastai turi demonų, esančių fono procesais, dirbančiais pastoviai, nepriklausomai nuo kito sistemos aktyvumo, pavidalą.