UNIX

Iš Žinynas.
(Nukreipta iš Unix)
Jump to navigation Jump to search

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

Dabartinis Unix prekinio ženklo sąvininkas yra The Open Group. Tik sistemos visiškai atitinkančios Single UNIX specifikaciją yra vadinamos "UNIX" (kitos vadinamos "Unix šeimos" arba Unix-like).

Panaudojimas[keisti]

UNIX yra plačiai naudojama tiek serveriuose tiek kitos paskirties kompiuteriuose. Unix kliento/serverio programų modelis buvo labai svarbus kuriant Internetą. Linux sistema, perėmusi daug ką iš Unix, kelia kone rimčiausią konkurenciją Windows operacinei sistemai.

Savybės[keisti]

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 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[keisti]

Failų sistema UNIX tipo OS abstraktuoja 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 kita.

Pvz., prireikus, visą disko turinį (įskaitant jo failų sistemą) galima nuskaityti, atidarius failą /dev/fd0, o garsinį dokumentą išklausyti, jį nukopijavus į /dev/dsp.

Procesų valdymas[keisti]

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[keisti]

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.

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:

Standartai[keisti]

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[keisti]

Pirmąją UNICS realizaciją, skirtą PDP-7 kompiuteriui, 1969 sukūrė jauni ATT|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, 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 ATT|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 ATT|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 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 vienigas UNIX standartas.