Pereiti prie turinio

UNIX

Straipsnis iš Vikipedijos, laisvosios enciklopedijos.
   Šiam straipsniui ar jo daliai reikia daugiau nuorodų į patikimus šaltinius.
Jūs galite padėti Vikipedijai įrašydami tinkamas išnašas ar nuorodas į patikimus šaltinius.
Unix ir giminingų sistemų genealogija

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

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).

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

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 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

[redaguoti | redaguoti vikitekstą]

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.
Modernus UNIX darbalaukis (Solaris 10)
Irix darbalaukis
OpenBSD darbalaukis

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:

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ų.

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

[redaguoti | redaguoti vikitekstą]
  1. Gediminas Navickas. UNIX operacinė sistema. Visuotinė lietuvių enciklopedija, T. XXIV (Tolj–Veni). – Vilnius: Mokslo ir enciklopedijų leidybos institutas, 2015. 373-374 psl.