Unix

Screenshot av et nyere UNIX-system

Unix er en familie av operativsystemer med opprinnelse fra AT&T Bell Laboratories, der utviklingen startet i 1969. Karakteristika for systemet er portabilitet, multitasking og støtte for mange samtidige brukere gjennom tidsdeling. Systemets egenskaper i kombinasjon med Bell Labs' åpne deling av forskning med universiteter og andre forskningsmiljøer, førte til betydelig spredning av Unix gjennom 70-tallet.

Da 16- og 32-bits mikroprosessorer ble generelt tilgjengelige tidlig på 80-tallet, var Unix det naturlige OS-valg. Det samme var tilfellet for kraftige superminimaskiner, de fleste RISC-baserte, i andre halvdel av 80-tallet. Unix var lett å porte, anerkjent i det tekniske markedet, hadde kraftige utviklingsverktøy og bedre nettverks-støtte enn noen – det siste takket være utviklingen ved University of California, Berkeley ( BSD), med økonomisk støtte fra det amerikanske forsvarsdepartementet ( DARPA).

Den store interessen gjorde det naturlig for AT&T å kommersialisere Unix, og å etablere standarder for systemet. Sprikende interesser både kommersielt og teknisk blant aktørene i markedet, gjorde imidlertid standardisering vanskelig, og la grunnlag for det som senere er blitt hetende Unix-krigen. Først langt ut på 90-tallet ble reelle Unix-standarder etablert. Disse standardene finnes og brukes fortsatt – ikke bare for Unix og Unix-lignende systemer, men for operativsystemer generelt.

Unix er også en filosofi som dokumenteres i The Unix Philosphy (1995), [1] Eric Raymonds The Art of Unix programming (2003) [2] og i tidlige dokumenter fra utviklerne av systemet. [3] Essensen i filosofien er å lage små, oversiktlige komponenter som med ansvar for én eller få oppgaver, og som lett kan kombineres med hverandre. Filosofien har smittet til en rekke større og mindre konsepter og prosjekter senere, ikke minst Linux [4] og microservices. [5] Generelt har Unix påvirket samtlige operativsystemer som finnes på markedet i dag. [6]

Historie

Unix' historie starter med operativsystemet Multics, et ambisiøst samarbeidsprosjekt mellom MIT, Bell Labs og General Electric. Arbeidet med Multics mislyktes fordi ambisjonene overgikk kapasiteten til datidens datamaskiner. Unix ble på mange måter en motreaksjon på kompleksiteten i Multics, og tok samtidig med en rekke gode ideer og erfaringer fra systemet. Ken Thompson startet utviklingen på en avlagt PDP-7 maskin i 1969, og fikk følge av blant andre Dennis Ritchie og Douglas McIlroy kort tid senere. Målet var tydelig: Å skape et utviklingsmiljø der de kunne forske på programmering, operativsystemer, metoder og teknologi. I løpet av et par korte sommermåneder hadde de et system som sto på egne ben – med kompilator, OS, teksteditor og filsystem. [3]

Før UNIX var operativsystemene tunge og uoversiktlige, der programmer ofte var programmert til å utføre mange forskjellige oppgaver samtidig. Når strukturen i UNIX-systemet ble laget baserte man seg heller på små programmer som bare utførte en oppgave av gangen. Når maskinen skulle gjøre store tunge oppgaver baserte man seg heller på å kjøre informasjonen fra program til program gjennom pipes.

Under arbeidet med UNIX fikk man også bruk for et lett, enkelt, maskinuavhengig, men kraftig programmeringsspråk for å kunne flytte programmer fra maskin til maskin. På den tiden måtte nemlig et program skrives på nytt for hver nye type maskin, noe som var meget upraktisk. Det var starten på programmeringsspråket C.

En viktig del av UNIX er også det såkalte skallet som er et program som fortolker kommandoer brukeren skriver inn på et tekstvindu på skjermen. Skallet har vært og er fremdeles det viktigste grensesnittet mellom bruker og operativsystem. Gjennom skallet kan brukeren administrere filer, få oversikt over systemressurser, starte opp andre programmer og så videre. I stedet for å skrive kommandoene interaktivt på tekstvinduet, kan brukeren også lage en tekstfil med nøyaktig de samme kommandoene. Tekstfilen kan deretter kjøres som et vanlig program. Dette forenkler bruken av et UNIX-system vesentlig, idet arbeidsoppgaver som stadig må gjentas kan programmeres og tas vare på i en slik fil.

