UNIX

UNIX – grupė operacinių sistemų, kilusių iš 1969–1970 sukurtos UNICS (apie 1970 m. pervadintos į UNIX) sistemos, skirtos PDP kompiuteriams.

Dabartinis Unix prekinio ženklo savininkas yra The Open Group. Tik sistemos, visiškai atitinkančios Single UNIX Specification, yra vadinamos „UNIX“ (kitos vadinamos „Unix šeimos“ arba Unix – like).

Panaudojimas 
UNIX yra plačiai naudojama ir serveriuose, ir kitos paskirties kompiuteriuose. Unix kliento/serverio programų modelis buvo labai svarbus kuriant Internetą.

Savybės 
Iš kitų OS UNIX išsiskiria visų pirma failų sistema bei procesų valdymu. Daugelį UNIX bruožų yra perėmusios ir kitos OS, pvz., DOS ir Microsoft Windows naudojama katalogų sistema yra perimta iš UNIX, o OpenVMS, nors turi visiškai kitas šaknis, yra net sertifikuota kaip UNIX. Vienas iš neįprastų UNIX bruožų – bendra (nerašyta) ideologija, teigianti, kad OS turi būti patogi ir aiški specialistams, tuo tarpu eiliniai vartotojai, norėdami naudotis šiomis sistemomis, turi mokytis, bet nereikalauti sistemos profanavimo.

Failų sistema 
Failų sistema UNIX tipo OS abstrahuoja ne tik priėjimą prie duomenų, bet ir daugelį OS funkcijų bei įrenginių, todėl didžiąją dalį OS leidžiamų veiksmų galima atlikti naudojantis standartinėmis teksto apdirbimo programomis. Naujesnėse UNIX versijose per failų sistemą galima pasiekti ir duomenis, susijusius su pačios OS veikimu, dirbančiais procesais ir t. t.

Pvz., prireikus, visą disko turinį (įskaitant jo failų sistemą) galima nuskaityti, atidarius failą /dev/fd0, o garsinį dokumentą išklausyti, jį nukopijavus į /dev/dsp. Daugelį sistemos parametrų galima skaityti ir reguliuoti, naudojantis failais, esančiais /proc/ kataloge.

Procesų valdymas 
UNIX turi gana netipišką procesų paleidimo metodą, nebūdingą daugumai kitų OS:
 fork() – funkcija sukuria einamojo proceso kopiją, kuri nuo motininio proceso skiriasi tik identifikatoriumi. Skirtingai nuo kitų C kalbai būdingų funkcijų, ši grąžina du rezultatus: vieną – į motininį procesą (sukurto proceso identifikatorių), kitą – į dukterinį procesą (nulį).
 exec() – negrąžina jokio rezultato, bet einamąjį procesą pakeičia į kitą, naujai sukurtą iš vykdomojo failo, kuris nurodytas šiai funkcijai.
 wait() – laukia, kol fork() sukurtas procesas pasibaigs, naudojant exit() funkciją, bei grąžina rezultatą, perduotą exit() funkcijai.
 exit() – baigia procesą ir grąžina rezultatą motininiam procesui.

UNIX rūšys 

Tradiciškai UNIX sistemos skirstomos į dvi šakas, nors paskutiniu metu ribos tarp šių šakų pranyko:
 System V (anksčiau vadinta AT&T) istoriniu požiūriu yra tradicinė, kildinama tiesiogiai iš pirmųjų UNIX realizacijų.
 BSD formaliai gali būti laikoma pirmąja UNIX atšaka, sukurta Berklio Universitete.

 BSD
 FreeBSD – viena iš našiausių nemokamų UNIX sistemų.
 Mac OS X – Macintosh kompiuteriams skirta OS.
 NetBSD – itin geru perkeliamumu pasižyminti OS.
 OpenBSD – į maksimalų saugumą orientuota OS.
 System V
 AIX – IBM gaminama UNIX, skirta PowerPC kompiuteriams.
 HP-UX – Hewlett Packard gaminama UNIX, skirta PA-RISC ir Itanium architektūros kompiuteriams.
 IRIX – SGI vystyta UNIX sistema, skirta kompanijos MIPS kompiuteriams.
 Solaris – Sun Microsystems ir po jos įsigijimo Oracle kompanijos gaminama UNIX, skirta SPARC ir PC kompiuteriams.
 UNICOS – Cray gaminama UNIX, skirta įvairiems Cray superkompiuteriams.
 Linux – viena iš UNIX tipo realizacijų, oficialiai nelaikoma UNIX dėl ideologinių (teisinių ir rinkodarinių) priežasčių.

