V počátcích výpočetní techniky se zdálo, že budoucnost patří hardwaru – drahým, masivním strojům, které vyžadovaly speciální podmínky a určovaly výkon i možnosti celého systému. Postupem času se však ukázalo, že skutečnou hodnotu vytváří software, který dokázal překročit omezení jednotlivých zařízení a přizpůsobit se měnícím potřebám. Jak došlo k této zásadní změně a proč dnes hraje software v technologiích dominantní roli? To se dozvíte v následujícím článku, ve kterém vám bude odhalena historie ukazující, jak standardizace, kompatibilita a chytrá rozhodnutí proměnily svět výpočetní techniky.
Když počítače vznikly, zdálo se, že je úplně jasné, že hardware bude vždy dominovat nad softwarem: Hardware bylo „to skutečně drahé“, „to, co vyžadovalo klimatizované místnosti“, „to, co určuje celkový výkon systému“. Zdálo se, že právě hardware a jeho schopnosti budou určujícím faktorem pro vývoj počítačové techniky – a po určitou dobu tomu tak bylo.
Situace se začala lámat na přelomu 60. a 70. let minulého století, kdy si vlastníci počítačů, typicky velké společnosti, uvědomili, že investovali spoustu peněz jak do vývoje vlastních programů, tak i do výcviku operátorů počítačů a počítačových programátorů. A pak se začalo ukazovat, že cena za vývoj software není bezvýznamná. Naopak, začala tvořit stále větší část toho, čemu se říká celkové náklady vlastnictví (TCO, Total Cost of Ownership).
První věc, která pomohla, byla standardizace, která se objevila u počítačové řady IBM System/360. Největší výrobce počítačů pro obchodní využití si povšiml problémů svých zákazníků – a přišel s ideou, že všechny počítače, které budou nabízet, budou navzájem kompatibilní, jenom se jejich jednotlivé instalace budou lišit výkonem, periferiemi a schopnostmi. Pokud jsou počítače vzájemně kompatibilní, mohou provozovat stejný software, někde bude fungovat pomaleji, jinde to bude výkonnější – ale nevadí, protože počítače budou kompatibilní, takže až firma vyroste, objedná si u IBM jejich výkonnější model počítače, na kterém pojede existující software podstatně rychleji. Nemusí se nic přepisovat, upravovat – prostě se provede upgrade a je to.
Tohle je zdánlivě jednoduchá myšlenka, ale byla přelomová: Tak za prvé – nemusíte přeučovat programátory, když umí psát kompatibilní software, pojede na slabších i na výkonnějších modelech. Za druhé – můžete znovu používat draze vyvíjený a testovaný software! A ano, v neposlední řadě to znamená, že když si koupíte levný počítač IBM, logicky bude vaší další volbou výkonnější stroj od IBM, protože nejste blázni a nevzdáte se předchozích dvou výhod, což je obrovské plus pro IBM.
Další obrovskou výhodou, kterou přinesla standardizace, bylo to, že se programátoři nemuseli neustále přeučovat na nové platformy. U Projektu Apollo, letu na Měsíc, se v raketě a v modulech používaly celkem čtyři počítače založené na zcela odlišných architekturách: V raketě Saturn V byl „ztrojený“ počítač Launch Vehicle Digital Computer (LVDC), který byl navržený na to, aby fungoval i při intenzivních otřesech a mohla v něm vypadnout až třetina obvodů. Pro navádění velitelského modulu a pro řízení přistávacího modulu LEM se používaly dva počítače Apollo Guidance Computer (AGC), které měly stejný hardware, ale lišily se osazenými programy. Jako „počítač poslední záchrany“ měl modul LEM záložní počítač Abort Guidance System (AGS), který nedovoloval modulu přistát na Měsíci, pouze odstřelit přistávací část modulu a provést nouzový návrat a spojení s velitelským modulem. Každý ze tří systémů měl vlastní architekturu, vlastnosti a programovací jazyk, což značně zdražovalo vývoj.
Když se objevil projekt amerického raketoplánu Space Shuttle, řídicí systém byl navržen zcela jinak. Základem byl Data Processing System (DPS), který představoval pětici navzájem propojených počítačů IBM AP-101B a dvě nezávislé páskové jednotky. Každý počítač mohl zpracovat libovolný program, přičemž při kritických operacích, jako je vzlet a přistání, fungovaly čtyři počítače současně a kontrolovaly se navzájem, čímž dávaly systému čtyřnásobnou redundanci. Pátý počítač měl připravený program pro nouzovou navigaci a byl připraven převzít kontrolu při selhání těch ostatních. Počítače byly od sebe navzájem odděleny ve třech sekcích pro případ poškození lodi nebo selhání chlazení.
To, čím se ale zásadě lišily počítače na raketoplánu od těch u Projektu Apollo, byl fakt, že všechny měly stejnou architekturu a používaly stejný software – a také se programovaly stejně. Kdyby kterýkoliv z palubních počítačů selhal, mohl být plně nahrazen ostatními – a jel by na nich ten stejný software, což značně zjednodušilo vývoj a nasazení. A co více, osazené počítače byly kompatibilní s řadou počítačů IBM System/360, jen byly upravené pro potřeby letectví a kosmonautiky, což znamená, že se programátoři nemuseli učit nový systém, stačilo, když znali IBM System/360! To byla obrovská výhoda, která masivně zlevnila a zrychlila vývoj softwaru.
Vzájemná kompatibilita počítačů definuje tak zvanou platformu – a kontrola nad jejím ekosystémem dává výrobcům velkou výhodu. Při nástupu IBM PC si kontrolu nad operačním systémem zachoval Microsoft – a to ho pozvedlo mezi nejvýznamnější firmy v oblasti výpočetní techniky. IBM si pozdě uvědomila, že tím, že přenechala kontrolu nad operačním systémem Microsoftu, nekontroluje vlastní ekosystém – a snaha přejít na jejich vlastní softwarovou platformu OS/2 skončila fiaskem. Dnes dává kontrola nad softwarem obrovskou moc Applu – Apple v podstatě rozhoduje o tom, které aplikace se v jejich systému objeví, a které naopak ne.
Víra v to, že software je důležitější než hardware, také pozvedla Japonsko do pozice velkého hráče v oblasti výpočetní techniky: Jejich počítače ze 70. let dvacátého století byly navrženy zcela na míru japonským potřebám, a hlavně potřebám jejich komplikovaných znakových sad, ale výrobci si rychle uvědomili, že tím značně omezují svoje vlastní možnosti. Zaměřili se tedy na světové počítačové standardy, ponechali otázku znakových sad softwaru – a během pár let se vyšvihli do pozice velmi ceněných výrobců špičkové počítačové techniky.
i
V AlzaMagazínu pro vás máme i další články ze série Technologická evoluce:
Vývoj výpočetní techniky ukázal, že původní představa o dominanci hardwaru byla postupně nahrazena novým chápáním, kde klíčovou roli hraje software. Standardizace, kterou zavedla IBM s řadou System/360, a následný přechod k platformám umožňujícím univerzálnější použití softwaru byly zásadními kroky, které vedly k revoluci v této oblasti. Díky tomu se software stal hlavním faktorem, který určuje hodnotu a funkčnost výpočetních systémů.

Michal Rybka
Michal Rybka je publicista a nadšenec s 20 lety zkušeností v IT a gamingu. Je kurátorem AlzaMuzea a YouTube kanálu AlzaTech. Napsal několik fantasy a sci-fi povídek, které vyšly v knižní podobě, a pravidelně pokrývá páteční obsah na internetovém magazínu PCTuning.