História a princíp UNIX-u

15. Január, 2010, Autor článku: Fodrek Peter, Informačné technológie
Ročník 3, číslo 1 Share on Facebook This page as PDF Pridať príspevok

logo_unix85Vývoj Unix-u začal projektom MULTICS (MULTiplexed Information and Computing Services) v roku 1964. Tento systém razil ideu, že jeden počítač bude používať celé mesto veľkosti mesta Buffalo resp. Košíc u nás. Ľudia mali platiť za čas využitia počítača a jeho výpočtového výkonu. Celé sa to veľmi podobá na predstavu firmy Google o Cloud computing-u z roku 2009, ktorá platí dodnes a má sa masovo presadiť v rokoch 2010 a 2011.

unix1_1
Obr. 1. Cloud computing [1]

V Cloud computing-u sa uvažuje o tom, že Multixový počítač budú tvoriť datacentrá v rámci celého interenet-u spojeného do cluster-a. Čo je to ten cluster? Je to skupina počítačov, ktoré sa navonok tvária ako jeden. Nevýhodou cluster-ov voči masívne paralelným superpočítačom, ktoré sa vyvinuli z minipočítačov a počítačov doby Multics-u, je to, že dosahujú len asi 1/3 výkonu. Výhodou cluster-ov je však cena, keďže masívne paralelný superpočítač stojí 10-15 násobok ceny porovnateľného cluster-a. Z minipočítačov vznikla kategória mainframe. Tá často spĺňa podmienku pomenovania stroja slovom superpočítač. Výkon je meraný počtom operácií v pohyblivej rádovej čiarke za jednotku času, ktorý je najmenej o tri rády vyšší ako najvýkonnejší stolný počítač. Mainframe-y sú tiež masívne paralelné stroje.

Ako vidno na obr. 1 k počítaču je pripojených viacero terminálov t.j. zariadení, ktoré zobrazujú výstup počítača a zabezpečujú vstup od používateľa. Tento prístup nebol ani v Multics-e nový. Už v 50. rokoch 20. storočia boli terminály vedľa počítača v susednej miestnosti. To, čo priniesol Multics, bolo umožnenie mať terminál doma, alebo kdekoľvek, kde je dostupná telefónna analógová linka. Jeden z vývojárov Multics-u, spoločnosť AT&T (American Telephone and Telegraph) , bola v tomto čase dominantným poskytovateľom telekomunikačných služieb v USA. V tých rokoch sa ako terminály používali ďalekopisy. U nás známe aj pod menom telex. Ďalekopis je niečo ako písací stroj pripojený k telefónnej linke, pričom vami píaný text sa zobrazuje na ďalekopise na druhej strane telefonického spojenia a naopak. Písať však môžete len texty. Keďže textové terminály vznikli v USA, vedeli zobrazovať text len v kódovaní ASCII (American Standard Code for Information Interchange). Anglicky sa ďalekopis povie teletype a preto sa dodnes textové terminály označujú skratkou tty (z TeleTYpe). Počítač mal na svojej strane telefónny modem, ktorý sa pripájal k jeho sériovému rozhraniu, preto sa pre sériové porty zaužívala skratky ttyS a ttys, ktoré znamenajú TeleTYpe on Serial interface. Spoločnosť MOXA technologies, označuje porty na svojich kartách s rozhraním RS-422/RS485 skratkou ttyM, teda TeleTYpe on Moxa interface. Keďže k počítaču môže byť pripojených niekoľko terminálov alebo portov, za názvom typu je jeho poradové číslo. Toto všetko platí od Multixu v unixovom svete dodnes. Mac OS X 10.5.8 má prednastavené trojmiestne číslo terminálu vrátane núl, Linux nuly naľavo od prvej platnej číslice vynecháva.

unix1_2
Obr. 2 Ďalekopis 1 [2]

unix1_3
Obr. 3. Ďalekopis 2 [3]

