Ugrás a tartalomhoz

Unix

A Wikipédiából, a szabad enciklopédiából
A lap korábbi változatát látod, amilyen 79.121.32.153 (vitalap) 2013. március 30., 18:42-kor történt szerkesztése után volt. Ez a változat jelentősen eltérhet az aktuális változattól.

A UNIX (más írásmóddal Unix, ejtsd: juniksz) egy 1969-ben kifejleszett operációs rendszer, amelyet az AT&T munkatársai dolgoztak ki a Bell Laboratories-ben.

1993 óta a UNIX nem egy cég egyetlen termékét jelöli, hanem egy licencelhető védjegy, melyet az Open Group kezel. A UNIX kritériumoknak megfelelő és certifikált rendszer például a HP-UX, a AIX, a Mac OS X, a Solaris, a Tru64, a IRIX vagy a z/OS [1].

A követelményeknek megfelelő, de nem certifikált (vagy csak részben megfelelő) rendszereket Unix-szerűnek szokták nevezni. Unix-szerű operációs rendszer például a Linux, a BSD, a Minix, a QNX vagy a GNU Hurd.

A UNIX története

Ken Thompson és Dennis Ritchie

1. változat

Az 1960-as években néhány nagy amerikai cég elhatározta, hogy egy „mindentudó” operációs rendszert fejlesztenek ki közösen. Meg is született az új rendszer – neve Multics – de nem terjedt el, bár ez volt az első operációs rendszer, amely megkapta a B2-es biztonsági minősítést. Bár a rendszer PL/1-ben készült, a speciális igényei, például a hardveres memória védelem, vagy a 36 bites rendszerek sajátosságai, nem tették lehetővé a hordozhatóságot, és hardverigényei is nagyok voltak. Így a Multics a nagygépek azóta is szűkülő piacán maradt (az utolsó Multicsot futtató gépet 2000-ben állították le végleg).

Amikor a cégek feladták álmaikat és lemondtak a Multics-ról, egy Ken Thompson nevű fiatalember kénytelen volt új elfoglaltság, új hobbi után nézni. Azt gondolta, hogy a Multics fejlesztése során születtek eredmények megpróbálta felhasználni.

Nekikezdett a munkának, és 1969-re el is készült egy igen egyszerű operációs rendszer, amelynek a Multics-szal szemben megvolt az az előnye, hogy működött. Megszületett a UNIX.

A névadó tulajdonképpen Brian Kernighan volt, aki közben bekapcsolódott a fejlesztésbe, és kissé szarkasztikusan eunuch Multics-nak kezdte nevezni munkájuk gyümölcsét, nem is túl finoman célozva arra, hogy mennyi mindenről lemondtak az eredeti tervekhez képest.

A UNIX eredetileg egy PDP-7 (PDP) számítógépen futott, szerették volna azonban egy modernebb PDP-11 gépre áttenni. A gond csak az volt, hogy ehhez a teljes programrendszert sorról sorra újra kellett írni.

Akkoriban ugyanis az operációs rendszereket olyan gépközeli nyelven – assembly-ben – írták, amely hatékony volt ugyan, csakhogy minden géphez saját nyelv tartozott. Ennek persze az volt a következménye, hogy ha valaki át akart vinni egy operációs rendszert egy másik gépre, akkor újra kellett írnia azt, az első sortól az utolsóig. Ráadásul ez lassú munka, hiszen ilyenkor a programozó nem alkot, nem „programot ír”, egyszerűen csak programsorokat fordít le.

A UNIX csapat elhatározta, hogy egy hordozható – mai szakkifejezéssel „portolható” – operációs rendszert készít. Hajlandóak voltak egyszer újraírni a teljes rendszert, de elhatározták, hogy a cél nem egy másik gép assembly nyelve lesz, már elvégzik e munkát ne kelljen soha többé újraírni az egészet. És ím az emberi lustaság a technológiai fejlődés kulcsa lett ismét.

A megoldást csak egy olyan programozási nyelv jelenthette, amelyik hordozható – vagyis gépfüggetlen – és elég hatékony ahhoz, hogy operációs rendszert írjanak vele. Dennis M. Ritchie – aki közben többekkel csatlakozott a fejlesztéshez – szállította is a nyelvet, amely a ma legendás C programozási nyelv elődje volt. Közös munkával újraírták a UNIX-ot ezen a nyelven, és így megszületett az első hordozható operációs rendszer.

