Linux Történet

A HupWiki-ből...

Micskó Gábor trey () hup ! hu - Hungarian Unix Portal
v.1.1, 2002. február. 6 - Copyright © Hungarian Unix Portal

Tartalomjegyzék

A Linux története

A történet 1991 körül kezdődött. Ebben az időben a számítógépes operációs rendszerek nem mozogtak annyira széles skálán, mint manapság.

Egy kis előzmény

A '80-as évek elejétől az egyik meghatározó PC-s operációs rendszer a DOS (Disk Operating System) volt. A DOS elődjét, a QDOS-t (Quick and Dirty Operating System) - amely egy operációs rendszer váz volt - Bill Gates vásárolta meg egy Seattle-i hackertől $50.000-ért. A QDOS-t egy kicsit kipofozták, kapott egy BASIC-értelmezőt és ezzel el is készült az MS-DOS. Miért vásárolta meg Gates a QDOS-t? Mert rendkívül jól átlátta az akkori szoftver helyzetet. Az IBM pont ez idő tájt keresett operációs rendszert a PC nevű gépcsaládjához. Gates felismerte a lehetőséget, és rávette az IBM-et, hogy a személyi számítógépeit a Microsoft DOS operációs rendszerével szállítsa. Mivel az IBM PC elárasztotta a világot - köszönhetően a nyílt architektúrának és olcsó mivoltának - az MS-DOS is megkezdte szárnyalását. A DOS az ügyes marketing stratégia miatt a világ minden szegletébe eljutott. A PC felhasználóinak nem nagyon volt választásuk. Az akkori Apple Mac gépek jobbak voltak, de csillagászati áruk meggátolta őket a szélesebb körű elterjedésben. Az akkori számítástechnika másik nagy tábora a UNIX világ volt. A UNIX intézmények, kutató központok, iskolák kiváltsága volt, mert a gépek és a UNIX operációs rendszer ára túl magas volt ahhoz, hogy egy átlagos felhasználó megengedhesse magának. A UNIX operációs rendszer forráskódja zárt volt, ahhoz néhány kivételezett intézményen kívül mások nem férhettek hozzá. Akkor úgy tűnt, hogy a UNIX operációs rendszer soha nem lesz az otthoni felhasználók rendszere.

A remény neve: MINIX

A halvány remény mégis felcsillant a felhasználók előtt. Remény, hogy valaha Unix(-szerű) operációs rendszert használhatnak olcsó PC-n. A remény neve a MINIX volt. A MINIX-et egy holland professzor, bizonyos Andrew S. Tanenbaum kreálta. A MINIX fejlesztése teljesen elölről kezdődött, azaz készítője nem egy meglevő operációs rendszert haszált fel alapjául. Tanenbaum a rendszert oktatási céllal írta. Azt szerette volna, ha tanítványai ezen az OS-en tanulják meg az operációs rendszerek működésének, felépítésének alapjait. A MINIX az Intel 8086 mikroprocesszoraira lett fejlesztve, amelyek abban az időben elárasztották a világ számítástechnikai piacát. A MINIX nem volt kimagaslóan jó operációs rendszer, de egy elvitathatatlan előnye volt: nyílt volt a forráskódja. Bárki, aki megvásárolta Tanenbaum "Operációs rendszerek" című könyvét, és ezzel hozzájuthatott mintegy 12.000 sor MINIX forráskódhoz, amely egy működő operációs rendszer forráskódja volt. Ez volt az első alkalom, hogy halandó ember elolvashatatta egy igazi operációs rendszer forrását, hiszen a többi OS forráskódját szigorúan védelmezték a nyilvánosságtól a szoftver gyártók. Köszönhetően Tanenbaum jóságának, a világon rengeteg nagyszerű programozó és a számítástechnikai tudományokat tanuló egyetemista olvashatta egy valódi operációs rendszer forrását. Ez azt eredményezte, hogy egyre-másra jelentek meg az olyan listák, ahol az érdeklődők az operációs rendszerek készítésének művészetéről beszélgethettek. Számos tehetséges programozó és tanuló kapcsolódott be ezekbe a beszélgetésekbe. Az egyik ilyen tanuló Linus Torvalds finn egyetemista volt.