Flere operativsystemer har basert seg på eller hentet inspirasjon fra Unix, deriblant Linux, Minix, FreeBSD, NetBSD, plan9 og Darwin.

I dag er restene av det det opprinnelige Unix spredt rundt omkring, noe som har ført til flere kontroverser. AT&T solgte Unix til Novell i 1993, som senere bestemte seg for bare å beholde kildekoden og selge varemerket Unix og Single Unix Specification til The Open Group. Single UNIX Specification, som i dag er i sin tredje utgave (UNIX 03), er en spesifikasjon som sier hvilke krav som stilles til et operativsystem for at det skal kunne kalles Unix. Ingen Linux-distribusjoner er UNIX-sertifisert, og heller ingen av de gratis *BSD distribusjoner, selv om det ikke skal mye til for å få til dette rent teknisk. Hovedårsaken er antakelig at det er kostbart å søke sertifisering og at det krever streng kontroll over kodeendringer for å sikre at sertifiseringen forblir gyldig. Den gratis BSD-varianten Darwin er UNIX 03 kompatibel men ikke sertifisert.

Den mest utbredte sertifisert UNIX 03 operativsystem i dag er Mac OS X. Mac OS X er forøvrig det første BSD-variant med UNIX 03 sertifisering. Andre kjente kommersielle UNIX distribusjoner med UNIX 03 sertifisering er AIX, HP-UX, og Solaris.

Andre språk
norsk nynorsk: Unix
dansk: UNIX
svenska: Unix
íslenska: Unix
Afrikaans: Unix
Alemannisch: UNIX
العربية: يونكس
aragonés: Unix
asturianu: Unix
azərbaycanca: Unix
বাংলা: ইউনিক্স
Bân-lâm-gú: Unix
беларуская: Unix
беларуская (тарашкевіца)‎: UNIX
български: Unix
bosanski: UNIX
brezhoneg: Unix
català: Unix
Чӑвашла: UNIX
čeština: Unix
Cymraeg: Unix
Deutsch: Unix
eesti: UNIX
Ελληνικά: Unix
English: Unix
español: Unix
Esperanto: Unikso
euskara: Unix
فارسی: یونیکس
Fiji Hindi: UNIX
français: Unix
Gaeilge: UNIX
galego: UNIX
한국어: 유닉스
Հայերեն: UNIX
हिन्दी: यूनिक्स
hrvatski: UNIX
Ilokano: UNIX
Bahasa Indonesia: Unix
interlingua: UNIX
Ирон: UNIX
italiano: Unix
עברית: Unix
ಕನ್ನಡ: ಯುನಿಕ್ಸ್
ქართული: UNIX
қазақша: UNIX
Kurdî: Unix
Кыргызча: Unix
Latina: Unix
latviešu: UNIX
lietuvių: UNIX
magyar: Unix
македонски: Уникс
Malagasy: UNIX
മലയാളം: യുണിക്സ്
मराठी: युनिक्स
Bahasa Melayu: UNIX
Mìng-dĕ̤ng-ngṳ̄: Unix
монгол: Unix
မြန်မာဘာသာ: ယူးနစ်စ်
Nederlands: Unix
नेपाली: युनिक्स
नेपाल भाषा: युनिक्स्
日本語: UNIX
occitan: Unix
oʻzbekcha/ўзбекча: UNIX
Plattdüütsch: Unix
polski: Unix
português: Unix
Qaraqalpaqsha: Unix
română: UNIX
русский: UNIX
саха тыла: Unix
sardu: UNIX
Scots: Unix
shqip: UNIX
සිංහල: යුනික්ස්
Simple English: UNIX
slovenčina: Unix
slovenščina: Unix
српски / srpski: Јуникс
srpskohrvatski / српскохрватски: Unix
suomi: Unix
Tagalog: UNIX
தமிழ்: யுனிக்சு
татарча/tatarça: Unix
తెలుగు: యునిక్స్
Türkçe: UNIX
українська: UNIX
اردو: یونکس
Tiếng Việt: Unix
Võro: Unix
Winaray: Unix
ייִדיש: יוניקס
粵語: UNIX
žemaitėška: UNIX
中文: UNIX