Történeti kitekintés

A szoftver fejlődése

A UNIX története

A sikertörténet paradox módon egy kudarccal kezdődik. Az MIT, a Bell Laboratórium és a General Electric a hatvanas évek végén belekezdett egy nagyszabású kutatási programba, amelynek során egy többfelhasználós, többfeladatos operációs rendszert (MULTICS) szerettek volna írni. Különféle nehézségek végül a program feladására kényszerítették a kutatókat.

KenThompson_kisebb.jpg

Bár elméleti megoldásait még ma is egyetemen tanítják, a MULTICS projekt a gyakorlatban nem érte el a várt sikert, ezért a Bell Laboratórium kilépett belőle, ami egyebek mellett azzal járt, hogy a program egyik résztvevője, Ken Thompson, ekkor saját szakállára megírta a MULTICS egyfelhasználós változatát egy használaton kívül lévő PDP-7 számítógépen. Az új operációs rendszer kiherélt változata volt a MULTICSnak, erre utal szarkasztikus elnevezése is, amelyet Brian Kernighan ragasztott rá: eunuch multics, röviden UNICS (Uniplexed Information and Computing Service). Bármennyire földszintes is volt Ken Thompson operációs rendszere, a MULTICS-szal szemben volt egy behozhatatlan előnye: működött. 1969-et írtak ekkor.

DennisRitchie_kisebb.jpg

Ez a nem elhanyagolható tulajdonság késztette arra Dennis M. Ritchiet, hogy egész osztályával együtt csatlakozzon a UNIX (közben megváltoztatták a helyesírást) fejlesztéséhez. Az így megerősített csapat nekilátott, hogy elkészítse az operációs rendszer PDP-11 gépen futó változatát. Az ős-unix assembly nyelven készült, így újra kellett volna írni az egészet, valahányszor egy új, más típusú gépre szerették volna adoptálni. Mivel operációs rendszert assembly nyelven írni nem gyerekjáték, ezért Dennis Ritchie megalkotta a C nyelvet, és egy fordítóprogramot is írt hozzá a PDP-11 gépre. Ken Thompsonnal közösen újraírták a Unixot ezen a tökéletesített nyelven. A C nyelv elég magas szintű ahhoz, hogy a hardverkülönbségeket elfedje a programozó elől, ugyanakkor azonban elég alacsony szintű ahhoz, hogy roppant hatékony kódot lehessen vele fejleszteni, akár operációs rendszert is.

A Unixról 1974-ben jelent meg az első részletes publikáció. A Bell Laboratórium anyavállalata, az AT&T akkoriban ki volt tiltva a számítógépek piacáról, így a Unixot nem árulhatta pénzért. Semmi sem indokolta, hogy az operációs rendszert - forráskódjával együtt - ne adják oda bármelyik egyetemnek. Így is tettek. A másik körülmény, hogy a Unix PDP-11-en futott. Az egyetemeken akkoriban szinte nem is volt más gép, mint PDP-11. És ezen a ponton a DEC cég is alaposan besegített a Unix világsikerébe: a PDP-11 operációs rendszere borzalmas volt. Ezek után könnyű kitalálni, hogy mi történt: egyetemek százain kezdték használni a Unixot, a forráskód birtokában pedig megindult a véget nem érő buherálás.

A következő mérföldkövet az amerikai kormány rakta le azzal, hogy részekre bontotta az AT&T vállalatot, az utódok számára pedig megnyitotta az utat a számítástechnikai ipar felé. Hamarosan megjelent az első kereskedelmi Unix változat, System III néven, egy évvel később megjelent a System V nevű javított változat. A System V több kiadást is megért, ezek Release 2, 3 és 4 néven ismertek.

A számtalan Unix-buheráló egyetem közül kiemelkedik a Berkeley Egyetem. ők számos ponton javítottak az AT&T-től valaha ingyen kapott Unixon, gyorsabb fájlrendszert írtak, beépítették a hálózatkezelést (ami TCP/IP néven legalább olyan elterjedt a hálózati protokollok között, mint a C a programozási nyelvek terén), valamit számos segédprogramot (csh>, vi, fordítóprogramok stb.) Az egyetem kereskedelmi változatú szoftvercsomaggá formálta az általuk fejlesztett Unix változatot és BSD (Berkeley Software Distribution) néven terjeszteni kezdte.

Amint látható, a nyolcvanas évek végére a Unix-világot két különböző, egymástól sok dologban eltérő Unix uralta. Ez elsősorban azzal a szomorú következménnyel járt, hogy a System V Unix alatt írt C programra a BSD-s rendszerek fordítói fityiszt mutatnak, és fordítva.

