UNIX on tietokoneen käyttöjärjestelmä, jonka perusideat ja rakenteet ovat vaikuttaneet vahvasti nykyaikaisiin käyttöjärjestelmiin. Se kehitettiin ensimmäisen kerran vuonna 1969 Bell Labsissa. Ken Thompson, Dennis Ritchie, Douglas McIlroy ja muut suunnittelijat loivat järjestelmän alun perin pienelle laitteistolle; varhaisimmat toteutukset ajettiin DEC PDP‑7 -koneella ja myöhemmin PDP‑11:llä. Alkuvaiheen toteutukset kirjoitettiin osin assemblerikielellä, mutta vuonna 1972 suurin osa Unixin koodista kirjoitettiin uudelleen uudella C‑ohjelmointikielellä. Tämä uudelleenkirjoitus teki Unixista huomattavasti helposti siirrettävän eri laitteistoille, mikä oli tärkeä syy sen laajalle leviämiselle akateemisissa ja kaupallisissa ympäristöissä.
Perusominaisuudet
Unix on suunniteltu monikäyttäjä‑ ja moniajo (multitasking) ‑ympäristöksi: sama järjestelmä voi palvella useita samanaikaisia käyttäjiä ja suorittaa useita ohjelmia yhtä aikaa. Se tukee myös hyvää verkkotoiminnallisuutta ja tarjoaa monia rakennuspalikoita ohjelmistojen väliseen viestintään, kuten putket (pipes) ja socketit.
Unixissa on selkeä rakenne, jossa erotellaan ydin (kernel) ja käyttäjätilan ohjelmistot. Ydin vastaa laitteiston hallinnasta, prosessien ajoituksesta, muistinhallinnasta ja tiedostojärjestelmästä. Käyttäjätilassa ajetaan hyötyohjelmia ja komentotulkin (shellin) tarjoamia työkaluja. Usein järjestelmä koostuu monista pienistä, hyvin määritellyistä ohjelmista, jotka voi yhdistää toisiinsa putkilla — tämä on keskeinen osa niin kutsuttua Unix‑filosofiaa (ks. alla).
Tiedostojärjestelmä on hierarkkinen ja kaikki laitteet sekä tiedostot näkyvät puumaisessa hakemistossa. Perinteisesti Unixissa käytetään käyttöoikeuksia (luku, kirjoitus, suoritus) kolmitasoisina (omistaja, ryhmä, muut), mikä on tärkeä osa järjestelmän turvallisuutta.
Unix‑filosofia ja komentorivi
Monet Unixin periaatteet korostavat yksinkertaisuutta, tehtäväkohtaista ohjelmaa ja tekstipohjaista rajapintaa: kirjoita pieniä ohjelmia, jotka tekevät yhden asian hyvin, ja yhdistä niitä. Tätä ajattelutapaa kutsutaan usein "Unix‑filosofiaksi".
Yksi tapa käyttää Unix‑järjestelmää on komentoriviltä. Käyttäjät suorittavat komentoja ja ohjelmia kirjoittamalla tekstimerkkejä komentotulkkiin. Tämän oppiminen vie aikaa, mutta komentorivin käyttö on erittäin tehokas ja joustava tapa työskennellä. Useimmat Unixin ylläpitäjät käyttävät sitä edelleen. Komennot ajetaan komentotulkissa (shell), ja eri järjestelmissä on erilaisia tulkkeja — esimerkkejä ovat Bourne shell (sh), C shell (csh) ja myöhemmin laajasti käytetty Bash.
Graafinen käyttöliittymä
Graafinen käyttöliittymä on vaihtoehto komentoriville. Perinteisesti Unix‑järjestelmissä yleinen ratkaisu on ollut X Window System (lyhyesti X). X tarjoaa perusrakenteet ikkunoiden piirtämiselle ja tapahtumien välittämiselle, mutta ei sisällä valmiita työpöytäominaisuuksia — käyttäjät tarvitsevat erillisen ikkunanhallintaohjelman tai työpöytäympäristön hallitsemaan ikkunoiden sijoittelua ja ulkoasua.
Suosittuja työpöytä‑ ja ikkunanhallintaohjelmia ovat mm:
Kuten useimmat muutkin graafiset käyttöliittymät, ne käyttävät ikkunoita ja valintaikkunoita, tukevat tietokoneen hiiren käyttöä ja on suunniteltu helppokäyttöisiksi. X‑ekosysteemiin on saatavilla tuhansia ohjelmia. Tekstinkäsittely‑, taulukkolaskenta‑ ja muut sovellukset löytyvät sekä kaupallisina että ilmaisina avoimen lähdekoodin ohjelmina. Nykyisin X:n korvaajaksi kehitetään myös moderneja vaihtoehtoja, kuten Wayland‑protokollaa, mutta X on edelleen laajalti käytössä.
Turvallisuus ja käyttäjähallinta
Unix‑tyyppiset järjestelmät on suunniteltu monikäyttäjäisiksi: jokaisella käyttäjällä on oma käyttäjätili ja kotihakemisto. Järjestelmäasetus- ja käyttöoikeusmalli sekä roolit auttavat rajoittamaan pääsyä resursseihin. Koska järjestelmään voi päästä käsiksi useilta käyttäjiltä joko paikallisesti tai verkon yli, tietoturva on keskeinen osa Unixin käyttöönottoa ja hallintaa. Lisäksi Unix‑järjestelmissä on työkaluja käyttäjä-, prosessi‑ ja verkkoresurssien valvontaan.
Unixin vaikutus ja perintö
Monet Unixin ideat olivat uutta aikanaan ja niitä kopioitiin laajasti. Unixin rakenne, työkalut ja filosofiat vaikuttavat edelleen moniin nykyisiin käyttöjärjestelmiin. Nykyään on monia järjestelmiä, joissa on joitakin Unixin ideoita; tästä syystä puhutaan usein unix‑tyyppisistä tai "Unixin kaltaisista" järjestelmistä.
Esimerkkejä Unixin suoraan polveutuvista tai sen vaikutuksesta syntyneistä käyttöjärjestelmistä ovat erilaiset BSD‑perheen järjestelmät (FreeBSD, NetBSD, OpenBSD) sekä kaupalliset Unix‑versiot (esim. System V -linjastoja käyttävät). Lisäksi Applen macOS on toteutukseltaan epävirallisesti ja sertifioidusti yhdistettävä Unix‑malliin (OS X/macOS pohjautuu BSD‑tyyppiseen käyttäjätilaan ja Mach‑ydin johdannaisiin).
Linux puolestaan jakaa monia Unixin ideoita ja komentojen nimiä, mutta ei käytä Unixin alkuperäistä lähdekoodia. Tästä syystä Linuxia ei yleisesti luokitella suoraan UNIX‑tuotteeksi, vaan se on Unixin kaltainen ("Unix‑like"). Unix‑nimikettä hallinnoi The Open Group, joka ylläpitää myös standardeja kuten POSIX ja Single UNIX Specification; nämä standardit määrittelevät, mitä vaaditaan, jotta järjestelmä voidaan sertifioida oikeaksi "UNIX":iksi.
Yhteenveto
Unix on tärkeä osa tietotekniikan historiaa: sen suunnitteluperiaatteet — yksinkertaisuus, modulaarisuus, tekstipohjaiset rajapinnat ja portabiliteetti C‑kielen ansiosta — ovat muokanneet tapaa, jolla käyttöjärjestelmiä tehdään ja käytetään. Vaikka alkuperäinen Unix‑koodi ei olekaan kaikkien nykyjärjestelmien ytimessä, sen vaikutus näkyy edelleen jokapäiväisissä työkaluissa, palvelimissa, työasemissa ja sulautetuissa järjestelmissä.