A GNU projekt

Ez idő tájt a világon sok programozót inspirált a GNU Projekt, amelyet Richard M. Stallman (RMS) indított útjára. A szabad szoftveres megmozdulás célja az volt, hogy szabadon felhasználható, minőségi szoftvereket készítsen és terjesszen. Stallman karrierjét a MIT Artifical Intelligence Laboratory osztályánál kezdte. 1983-ban Stallman elkészítette a híres kiáltványát, amellyel deklarálta a GNU projekt elindulását. A GNU név egy rekurzív mozaikszó, amely a 'GNU is Not Unix'-ot takarja. Stallman álma egy szabadon felhasználható operációs rendszer elkészítése volt. Ennek elkészítéséhez azonban először egy fordítóprogramra és egyéb fejlesztő-eszközökre volt szükség. Kezdetnek 1984-ben Stallman nekiállt megírni a GNU C Compiler-t (GCC - GNU Compiler Collection).

1991-re a GNU projekt számos fejlesztő-eszközt készített. A régen várt Gnu C fordító is rendelkezésre állt, így tulajdonképpen semmi nem állt Stallman elképzelésének útjába. Egyetlen dolog hiányzott még RMS víziójából: a szabad operációs rendszer. Akkoriban MINIX-et licencelni kellett. Közben elkezdődött a GNU operációs rendszer fejlesztése is. Ez a GNU/Hurd névre hallgatott, de a kilátások szerint nem lehetett hivatalos megjelenésére számítani néhány éven belül (azóta sem jelent meg).


Új gyermek születik

1991-ben Linus Benedict Torvalds, másodéves hallgatója volt a Helsinki Egyetem számítástechnikai tudományok karának (Computer Science - CS). Linus autodidakta hacker volt, saját operációs rendszert szeretett volna írni. Elhatározta, hogy ír egyet. Hogy miért? Mert a GNU/Hurd-ra várhatóan néhány évet várni kellett volna. A 21 éves egyetemista a 80386-os processzor védett módú (protected mode), feladat-váltó (task-switching) lehetőségeit szerette volna felfedezni. Ez körülbelül 1991 nyarának elején lehetett. A pontos dátumra maga Linus sem emlékszik. Egy biztos: egy e-mail tanúsága szerint 1991. július 3-án már a POSIX szabvány után érdeklődött az interneten, így ekkor már futhatott nála egy kezdetleges rendszer. A program fejlesztése a Tanenbaum-féle Minix alatt történt, eleinte Assembly nyelven.

1991. augusztus 25-én Linus egy történelmi levelet küldött a MINIX hírcsoportba:

From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: What would you like to see most in minix?
Summary: small poll for my new operating system
Message-ID: <1991Aug25.205708.9541@klaava.Helsinki.FI>
Date: 25 Aug 91 20:57:08 GMT
Organization: University of Helsinki
Hello everybody out there using minix -
I'm doing a (free) operating system (just a hobby, won't be big and
professional like gnu) for 386(486) AT clones. This has been brewing
since april, and is starting to get ready. I'd like any feedback on
things people like/dislike in minix, as my OS resembles it somewhat
(same physical layout of the file-system (due to practical reasons)
among other things). I've currently ported bash(1.08) and gcc(1.40),and
things seem to work.This implies that I'll get something practical within a
few months, andI'd like to know what features most people would want. Any
suggestions are welcome, but I won't promise I'll implement them :-)
Linus (torvalds@kruuna.helsinki.fi)
PS. Yes - it's free of any minix code, and it has a multi-threaded fs.
It is NOT protable (uses 386 task switching etc), and it probably never
will support anything other than AT-harddisks, as that's
all I have :-(.

Valahogy így kezdődött a Linux története. Linus levele számos programozót megérintett. Andrew S. Tanenbaum egyik későbbi levelében azt írta, hogy a Linux elavult (Linux is obsolete), mert monolitikus, ezért a professzor nem jósolt neki nagy jövőt. A levélből óriási flame lett. Ennek ellenére a Linux az elmúlt 10 évben hihetetlen fejlődésen ment keresztül, és még mindig monolitikus.

Linkek

Linus vs. Tanenbaum