Abban az időben, ha egy cég kijött a piacra egy új számítógéppel, akkor az operációs rendszert is el kellett készítenie hozzá. Ha rossz volt az operációs rendszer vagy késett a fejlesztése, akkor a piacon megbukott az új konstrukció – bármilyen nagyszerű számítógép volt is. A C nyelven megírt hordozható operációs rendszer segítségével azonban e probléma megoldódott. Nincs szükségünk másra, csak egy univerzális fordítóprogramra, amelynek elmagyarázzuk, hogyan kell az adott gép nyelvére lefordítani a C-ben írt programot, és le kell fordítanunk a régi operációs rendszert az új gépre. Az új számítógép így már egy kipróbált, szabványos és ismert operációs rendszerrel jöhet ki a piacra – a felhasználók pedig már másnap elkezdhetik a használatát, még tanulniuk sem kell.

Az 1970-es évek elején már egy hatékony, jól átgondolt, és hordozható operációs rendszerré fejlődött a UNIX, amelyet egyre többen használtak. Rohamosan terjedt, s ennek volt egy különleges oka (azon kívül persze, hogy egyszerűen jó volt). A fejlesztés a Bell Laboratories nevű cégnél történt, annak anyavállalata – az AT&T – pedig el volt tiltva attól, hogy számítógépes programokat áruljon. Valójában persze igen sok dologtól el volt tiltva az amerikai trösztellenes törvények értelmében, minket azonban most csak a UNIX forgalmazása érdekel. A UNIX-ot tehát nem adták – nem adhatták – el, ezért egyszerűen odaadták annak, akinek kellett.

Érdeklődők pedig voltak szép számmal, mivel ebben az időben az egyetemeken igen sok PDP-11 számítógép volt, annak pedig a gyártó által adott operációs rendszere a rossz nyelvek szerint olyan gyenge minőségű volt, hogy még a legönsanyargatóbb felhasználók is óvakodtak tőle. Ha pedig egy programrendszer ingyen eljut az egyetemekre, és ott tömegesen használni kezdik, akkor már csak egy dolog kell a robbanásszerű fejlődéshez: az, hogy a vállalkozókedvű diákok és tanárok belenyúlhassanak a programokba, megkísérelve javítani, fejleszteni azokat. Szerencsére erre is mód nyílott, hiszen – mivel az AT&T szoftverpiaci helyzetét nem kellett megvédeni – UNIX C nyelvű forrásprogramját, az emberi fogyasztásra alkalmas és módosítható változatát is megkapta, aki csak kérte.

2. változat

A Unix operációs rendszer fejlesztése a Multics-szal (Multiplexed Operating and Computing System) kezdődött. A Multics projekt az 1960-as évek közepén indult, a General Electric, Massachusetts Institute for Technology és a Bell Laboratories együttműködésében. 1969-ben a Bell Laboratories kivonult a projektből.

A Bell Laboratories egyik embere, Ken Thompson részt vett a Multics projektben. Szerette a Multics-ot, de túl komplexnek találta. Thompson a Multics nyomdokain haladva egy PDP-7-esen egy hónap alatt megírja a első Unicsot. Egy-egy hétbe tellett megírni neki az eredeti rendszermagot, héjat, szövegszerkesztőt, és assembler fordítót. A UNICS jelentése „Uniplexed Operating and Computing System”. Ahogy az operációs rendszer változott, a nevét lerövidítették, és így született meg a rövidebb "Unix" név. A UNICS 1969 szeptemberében jelent meg.

Bár a UNIX név jelenleg az Open Group bejegyzett védjegye, a UNIX-jogokkal a Novell rendelkezik. A UNIX nevet gyakran használjuk operációs rendszer család megnevezésére is, néha függetlenül attól, hogy egyáltalán fejlődésében van-e közvetlen köze az eredeti UNIX-hoz vagy sem. Ennek alapján a Linux is egy UNIX-szerű rendszer, annak ellenére, hogy közvetlenül nem használtak fel benne UNIX-eredetű kódot.

A 2038-as év problémája

Alapvetően a Unix rendszerek az időt 1970. január 1. óta eltelt másodpercekben számolják, és ennek tárolására előjeles 32 bites egész számot használnak. Így 2038. január 19-én túlcsordulási hiba folytán egyes rendszerek 1970-et, mások 1901-et fognak jelezni.

i386

IBM-kompatibilis PC-k az Intel 80386 kompatibilis processzorok alkalmazása óta alkalmasak Unix, BSD és Linux operációs rendszerek futtatására. Legfőbb ok az, hogy az i386 az azt megelőző 80286, 8086 és 8088 processzorokkal ellentétben már preemtive processzor, azaz task-ok futását oly mértékben támogatja, hogy képes egy task-ot annak készséges együttműködése ellenére is a processzorra várakoztatni, vagy akár fel is számolni.

Jegyzetek


Lásd még

Külső hivatkozások