Jeden terminál mal výsadné postavenie, lebo bol priamo pripojený k počítaču. Tento terminál dostal názov konzola. Bežne na konzole pracoval správca systému. Ostatné terminály, ktoré využívali bežní používatelia boli pripojené cez telefónnu linku. Keďže sa platilo za čas pripojenia, museli sa príkazy skracovať a aby boli zrozumiteľné vychádzali z anglických slov a slovných spojení. Vynechávali sa predovšetkým samohlásky. To isté sa týkalo názvov súborov a adresárov a pretrvalo to až odnes ako unixová kultúra. Výhodou použitia terminálov je to, že ich netreba udržiavať ani robiť tzv. upgrade t.j. zlepšovať parametre terminálu. Upgrade využívaného počítača sa prejaví nárastom výkonu programov na každom termináli, ktorý je k nemu pripojený. Nevýhodou je, že všetky dáta sú na počítači. Terminál slúži len ako prídavná „obrazovka“ a klávesnica k počítaču, ktorá umožňuje na počítači súčasne pracovať stovkám ľudí.

Systém Multics bol v roku 1969 takmer hotový, keď AT&T vývoj opustila a nechala ho len na dvíziu počítačov General Electric. Celá divízia bola o rok predaná spoločnosti Honnewell. Prvá verzia vyšla v roku 1969. GE vývoj zastavil až v roku 1985, pričom posledný stroj s Multics-om bežal do roku 2000. V roku 2006 ho urobil Európsky distribútor BULL open source operačným systémom a v roku 2007 prešli na MIT license. Tá je veľmi podobná BSD licencii a teda umožňuje použiť kód pod licenciou ako v open source, tak proprietárnych programoch a to bez udania pôvodného autora. Zaujímavé je, že o cloud computingu sa začalo hovoriť až v roku 2008, teda po zverejnení kódu Multics-u.

Spolu s AT&T odišli od vývoja Multics-u aj vývojári z Massachusets Institute of Technology (MIT). Počas vývoja Multics-u sa situácia v IT dramaticky zmenila. V roku 1968 sa nezhodol šéf Fairchild semiconductor Sherman Fairchild so svojimi vývojármi. Časť z nich so spoluzakladateľmi Fairchild-u Robertom Noyceom a Gordonom Mooreom založili v auguste 1968 spoločnosť, ktorá sa dnes volá Intel Corporation. Druhá skupina spolu s obchodníkom Fairchild-u Jerrym Sandersom založila 1. mája 1969 Advanced Micro Devices (AMD), čím sa vytvorilo predpolie pre nástup lacných desktopov a dočasné potlačenie systémov s terminálmi (samotný akt nastal koncom 70. a začiatkom 80. rokov 20. storočia. O tom ale neskôr). V septembri 1969 sa spustil projekt DARPAnet a 29.10.1969 sa po ňom preniesli prvé dáta. Rozširovaním DARPAnet-u vznikol Internet. V auguste 1969 vývojári z Bellových laboratórií AT&T Ken (Kenneth Lane) Thompson a Dennis MacAlistair Ritchie vymámili od vedenia 72 tisíc dolárový počítač PDP-7 na výskumný projekt. V priebehu štyroch týždňov vyvinul Ritchie operačný systém, ktorý nazval UNICS. Názov zvolil ako paródiu na MULTICS, na vývoji ktorého pracoval dovtedy. Ako vieme, MULTICS bol skratkou z MULTiplexed Information and Computing Services, UNICS je skratkou z UNiplexed Information and Computing Services. UNICS podporoval súčasný beh viacerých programov, ale len jeden mohol mať výstup na konzolu. Preto sa museli po dokončení UNICS-u v septembri 1969 (v čase spustenia DARPANET-u) vytvoriť mechanizmy na komunikáciu medzi programami. Na tom sa už podieľal aj Thompson a pribrali na to ďalších ex-vývojárov MULICS-u, ktorými boli Brian Kernighan, Douglas McIlroy a Joe Ossanna. Tím v roku 1971 uviedol UNIX Time Sharing System First Edition, ktorý už podporoval viacerých užívateľov naraz pracujúcich na jedinom počítači. V názve skrátili CS na X.