Daugelis kitų OS, tradiciškai nelaikomų UNIX, irgi yra įgijusios kai kurių UNIX bruožų, o kai kurios – net sertifikuotos, kaip UNIX. Kai kurios iš šių sistemų gali būti laikomos tipiškomis UNIX, tačiau neretai tiesiog nėra sertifikuojamos UNIX standartų atitikimui. Tarp sistemų, sertifikuotų vienam ar kitam UNIX standartui arba patyrusių stiprią UNIX įtaką, galima paminėti šias:
 BeOS
 QNX
 Windows NT
 OpenVMS
 z/OS

Standartai 
Egzistuoja keli pagrindiniai standartai, apibrėžiantys UNIX:
 POSIX – pirmasis, 1985 sukurtas UNIX tipo sistemas apibrėžiantis standartas
 1003.1 – 1990 patvirtintas standartas, apibrėžiantis bibliotekines funkcijas ir API
 1003.2 – 1992 patvirtintas standartas, apibrėžiantis vartotojo aplinką
 1003.3 – 1993 patvirtintas standartas, apibrėžiantis darbą realiame laike
 IEEE 1170 – UNIX API apibrėžiantis standartas
 Single UNIX Specification – grupė standartų, paremtų IEEE 1170 ir POSIX
 UNIX 93 – UNIX sistemos, implementuotos iki išleidžiant Single UNIX Specification
 UNIX 95 – UNIX sistemos, atitinkančios Single UNIX Specification pirmąją versiją.
 UNIX 98 – UNIX sistemos, atitinkančios Single UNIX Specification antrąją versiją.
 UNIX 03 – UNIX sistemos, atitinkančios Single UNIX Specification trečiąją versiją.
 System V Interface Definition
 ANSI C – kalbos standartas, apibrėžiantis daugelį standartinių UNIX būdingų funkcijų.

Istorija 
Pirmąją UNICS realizaciją, skirtą PDP-7 kompiuteriui, 1969 sukūrė jauni AT&T programuotojai Ken Thompson ir Dennis Ritchie, jau iki tol dalyvavę keliuose stambiuose kompiliatorių ir OS projektuose. Labai didelę įtaką pirmosioms UNIX versijoms padarė tuo metu kurta MULTICS sistema, kurioje buvo išspręstos daugelis abstrakcijos ir bendro vartotojų darbo problemų. Priešpastatydami savo nesudėtingą, vartotojus menkai kontroliuojančią sistemą MULTICS sistemai, Ken Thompson ir Dennis Ritchie ją pavadino UNICS. Po kiek laiko pavadinimas pakito ir pavirto į UNIX.

Tobulinant pirmąsias UNIX versijas, buvo sukurta C kalba, kuri buvo skirta specialiai paprastesniam UNIX programavimui. Perrašius pagrindines UNIX dalis šia kalba, UNIX tapo lankstesne, lengviau perkeliama operacine sistema. Dėl patogaus automatizavimo ši sistema buvo pradėta naudoti, rengiant spaudai AT&T dokumentus, o vėliau su pradiniais tekstais perduota į Berklio Universitetą, kur labai greitai išpopuliarėjo, tarp OS kūrimą studijuojančių studentų.

Nuo 8-ojo dešimtmečio pabaigos UNIX ėmė sparčiai plisti ir tarp kitų firmų, atsirado daugelis komercinių UNIX realizacijų, tuo pat metu išsiskyrė dvi pagrindinės UNIX šakos: viena – paremta AT&T naudotomis UNIX versijomis, kita – paremta žymiai modernesnėmis, labiau abstrahuotomis UNIX versijomis, sukurtomis Berklio Universitete. Tačiau per kitus 15-20 metų šios dvi UNIX kryptys perimdavo viena iš kitos visas žymesnes naujoves, todėl ilgainiui supanašėjo.

Tarp aštuntojo ir devintojo dešimtmečių įvairios firmos mėgino paimti į savo rankas UNIX rinką naudodamos prirakinimo strategiją (vartotojas negali keisti mūsų į konkurentą, nes mūsų ir konkurento UNIX, kad ir panaši, nesuderinama). Tuo laiku dėl dominavimo grūmėsi X/Open, System V Release 4, OSF/1 ir UNIX International, visos daugiau ar mažiau tarpusavy nesuderinamos. Šis tarpsnis literatūroje populiariai vadinamas „UNIX karais“. Dažniausiai teigiama, kad „karai“ pakenkė UNIX populiarumui ir sąlygojo Microsoft Windows įsigalėjimo pradžią. Vėliau visas UNIX nuosavybės teises per tarpines grandis sukaupė Open Group, kurios „vieninga UNIX specifikacija“ (angl. Single UNIX Specification – SUS) šiuo metu ir yra vieningas UNIX standartas.

Taip pat skaitykite 
 CORBA
 X Window
 C (kalba)
 Linux
 POSIX
 Motif
 LDAP
 CDE

Šaltiniai