Uzyskaj dostęp do tej i ponad 250000 książek od 14,99 zł miesięcznie
Czy wiesz, że maszyny liczące znano już w starożytności, a pierwszy program komputerowy napisała córka Byrona Ada Lovelace? Mark I – komputer pierwszej generacji powstały w 1944 roku – miał 17 metrów długości, 2 metry wysokości i metr szerokości. Pierwszym polskim elektronicznym komputerem był XYZ, zbudowany w 1958 roku.
Czy nigdy nie intrygowało cię, jak to wszystko się zaczęło? W dziejach ludzkości nie było innego procesu, który by w tak krótkim czasie w tak ogromnym stopniu przeobraził wszystkie obszary aktywności zawodowej i życia codziennego całych społeczności i pojedynczych ludzi! Jeszcze w połowie XX wieku na świecie było tylko kilka komputerów… A teraz?
Ten ogromny postęp był możliwy dzięki pracy konkretnych ludzi, których nazwiska i dokonania warto poznać. Dowiedz się, jak Apple zrewolucjonizował rynek, jak rozwijały się układy scalone, jaką moc obliczeniową mają superkomputery i czemu służyły pierwsze sieci komputerowe.
Oto Krótka historia informatyki!
Ryszard Tadeusiewicz – profesor i były trzykrotny rektor AGH oraz prezes Krakowskiego Oddziału PAN. Członek PAU, Europejskiej Akademii Nauk oraz Akademii Inżynierskiej w Polsce. Wiceprezes Polskiego Stowarzyszenia Sztucznej Inteligencji i szeregu innych towarzystw naukowych. Członek honorowy Polskiego Towarzystwa Informatycznego, wyróżniony medalem 70-lecia polskiej informatyki za zasługi dla jej rozwoju. Doktor honoris causa 12 uczelni krajowych i zagranicznych. Pełne dane na stronie www.Tadeusiewicz.pl.
Ebooka przeczytasz w aplikacjach Legimi na:
Liczba stron: 307
Odsłuch ebooka (TTS) dostepny w abonamencie „ebooki+audiobooki bez limitu” w aplikacjach Legimi na:
Krótka historia informatyki
Ryszard Tadeusiewicz
Copyright © 2019 by Wydawnictwo RM
Wydawnictwo RM, 03-808 Warszawa, ul. Mińska 25 [email protected] www.rm.com.pl
Żadna część tej pracy nie może być powielana i rozpowszechniana, w jakiejkolwiek formie i w jakikolwiek sposób (elektroniczny, mechaniczny) włącznie z fotokopiowaniem, nagrywaniem na taśmy lub przy użyciu innych systemów, bez pisemnej zgody wydawcy. Wszystkie nazwy handlowe i towarów występujące w niniejszej publikacji są znakami towarowymi zastrzeżonymi lub nazwami zastrzeżonymi odpowiednich firm odnośnych właścicieli. Wydawnictwo RM dołożyło wszelkich starań, aby zapewnić najwyższą jakość tej książce, jednakże nikomu nie udziela żadnej rękojmi ani gwarancji. Wydawnictwo RM nie jest w żadnym przypadku odpowiedzialne za jakąkolwiek szkodę będącą następstwem korzystania z informacji zawartych w niniejszej publikacji, nawet jeśli Wydawnictwo RM zostało zawiadomione o możliwości wystąpienia szkód.
W razie trudności z zakupem tej książki prosimy o kontakt z wydawnictwem: [email protected]
ISBN 978-83-8151-190-2 ISBN 978-83-8151-084-4 (ePub) ISBN 978-83-8151-085-1 (mobi)
Edytor: Justyna MrowiecRedaktor prowadzący: Irmina Wala-PęgierskaRedakcja: Mirosława SzymańskaKorekta: Justyna MrowiecNadzór graficzny: Grażyna JędrzejecŹródła ilustracji: Studio GRAWOpracowanie graficzne okładki: Studio GRAWEdytor wersji elektronicznej: Tomasz ZajbtOpracowanie wersji elektronicznej: Marcin FabijańskiWeryfikacja wersji elektronicznej: Justyna Mrowiec
Spis treści
Wstęp. Czym jest informatyka
1 Pierwsze maszyny liczące
2 Pierwszy mechaniczny komputer Babbage’a
3 Program Ady Lovelace
4 Pierwsze generacje komputerów
5 Układy scalone
6 Rozwój komputerów w kierunku mainframe
7 Pierwsze polskie komputery
8 Powstanie mikroprocesorów
9 Mikrokomputery
10 Rewolucja komputerów osobistych. Powstanie standardu IBM PC
Komputery osobiste a sprawa polska
11 Mikrokomputery do użytku domowego
12 Superkomputery
13 Historia rozwoju pamięci komputerowych
Pamięci na taśmach magnetycznych
Historia dysków twardych
Dyski elastyczne
Pendrive i złącze USB
Płyty CD
14 Mała rzecz a cieszy, czyli jak wynaleziono myszkę
15 Oprogramowanie – dusza komputera
Początek historii rozwoju języków programowania
Praktyka czy teoria, czyli FORTRAN versus ALGOL
Otwarcie komputerów dla świata biznesu – język COBOL
Coś dla początkujących – język BASIC
Języki niespełnionych nadziei – PL/1, FORTH i Clipper
Przekształcony sprawny ALGOL – język Pascal
Język C i jego odmiany
Java i Python – nowe popularne języki programowania
Języki manipulujące symbolami – LISP i LOGO
16 „Pluskwy” w programach
17 Oprogramowanie komputerów jako produkt
18 Powstanie i rozwój pierwszych systemów operacyjnych
System, który oznaczał przełom – Unix
Pierwsze systemy operacyjne dla użytkowników indywidualnych – CP/M i MS DOS
Powstanie i ewolucja systemu Windows
Pierwszy darmowy system operacyjny – Linux
19 Pierwsze systemy na urządzenia mobilne
System Android
20 Rozwój oprogramowania użytkowego – przeglądarki internetowe
21 Programy poczty elektronicznej
22 Edytory tekstowe
23 Arkusze kalkulacyjne
24 Bazy danych
25 Mały i wygodny komputerowy kompan
26 Rozwój sieci komputerowych
27 Usługi komputerowe – wielki i stale rosnący rynek
28 „Eksplozja” Internetu
Jak wojskowy ARPANET stał się cywilnym Internetem
Powstanie systemu stron WWW i jego konsekwencje
Internet w Polsce
Rozwój komunikacji w sieciach komputerowych
29 Serwisy społecznościowe i komunikatory internetowe
30 Internetowa encyklopedia
31 Internet rzeczy
32 Big data
33 Oprogramowanie firmowe czy oprogramowanie wolne?
34 Polityczne uwarunkowania i społeczne skutki rozwoju informatyki
35 Koniec historii, czyli jak komputery dzisiaj wtrącają się nam do codzienności
WSTĘP
ROZDZIAŁ 1
ROZDZIAŁ 2
ROZDZIAŁ 3
ROZDZIAŁ 4
Pierwsze generacje komputerów
Uważa się obecnie, że „dziadkowie” współczesnych komputerów to: John V. Atanasoff – twórca idei – i Clifford Berry – konstruktor pierwszego elektronicznego systemu liczącego ABC, zbudowanego w 1939 roku z wykorzystaniem 270 lamp elektronowych. Niestety ABC nie był programowalny, więc formalnie nie był komputerem.
Późniejszą historię komputerów wyznaczały tak zwane generacje. Rozwój sprzętu komputerowego zachodzi oczywiście w sposób nieprzerwany i ciągły. Od czasu do czasu jednak pojawiają się innowacje na tyle znaczące, że powszechnie uchodzą za graniczne dla pewnych etapów rozwoju sprzętu – zapoczątkowują nowe generacje. Granice czasowe poszczególnych generacji są dość niepewne, ponieważ regułą było długotrwałe współistnienie maszyn należących do różnych generacji. Nowo konstruowane komputery bowiem wolno i z oporami wypierały starsze, ale znane użytkownikom, dobrze oprogramowane i z powodzeniem stosowane maszyny wcześniejszych generacji.
Generacje można opisywać za pomocą szeregu cech technologicznych, przy czym każda z nich pozwala na wskazanie parametrów charakteryzujących poszczególne generacje oraz na zasygnalizowanie ogólnej tendencji rozwojowej. Oto te charakterystyki (rzymskie cyfry oznaczają numery odpowiednich generacji):
Obwody, z których zbudowany jest komputer
I lampy próżniowe
II tranzystory
III półprzewodnikowe układy scalone
IV układy scalone dużej skali integracji (LSI)
V układy scalone bardzo dużej skali integracji (VLSI)
Tendencją było tu uzyskiwanie układów mniejszych, szybszych, bardziej niezawodnych i tańszych.
Pamięci operacyjne
I bębny magnetyczne
II pamięci rdzeniowe (ferromagnetyczne)
III pamięci rdzeniowe (ferromagnetyczne)
IV układy scalone (LSI)
V układy scalone (VLSI), nadprzewodniki
Dominującą tendencją było uzyskiwanie pamięci o coraz większej pojemności w formie coraz bardziej upakowanych układów scalonych.
Pamięci masowe
I taśmy i bębny magnetyczne
II taśmy i dyski magnetyczne
III dyski magnetyczne i niekiedy taśmy
IV dyski i dyskietki magnetyczne
V dyski optyczne, dyski magnetyczne i pendrive’y
Tendencją było zwiększanie pojemności do bardzo dużych (masowych) rozmiarów dostępnej pamięci przy radykalnym zmniejszeniu kosztu przechowywania pojedynczego bajtu.
Po piątej generacji komputerów zaprzestano dalszej numeracji, gdyż zmiany i postęp następowały tak szybko, a jednocześnie były tak radykalne, że już z nią nie nadążano. Ale w książce poświęconej historii informatyki trzeba wspomnieć o tych najstarszych generacjach.
Za początek pierwszej generacji komputerów można uznać rok 1944, ponieważ wtedy pojawił się pierwszy powszechnie znany komputer (w nowoczesnym znaczeniu tego słowa) – Mark I, zbudowany przez Howarda Aikena na Uniwersytecie Harvarda. Mark I był ogromną maszyną: długą na 17 metrów, na 2 metry wysoką i na metr szeroką. Zawierał 3000 przełączników (mechanicznych), 750 000 lamp elektronowych i 800 kilometrów przewodów. Pracował w systemie dziesiętnym (a nie dwójkowym!) z dokładnością do 23 cyfr znaczących. Wykonywał do 3 dodawań w ciągu sekundy, potrzebował 6 sekund do wykonania mnożenia i 12 do dzielenia. Słowo „komputer” jeszcze wtedy nie istniało, więc maszyna ta otrzymała nazwę IBM Automatic Sequence Controlled Calculator. Warto podkreślić, że eksploatowano go z dobrymi efektami przez ponad 10 lat. Miał tak duże rozmiary, że do jego prezentacji potrzeba dwóch rysunków.
Twórca tego komputera, Howard Aiken, był genialnym konstruktorem, ale nie wizjonerem. Znana jest jego wypowiedź: Jedynie sześć elektronicznych maszyn cyfrowych wystarczyłoby do zaspokojenia potrzeb obliczeniowych całych Stanów Zjednoczonych. Nie trzeba chyba dowodzić, że się mylił.
Jednym z pierwszych w pełni elektronicznych komputerów był ENIAC (Electronic Numerical Integrator And Computer). Zawierał on ponad 18 tysięcy lamp elektronowych i wykonywał obliczenia według sztywnego programu (nie przewidziano w nim instrukcji warunkowych), posługując się arytmetyką dziesiętną. Zbudowali go w 1945 roku John Presper Eckert i John William Mauchly na Uniwersytecie Pensylwanii w USA, a posłużył do celów wojskowych. To ogromna maszyna: ustawione w prostokącie 12 na 6 metrów, w kształcie litery U, 42 pomalowane na czarno szafy z blachy stalowej miały po 3 metry wysokości, 60 centymetrów szerokości i 30 centymetrów głębokości.
Mauchly i Eckert opatentowali konstrukcję ENIAC-a jako pierwszego elektronicznego komputera, zainteresowali patentem firmę Remington Rand i zaczęli (od 1949 roku) produkować komputery ogólnego przeznaczenia (nie do zastosowań wojskowych). Te pierwsze na świecie komputery na sprzedaż znane były pod nazwą UNIVAC I (UNIVersal Automatic Computer). Na przypomnienie zasługuje fakt, że komputer UNIVAC odgadł wynik wyborów prezydenckich w USA w 1952 roku. Jeszcze zanim zamknięto lokale wyborcze, komputer umieszczony w amerykańskim biurze spisowym (U.S. Census Bureau) wskazał, że wybranym prezydentem będzie Dwight David Eisenhower. Odgadł prawidłowo!
Niestety w 1973 roku Mauchly i Eckert stracili patent, ponieważ sąd uznał, że w rzeczywistości pierwszym elektronicznym komputerem była maszyna ABC Atanasoffa i Berry’ego, o której wzmiankowałem na początku tego rozdziału. Zaprzestano wtedy produkcji komputerów UNIVAC.
Kolejną ważną maszyną pierwszej generacji był bardzo udany (binarny!) komputer EDVAC (Electronic Discrete Variable Automatic Computer) z 1952 roku, skonstruowany między innymi przez Johna von Neumanna. To bardzo interesujący człowiek, naturalizowany w USA Węgier, profesor Uniwersytetu Princeton, jeden z twórców amerykańskiej bomby atomowej. Wniósł ogromny wkład w tworzenie teoretycznych podstaw informatyki – jego ogólna koncepcja struktury komputera EDVAC jest wykorzystywana przy budowie komputerów do dziś, stąd niekiedy mówi się, że są to komputery o architekturze von Neumanna. Współtwórcami maszyny EDVAC byli także Mauchly i Eckert, wymienieni wyżej jako konstruktorzy ENIAC-a, którzy mieli pretensje do von Neumanna o to, że „uwłaszczył się” na ich koncepcjach. Niepodobna dzisiaj orzec, kto miał rację w tym sporze, niemniej do historii przeszedł właśnie von Neumann, bo był najbardziej znany.
W przypadku komputerów pierwszej generacji nikt nie zdawał sobie jeszcze sprawy z tego, z jak wspaniałym i uniwersalnym narzędziem mamy do czynienia. Dlatego wykorzystywano te komputery raczej banalnie – do sporządzania różnego rodzaju tabel matematycznych.
Warto może w tym miejscu wspomnieć, że pierwsze tabele matematyczne powstały na początku drugiego tysiąclecia przed naszą erą (według europejskiej rachuby czasu), w Chinach używano ich powszechnie do ułatwienia mnożenia dużych liczb. Kolejnym zastosowaniem, do którego potrzebowano stabelaryzowanych wartości, była nawigacja morska. W celu jej uproszczenia Alfons X Mądry (z Toledo) wprowadził w 1252 roku tablice określające położenie bardziej znaczących ciał niebieskich i przez ponad 200 lat wszyscy żeglarze wyruszali na morze wyposażeni właśnie w „tabele alfonsjańskie”. Nowocześniejsze tabele astronomiczne (wraz z tablicami sinusów i kosinusów) wprowadził w 1475 roku niemiecki matematyk i astrolog, znany jako Regiomontanus (w rzeczywistości nazywał się Johannes Mueller i pochodził z Koenigsbergu w Bawarii), a tabele sześciu funkcji trygonometrycznych opublikował w 1551 roku inny Niemiec, znany jako Rheticus (prawdziwe nazwisko: Georg Joachim von Lauchen). Tablice Rheticusa były tak dokładne, że praktycznie bez żadnych zmian używano ich do połowy XX wieku. Podobnie wprowadzone w 1594 roku (przez Johna Napiera) logarytmy zostały stabelaryzowane w 1617 roku przez Henry’ego Briggsa (Oksford) z taką dokładnością, że kolejne pokolenia matematyków korzystały z tych tablic, praktycznie nie wprowadzając do nich żadnych zmian.
I właśnie znaczenie i przydatność różnych tabel sprawiły, że pierwsze komputery zbudowano wyłącznie dlatego, że do większości tabel obliczanych „ręcznie” nie można było mieć zaufania. Wspomniałem już przy okazji omawiania motywacji budowy pierwszego komputera Charlesa Babbage’a, że zawierały one liczne błędy, wprowadzone omyłkowo przez rachmistrzów lub (częściej) pojawiające się podczas drukowania. Tylko maszyna, która wykonuje całkiem automatycznie wszystkie obliczenia oraz sama (bez udziału człowieka!) drukuje wyniki, mogła być źródłem wiarygodnych tabel, w związku z tym przez długi czas komputery budowano i wykorzystywano głównie do tego celu. Ciekawostką (z punktu widzenia dzisiejszej perspektywy, nacechowanej wszechobecnością komputerów) jest fakt, że przez długi czas nie znajdowano dla nich żadnego innego zastosowania!
Druga generacja komputerów powstała w latach 50. wraz z masowym rozwojem półprzewodników i elektronicznych układów tranzystorowych. Uważa się, że zapoczątkowała ją tranzystorowa maszyna o nazwie TRADIC (TRAnisitor DIgital Computer), zbudowana w Bell Laboratories w 1954 roku. Natomiast komercyjne pojawienie się komputerów drugiej generacji wiąże się niewątpliwie z wprowadzeniem w 1958 roku modeli IBM 7070 i IBM 7090.
Generacja ta miała krótki żywot, bo właśnie wtedy (pod koniec lat 50.) pojawiły się układy scalone. Podzespoły komputerów budowane z wykorzystaniem tych układów były mniejsze i sprawniejsze od budowanych z indywidualnych tranzystorów i – ze względu na mniejszą liczbę lutowanych połączeń – praktycznie się nie psuły. Ta nowa technologia wyparła tranzystory ze wszystkich zastosowań, ale w technice maszyn liczących nastąpiło to wyjątkowo szybko. O szczegółach tego procesu będzie mowa w następnym punkcie, natomiast tu warto wspomnieć, że pierwsze układy scalone stosowano przede wszystkim w kalkulatorach, a nie komputerach. Kalkulatory kosztowały mniej, a ludzi chcących z nich korzystać było o wiele więcej niż użytkowników pierwszych komputerów, więc zadziałały prawa rynku: układów scalonych dla kalkulatorów produkowano bardzo dużo, a zatem bardzo się to opłacało – co z kolei napędzało rozwój przemysłu półprzewodników.
Jako ciekawostkę warto dodać, że w odizolowanej od zachodnich technologii Polsce jeszcze w 1970 roku pracowaliśmy na lampowym komputerze (maszyna UMC-1), wykonując (nic bez trudu) bardzo skomplikowane obliczenia. Pracowałem z tą maszyną i pamiętam, że bardzo ważnym narzędziem informatyka w tamtych czasach był gumowy młotek, którym po otwarciu stalowych drzwi wielkiej szafy, w której żarzyły się setki lamp, opukiwało się pakiety celem usunięcia wadliwie pracujących styków.
Komputer ten miał jednak ogromną zaletę: grzał się tak, że nawet w największe mrozy było przy nim bardzo ciepło! Dlatego podczas słynnej zimy stulecia pierwszą czynnością przychodzących do pracy badaczy było załączenie komputera i uruchomienie jakichś dużych obliczeń. Zebrana tą drogą kolekcja rozwiązań numerycznych problemów związanych ze słynną teorią chaosu budziła potem uznanie na międzynarodowych konferencjach i wprawiała w zdumienie amerykańskich badaczy, wyposażonych w kilkaset razy szybsze komputery!
Ja sam używałem komputera drugiej generacji (Odra 1013), przygotowując swoją pracę doktorską. Programy dla tego komputera dziurkowało się na taśmie papierowej. Znalezienie błędu w tak zapisanym programie było bardzo trudne.
Podsumowując wiedzę na temat drugiej generacji komputerów: istniała ona krótko, ale tranzystory pozwoliły zminiaturyzować komputery, a także umożliwiły budowę maszyn na tyle niezawodnych, że znalazły one zastosowanie w instytucjach gospodarczych, w przemyśle i w wojsku.
Od tego momentu datuje się burzliwy rozwój informatyki, który trwa do dziś!
[1] Podobnie jak w przypadku wypowiedzi Ady Lovelace, przytoczonej w poprzednim rozdziale – podany tu cytat jest powszechnie wykorzystywany w artykułach i wypowiedziach informatyków, ale nie jestem w stanie wskazać jego źródła. Zaliczmy go więc do informatycznej tradycji, a nie do informatycznej historii.
ROZDZIAŁ 5
Układy scalone stanowią dziś zasadniczy budulec, z którego wytwarza się cały sprzęt elektroniczny – nie tylko komputery zresztą, ale także wszystkie urządzenia elektroniczne, na przykład telefony komórkowe. Warto więc poznać historię tych układów.
Historia wynalazku układu scalonego wiąże się z firmą Texas Instruments i z inżynierem z tej firmy, posiadaczem historycznego patentu na układ scalony, Jackiem Kilbym.
Początkowo pracował on w firmie w Milwaukee przy budowie układów elektronicznych na potrzeby korpusu łączności Armii Stanów Zjednoczonych. W tej firmie zapoznał się z technologią półprzewodnikową, gdyż od 1952 roku wytwarzał (na licencji firmy Bell) tranzystory germanowe. W 1958 roku Jack Kilby przeszedł do pracy w potężnej już wówczas firmie elektronicznej Texas Instruments, gdzie w lipcu tegoż roku wytworzył pierwszy układ scalony. Był to przerzutnik bistabilny, do dziś jeden z podstawowych elementów każdego komputera. Dnia 28 sierpnia 1958 roku (w innych źródłach podawana jest data 12 września 1958 roku) przeprowadzono pierwszą demonstrację pracy układu scalonego wytworzonego przez Kilby’ego. Nie był on zbyt ładny, ale w jednym elemencie elektronicznym zbierał funkcje, które uprzednio wymagały połączenia wielu oddzielnych elementów. Obecnie w jednym układzie scalonym może się mieścić nawet kilkaset milionów elementów elektronicznych, co jest kluczem do zwiększenia sprawności i miniaturyzacji współczesnych urządzeń elektronicznych. Trzeba było jednak blisko 10 lat na to, by epokowy wynalazek Kilby’ego został należycie doceniony i wykorzystany. Ale potem zrewolucjonizował elektronikę, a sam wynalazca doczekał się najwyższej formy uznania, gdyż w 2000 roku dostał Nagrodę Nobla w dziedzinie fizyki.
Układy scalone mogą obejmować większe lub mniejsze fragmenty struktury komputera, z czym wiąże się zarówno klasyfikacja tych układów, jak i numeracja następnych generacji komputerów. Pierwsze układy scalone obejmowały poszczególne proste moduły, stanowiące podstawowe „cegiełki” w strukturze komputera: „bramki”, układy wykonujące operacje logiczne, przerzutniki, wzmacniacze, generatory itp. Dziś tę skalę scalania określa się skrótem SSI (small scale integration) i wiąże się ją z trzecią generacją komputerów. Klasyczną maszyną trzeciej generacji był całkowicie oparty na układach scalonych IBM System 360, wprowadzony do sprzedaży w 1964 roku.
Za sprawą tej maszyny naprawdę dokonał się przełom. Budowano ją i sprzedawano w tysiącach egzemplarzy. Użytkownik –zależnie od swoich potrzeb mógł kupić komputer mniejszy (np. 360 model 20) albo większy (wyprodukowano modele o numerach 30, 44, a także model 65). Na komputerach IBM System 360 wzorowali się Rosjanie, którzy nakazywali we wszystkich krajach RWPG (czyli krajach socjalistycznych) produkcję komputerów systemu RIAD, będących de facto kopiami tych IBM-owskich maszyn. Oznaczano je symbolami R-10, R-20, R- 30 itd. – aż do R-65). Polsce, która miała wtedy własne bardzo dobre komputery serii Odra 1300, narzucono obowiązek produkowania komputera R-30. Polscy inżynierowie ulepszyli projekt tej maszyny i produkowano ją jako R-32, a potem R-34.
ROZDZIAŁ 6
Komputery IBM System 360 oraz wzorowane na nich rosyjskie RIAD-y wyznaczały pewien kierunek rozwoju informatyki, polegający na budowaniu komputerów coraz większych, coraz szybszych i mogących obsługiwać równocześnie coraz więcej użytkowników. Takie komputery nazywano mainframe, a ich budowę zdominowała firma IBM, chociaż usiłowali dotrzymać jej kroku także inni producenci. O proporcjach świadczy jednak popularne w latach 70. określenie: IBM and the Seven Dwarfs (IBM i siedmiu krasnoludków). Dla porządku odnotujmy, że produkcją komputerów mainframe zajmowały się (poza IBM) firmy: Burroughs, Control Data Corporation, General Electric, Honeywell, NCR, RCA i UNIVAC.
Komputery typu mainframe miały (z założenia) obsługiwać wielu klientów biznesowych, którzy mogli równocześnie korzystać z zasobów i usług obliczeniowych jednej wielkiej maszyny klasy mainframe dzięki rozwiniętej i udoskonalonej przez IBM technice wielodostępu oraz jednoczesnej obsłudze różnorodnych procesów biznesowych (ang. mixed workload).
Komputery klasy mainframe pracowały bardzo wydajnie i szybko, ale to nie była ich najważniejsza cecha. Pod tym względem ustępowały znacznie superkomputerom, o których napiszę w rozdziale 12. Oczekiwano od nich natomiast bardzo pewnej i niezawodnej pracy. Musiały działać nieprzerwanie przez setki godzin, gdyż awaria komputera obsługującego ważny proces biznesowy ma katastrofalne skutki. Obliczono, że koszt 1 godziny awarii komputera oznacza stratę w wysokości zależnej od rodzaju obsługiwanej firmy:
dla firmy brokerskiej 6 mln 480 tys. USD
dla firmy energetycznej 2 mln 800 tys. USD
dla banku obsługującego karty kredytowe 2 mln 580 tys. USD
dla firmy telekomunikacyjnej 2 mln USD
dla firmy produkcyjnej 1 mln 600 tys. USD
Nic dziwnego, że producenci komputerów mainframe niezawodność i pewność pracy stawiali na pierwszym miejscu. Duże znaczenie miały też szybkie linie transmisji danych, pozwalające przesyłać informacje między terminalami użytkowników (niekiedy bardzo odległych) a komputerem mainframe, który obsługiwał ich w czasie rzeczywistym.
Komputery mainframe miały swoje wymagania. Ich wspólną cechą były duże rozmiary. System komputerowy składał się z wielu szaf wypełnionych elektroniką i zajmował całe duże pomieszczenie. Podłoga w takim lokalu musiała być podwójna, ponieważ poszczególne moduły systemu trzeba było łączyć licznymi kablami, które, gdyby wiły się po podłodze, stanowiłyby prawdziwy tor przeszkód dla obsługujących komputer ludzi. Ale w związku z tym każdy moduł podłogi musiał być w razie potrzeby podnoszony za pomocą specjalnej przyssawki, żeby można było sprawdzić, czy wszystko pod nim poprawnie kontaktuje. Znam to dobrze z własnego doświadczenia, bo pracując przy RIAD-zie, sam biegałem z taką przyssawką!
Komputery mainframe wymagały klimatyzacji. Było to kosztowne (klimatyzator zużywał więcej energii niż sam komputer) i kłopotliwe dla obsługi (żeby latem wejść do takiej lodowej jaskini, trzeba było pośpiesznie naciągnąć sweter).
Firma IBM była tak pewna swojej (niekwestionowanej) pozycji lidera na rynku komputerów mainframe, że nie zwracała uwagi na to, co się działo poza sektorem mainframe. A działo się dużo!
Ilekroć o tym myślę, to przychodzi mi do głowy analogia do zagłady dinozaurów. Były one ogromne i dominowały we wszystkich środowiskach. Nie zwracały zapewne uwagi na malutkie ssaki, które gdzieś się tam kryły w swoich norkach. Ale nastąpił kataklizm, który spowodował, że dinozaury wyginęły, a ssaki opanowały ziemię.
Kataklizmem, który de facto zakończył dominację komputerów mainframe, był dalszy rozwój układów scalonych i ogromny wzrost możliwości mini- i mikrokomputerów. Zanim jednak napiszę o mikroprocesorach (rozdział 8) i związanych z nimi minikomputerach (rozdział 9) – kilka słów chcę poświęcić historii pierwszych polskich komputerów.
ROZDZIAŁ 7
Jak już pisałem, historia pierwszych (w skali światowej) komputerów związana była głównie z dokonaniami informatyków i konstruktorów amerykańskich. Nie znaczy to jednak, że ciekawe rozwiązania maszyn liczących nie powstawały również w innych krajach świata. Na przykład w ZSRR już w latach 50. ubiegłego stulecia budowano pierwsze komputery – między innymi MESM, uruchomiony 25 grudnia 1951 roku, albo BESM, wykorzystywany do obliczeń związanych z lotami kosmicznymi, w których ZSRR przez wiele lat przodował. Nie będę jednak włączał do krótkiej historii informatyki wątku komputerów radzieckich, bo obowiązujące na całym świecie linie rozwojowe cały czas narzucali Amerykanie. Podobnie dla klarowności wywodu nie wspomniałem o niemieckim komputerze Z3 Konrada Zuse z 1941 roku, chociaż był on wcześniejszy od omawianego wyżej komputera Mark I. Jednak to Mark I zapoczątkował ewolucję komputerów, trwającą do dnia dzisiejszego, bo dzieło Konrada Zuse popadło w zapomnienie po przegranej przez Niemcy II wojnie światowej.
Jest jednak fragment historii komputerów, który trzeba tu przypomnieć, chociaż nie stał się on kamieniem milowym rozwoju światowej informatyki. Mowa o pierwszych polskich komputerach. Pierwszym polskim elektronicznym komputerem był XYZ, zbudowany w 1958 roku przez pracowników Zakładu Aparatów Matematycznych PAN (późniejszego Instytutu Maszyn Matematycznych). Zespołem twórców tego komputera kierował prof. Leon Łukaszewicz. Cenię sobie to, że gdy w 2002 roku wybierano mnie na członka Polskiej Akademii Nauk – właśnie Leon Łukaszewicz rekomendował mnie i przedstawiał moje osiągnięcia naukowe.
Maszyna XYZ miała głównie charakter doświadczalny, ale na podstawie obserwacji zgromadzonych przy jej budowie w 1961 roku zbudowano pierwszy polski komputer użytkowy ZAM-2. Komputer ten wykonywał obliczenia praktyczne (dla Towarzystwa Ubezpieczeń i Reasekuracji WARTA), był też produkowany w ograniczonej serii 12 sztuk na potrzeby rynku krajowego i na eksport (do NRD). Kolejny komputer, ZAM 41, powstał także w Instytucie Maszyn Matematycznych w Warszawie, ale potem produkcję komputerów przeniesiono do Wrocławskich Zakładów Elektronicznych Elwro. Początkowo produkowano tam lampowe komputery UMC-1 według projektu z Politechniki Warszawskiej. Wyprodukowano 25 sztuk. Potem jednak zdecydowano, że Elwro będzie samo projektować swoje komputery. Budowane komputery miały mieć wspólną nazwę „Odra” i numery nadawane według systemu sygnalizującego stopień zaawansowania maszyny. Zespołem, który tworzył w Elwro kolejne Odry, kierował Thanasis Kamburelis, grecki emigrant, a zarazem gorący polski patriota.
Pierwszy komputer Odra 1001 zbudowano w 1960 roku, ale nie był on szczególnie udany. Odra 1002 też nie okazała się sukcesem. Produkcja na większą skalę ruszyła w 1963 roku, gdy powstała Odra 1003. Nie była jednak duża: w 1963 roku wyprodukowano 2 sztuki, w 1964 – 8 sztuk, a w 1965 roku 32 sztuki. Ale można powiedzieć, że w połowie lat 60. ubiegłego wieku w Polsce zaczęło się przemysłowe wytwarzanie komputerów.
W większej liczbie egzemplarzy wyprodukowano następny komputer, Odrę 1013. To była maszyna, którą poznałem bliżej jako pierwszą. Prototyp tego komputera zaprezentowano w 1965 roku, a w latach 1966–1967 produkowano po 42 takie komputery rocznie. Komputer ten był jednym z najlepszych w całym bloku państw komunistycznych, więc z 84 wyprodukowanych maszyn aż 53 wyeksportowano.
Prawdziwym hitem eksportowym była także opracowana w 1967 roku Odra 1204. Zajmowałem się testowaniem eksportowych egzemplarzy tej maszyny podczas praktyki dyplomowej w 1970 roku, którą odbywałem właśnie w Elwro. Mogę zaświadczyć, że Odra 1204 to była naprawdę bardzo dobra maszyna, więc ze 179 egzemplarzy wyprodukowanych w latach 1968–1972 aż 114 wyeksportowano. Żartobliwie można powiedzieć, że Odra 1204 osiągnęła wysoki poziom, ponieważ jeden jej egzemplarz, sprzedany do ZSRR, ulokowany został w obserwatorium na górze Elbrus, najwyższym szczycie Kaukazu. Odry pracowały też w Nowosybirsku, na Uniwersytecie w Dacca w Bangladeszu czy na Uniwersytecie w Kairze.
Wróćmy jednak do roku 1967, kiedy to pojawiła się Odra 1204, bo właśnie wtedy w polskim piśmiennictwie po raz pierwszy użyto słowa komputer. To dziś wręcz trudne do uwierzenia, ale do 1967 roku w artykułach i książkach związanych z informatyką używano wyłącznie określenia „Elektroniczna Maszyna Cyfrowa” (w skrócie EMC), będącego adaptacją nazwy przyjętej w piśmiennictwie rosyjskim. Jednak w numerze 2/1967 czasopisma „Maszyny Matematyczne”, wydawanego przez NOT (Naczelną Organizację Techniczną), ukazał się artykuł Adama B. Empachera, w którym ten zasłużony popularyzator informatyki użył słowa „komputer”.
Wywołało to prawdziwą burzę!
Redakcja tego profesjonalnego czasopisma informatycznego (!) uznała za konieczne poprzedzić tekst artykułu komentarzem redakcyjnym następującej treści:
W artykule A.B. Empachera pojawia się wielokrotnie wyraz „komputer”. Wyraz ten został użyty – według wyjaśnień Autora – w tym samym znaczeniu co angielskie „computer”. Pragniemy podkreślić, że określenie „komputer” umieszczono w tekście na wyraźne żądanie Autora, wbrew poglądom Redakcji, która zachowuje rezerwę przy wprowadzaniu nowotworów językowych”.
Jak widać, termin „komputer” rodził się w Polsce w bólach, podobnie jak w bólach rodziły się same komputery, bowiem mankamentem maszyn produkowanych w Elwro było to, że brakowało do nich oprogramowania użytkowego. Wprawdzie wraz z Odrą 1204 sprzedawano doskonały kompilator języka Algol (znany jako Algol 1204, stworzony na Uniwersytecie Wrocławskim przez zespół kierowany przez Jerzego Szczepkowicza), ale to było narzędzie dla użytkowników, którzy chcieli i umieli sami programować. Natomiast programów gotowych do natychmiastowego użycia podczas zajmowania się zagadnieniami technicznymi, ekonomicznymi lub statystycznymi – po prostu nie było. Ograniczało to znacząco praktyczną przydatność budowanych komputerów, zwłaszcza w zastosowaniach gospodarczych, które właśnie w tamtych czasach zaczęły odgrywać bardzo ważną rolę. Dlatego, wyposażając w komputery nowo utworzoną instytucję, mającą świadczyć usługi obliczeniowe dla przedsiębiorstw, ZETO ZOWAR, zakupiono za ćwierć miliona USD komputer IBM 1440 – elektronicznie dość stary, ale za to z bardzo bogatym oprogramowaniem. Na tym komputerze, który w USA uważano za maszynę dla małych i średnich przedsiębiorstw, prowadziły obliczenia największe przedsiębiorstwa z całej Polski!
W tej sytuacji konstruktorzy Elwro postanowili zbudować następny komputer tak, by mógł on wykorzystywać gotowe oprogramowanie jakiejś dobrze wyposażonej maszyny zachodniej. Po uzgodnieniach z producentami brytyjskiego komputera ICT 1904 wybrano ten właśnie model jako „dawcę oprogramowania”. Plotka głosi, że firma ICT (potem działająca pod nazwą ICL) zgodziła się sprzedać potrzebne nam oprogramowanie, ponieważ ich inżynierowie nie wierzyli, że Polakom uda się zbudować całkiem inny elektronicznie komputer, który będzie mógł wykonywać wszystkie ich programy.
Kontrakt zawarto, zakupiono odpowiednie licencje i w 1970 roku wypuszczono na rynek komputer Odra 1304.
Komputer ten nie tylko sprawnie realizował wszystkie programy napisane dla ICL 1904, ale w dodatku był szybszy od maszyny brytyjskiej, zajmował dwa razy mniej miejsca i zużywał mniej energii elektrycznej. Podobno Anglikom oko zbielało!
Łącznie w latach 1970–1973 wyprodukowano 90 egzemplarzy tego modelu komputera, po czym Elwro podjęło produkcję znacznie udoskonalonej wersji pod nazwą Odra 1305. W tamtych czasach był to system o mocy obliczeniowej porównywalnej z niektórymi produktami niedostępnej wtedy serii IBM 370 (modele 145 i 155). Produkcję tego udanego komputera prowadzono do 1975 roku, kiedy to ZSRR wymusił na wszystkich krajach komunistycznych (czyli zależnych od ZSRR) przerwanie produkcji własnych komputerów i podjęcie produkcji komputerów RIAD.
O komputerach RIAD była już mowa (w kontekście kopiowania systemu IBM 360), natomiast maszyn Odra 1305 wyprodukowano w Elwro łącznie 346 sztuk. Sprzedać mogliśmy dziesięć razy więcej...
Równolegle z komputerami Odra 1305 produkowano także mniejsze rozmiarami, ale w pełni zgodne programowo z Odrą 1305, komputery Odra 1325 – głównie przeznaczone do sterowania procesami przemysłowymi. Powstało ich łącznie 157 egzemplarzy.
Ponieważ komputer Odra 1325 znakomicie sobie radził ze sterowaniem różnymi obiektami – zainteresowało się nim także wojsko. Okazało się, że mobilne wersje komputerów Odra 1325, nazywane w wojsku Rodan 10, Rodan 10/79 oraz Rodan 15 (budowane przez zespół, którym kierował Heliodor Stanek) znakomicie się spisywały jako elementy sterujące w systemach radiolokacyjnych RAMONA i TAMARA, produkowanych przez czeskie zakłady Tesla. Wyprodukowano 135 komputerów Rodan 10 i 34 komputery Rodan 15. Było to w latach 70., więc dawno temu, ale okazało się, że dobre wojskowe rozwiązania tak szybko się nie starzeją. Kilka lat temu sensację na całym świecie wywołała wiadomość, że czeski radar sterowany polskim komputerem Rodan naprowadził skutecznie arabskie rakiety (Czesi sprzedawali swój sprzęt wojskowy na Bliskim Wschodzie) na amerykański supernowoczesny samolot bojowy. Samolot wart dziesiątki milionów dolarów został zestrzelony za sprawą polskiego komputera kosztującego tysiąc razy mniej!
Ale nie rozwijajmy tego tematu, bo Amerykanie to przecież nasi sojusznicy...
[1] Czasopismo to wydawano w latach 60. i 70. pod wskazanym tytułem „Maszyny Matematyczne”, natomiast w latach 80. i 90. XX wieku nosiło tytuł „Informatyka”.
[2] „Maszyny Matematyczne”, 1967, nr 2, s. 30–39 – czasopismo dostępne w Internecie. Można tam także przeczytać, że zbulwersowana Redakcja nie poprzestała na samym komentarzu redakcyjnym o wyżej przytoczonej treści, ale dodatkowo pod artykułem umieszczono przypis: Terminologia zastosowana na odpowiedzialność Autora.
[3] Był to skrót od nazwy Zakłady Elektronicznej Techniki Obliczeniowej – Zakład Obliczeniowy Warszawa.
ROZDZIAŁ 8
ROZDZIAŁ 9
ROZDZIAŁ 10
ROZDZIAŁ 11
ROZDZIAŁ 12
ROZDZIAŁ 13
ROZDZIAŁ 14
ROZDZIAŁ 15
ROZDZIAŁ 16
ROZDZIAŁ 17
ROZDZIAŁ 18
ROZDZIAŁ 19
ROZDZIAŁ 20
ROZDZIAŁ 21
ROZDZIAŁ 22
ROZDZIAŁ 23
ROZDZIAŁ 24
ROZDZIAŁ 25
ROZDZIAŁ 26
ROZDZIAŁ 27
ROZDZIAŁ 28
ROZDZIAŁ 29
ROZDZIAŁ 30
ROZDZIAŁ 31
ROZDZIAŁ 32
ROZDZIAŁ 33
ROZDZIAŁ 34
ROZDZIAŁ 35