Nagyjából minden nagyobb számítógépgyártó a két elterjedt rendszer (System V, BSD) valamelyikére alapozva készítette el saját Unix változatát. Mivel az inkompatibilitás senkinek nem tesz jót, ezért az IEEE létrehozott egy UNIX-szabványt, Portable Operaring System (rövidítve: POS) néven. Hogy Unixosabban hangozzék, a rövidítéshez hozzábiggyesztették az IX betűket: így lett a dologból POSIX. E szabvány azt írja le, hogy egy "hordozható" operációs rendszernek hogyan is kell kinéznie. Minden nagy gyártó elismeri a POSIX jelentőségét, operációs rendszereiben támogatja is azt. Mindazonáltal ez nem akadályozza meg őket abban, hogy olyan kiegészítéseket, nem szabványos interfészeket és egyéb szolgáltatásokat építsenek be a termékükbe, amitől a különböző rendszerek továbbra is inkompatibilisek lesznek. A riválisok két szervezetbe tömörültek, a szögesdrótok egyik oldalán a DEC által vezetett Open Systems Foundationt (OSF) találjuk, velük szemben pedig az AT&T alapította Unix International (UI) szövetséget.

Vizsgáljuk meg egy kicsit közelebbről e nagy háborúskodás okát! Az ősidőkben, mikor néhány számítástechnikai mamutcég uralta a piacot, a számítógépek "önmagukkal" voltak kompatibilisek, azaz ha elromlott egy alkatrész, vagy a rendszert bővíteni akarták, a berendezéseket kizárólag az eredeti gyártótól lehetett beszerezni. A mamutok alaposan vissza is éltek azzal, hogy a vásárló még a portörlő rongyot is kénytelen tőlük vásárolni, egy-egy alkatrészért szemrebbenés nélkül elkérték a piaci ár háromszorosát. (Néhány cég ma is folytatja ezt a gyakorlatot.)

A védekezést az jelentené, ha a különböző gyártók számítógépei hajlandók lennének együttműködni, azaz eltér? típusú gépekből is lehetne rendszert építeni. Ez egyrészt nagyobb szabadságot adna a felhasználóknak a vásárlásnál, másrészt esélyt biztosítana a gyártóknak, hogy berendezéseiket minél szélesebb körben vásárolják. Egy ilyen nyitott rendszerbe utólag bármelyik cég szoftverét vagy számítógépét be lehet illeszteni: ezt az álmot hívják "nyílt rendszereknek" (Open Systems).

Nyilvánvaló, hogy a nyílt rendszerek kulcsfontosságú kérdése a minden gyártó által elfogadott (és be is tartott) szabvány. A kilencvenes évek elején létrehoztak egy gyártófüggetlen szervezetet a nyílt rendszerek szabványainak elkészítésére és a "szabványnak megfelel" minősítések kiadására. Ez a szervezet az X/Open, az általuk készített operációs rendszer szabvány neve pedig Core OS API, más néven Common API.

Ha egy operációs rendszer átmegy az X/Open minősítő tesztjein, megkapja a UNIX 95 minősítést. A "levizsgáztatott" operációs rendszerre írt programok forráskódja hordozható, azaz buherálás nélkül le lehet fordítani egy másik gyártó ugyancsak UNIX 95 kompatibilis operációs rendszerén.

Nézzük, mit lát a UNIX 95-ből az egyszerű felhasználó! Hmmm... egy ugyanolyan mezítábas parancssort, mint amilyet húsz évvel ezelőtt. A szabványban ugyanis nem szerepel a grafikus felhasználói felület, amelynek egységesítéséért ugyancsak ádáz küzdelem folyik. Mivel a UNIX alatt futó alkalmazások (például a nagy adatbázis-kezelő rendszerek) karakteres alapon működnek, jóval kevesebb gyártót érint a grafikus felhasználói felület ügye.

Thompson_Ritchie_Clinton.jpg

Thompson (balra) és Ritchie átveszik a Nemzeti Technológia Érmet
(National Medal of Technology) Clinton elnöktől 1999-ben
a Bell Laborban végzett munkájuk elismeréseképpen


Lásd még (a teljesség igénye nélkül):

Unix - Linux fejlesztési kronológia, hup.hu
1. rész: 1941-1979., helyben itt
2. rész: 1980-1999., helyben itt
3. rész: 2000-től helyben itt

Ritchie and Thompson kitüntetése 1999-ben. helyben itt

 

Megjegyzés

impresszum