unix1_4
Obr. 4. PDP-7 s konzolou, vyrábaný od roku 1965, tento kus funguje od roku 1985 v múzeu počítačov v OSLO. Nikdy sa nereštartoval a v roku 2009 ho prvý raz na 4 mesiace vypli kvôli rekonštrukcii, ktorá sa skončí v roku 2010 [4]

Je pochopiteľné, že dnes v roku 2010 všetkých 24 kľúčových serverov siete Internet, beží na modernom Unix-e resp. Unix like Operačnom systémy GNU/Linux. O tom ako aj o smeroch vývoja UNIX-u, ale až v budúcej časti. Na záver si len pripomeňme, že v roku 1971 pochopili vývojári UNIX-u, že ak chcú mať UNICS aj na novšom počítači ako je PDP-7, musia vyvinúť jazyk na písanie operačných systémov. Ritchie už robil na vývoji jazykov B a BCPL. Kernighan s Ritchiem robil na jazyku B a tak nový jazyk nazvali C. Jazyk C je druhý najpopulárnejší programovací jazyk za rok 2009.

unix1_5
Obr. 5. Popularita programovacích jazykov[5]

Literatúra

  1. Johnston,S. : Diagram showing overview of cloud computing including Google, Salesforce, Amazon, Microsoft, Yahoo & Zoho [online], San Francisco: Wikimedia Foundation, 2009, [citované 13.1.2010], dostupné na URL: http://en.wikipedia.org/wiki/File:Cloud_computing.svg
  2. Manske.M. : Fernschreiber T100 Siemens.jpg [online], San Francisco: Wikimedia Foundation, 2006,[citované 13.1.2010], dostupné na URL: http://cs.wikipedia.org/wiki/Soubor:Fernschreiber_T100_Siemens.jpg
  3. „Flominator”: Telex.jpg [online], San Francisco: Wikimedia Foundation, 2005, [citované 13.1.2010], dostupné na URL: http://cs.wikipedia.org/wiki/Soubor:Telex.jpg
  4. „Wind”: Pdp7-oslo-2005.jpeg [online], San Francisco: Wikimedia Foundation, 2007, [citované 13.1.2010], dostupné na URL: http://en.wikipedia.org/wiki/File:Pdp7-oslo-2005.jpeg
  5. TIOBE Software team: TIOBE Programming Community Index for January 2010 [online], Eindhoven: TIOBE Software BV, 2010, [citované 13.1.2010], dostupné na URL: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Peter Fodrek, Oddelenie informačných a komunikačných systémov, Ústav riadenia a priemyselnej informatiky, Fakulta elektrotechniky a informatiky STU Bratislava

4 príspevky(ov) k článku “História a princíp UNIX-u”

  1. bunak napísal:

    Po přečtení příspěvku v Open Magazín 01/2010 sem se musel podívat odkud že je tento příspěvek převzatý. Nechtělo se mi totiž věřit, že seriál “História a princíp UNIX-u” o principech UNIX-u a o jeho historii vlastně vůbec nepojednává. Opravdu hodně špatně napsaný článek. Neutříděné informace, přeskakování mezi tématy a v čase. Nedá se to omluvit ani tím že autor je vysokoškolský učitel. Ba právě naopak, ten by měl mít o psaní takovýhle článků alespoň trochu povědomí. Snad nenapsal žádná skripta :o) To bych studenty opravdu politoval.

  2. Peter Fodrek napísal:

    Ako ste si mohli vsimnut ide len o uvod… Dalsie casti idu do historie.. Ano tento diel nie je prilis dobry, ale dalsie uz su.

    Skripta som nenapisal ani nemam ambiciu

  3. Martin Foltin napísal:

    @bunak. Môžete byť konkrétnejší ? Čo presne vám príde ako neutriedené ? Predopokladám, že zareaguje aj autor článku, tak sa hádam dopátrame kde je problém. Mne ten text príde ako ľahko čitateľný a v celku zrozumiteľný.

  4. Spock napísal:

    Ja sice opensource moc nemusim, ale ten clanok nie je zly ked uvazim, ze bude mat este viac casti. Dufam, ze sa dozviem o tejto slepej ulici operacnych systemov v buducnosti viac.

Napísať príspevok