Pierwsze komputery obywały się bez systemu operacyjnego – wszystkim zarządzał program napisany przez użytkownika. Wkrótce jednak stwierdzono, że jest to niewygodne i nieracjonalne, bo w wielu programach trzeba było powtarzać te same fragmenty kodu – np. obsługujące drukarkę. Ponadto takie uruchamianie programów na „gołym” komputerze (bez systemu operacyjnego) nakładało na programistę mnóstwo obowiązków, m.in. związanych z koniecznością „ręcznego” rozmieszczania danych w pamięci. W dodatku sterowanie takim programem (czyli jego komunikacja z użytkownikiem) było bardzo niewygodne.
Pierwsze próby automatyzacji zarządzania komputerem
John Presper Eckert i John Mauchly (konstruktorzy pierwszego elektronicznego komputera o nazwie ENIAC), o których pisałem w jednym z wcześniejszych felietonów, byli na dobrej drodze stworzenia systemu operacyjnego. Gdy założyli w 1949 r. firmę Eckert-Mauchly Computer Corporation (EMCC), przejętą w 1950 r. przez producenta maszyn do pisania Remington Rand, mieli ambicję wytwarzać komputery ogólnego przeznaczenia. Wszystkie wcześniejsze maszyny liczące powstawały na konkretne zamówienie i były dostosowane do potrzeb zamawiającego klienta (na początku głównie wojska), natomiast komputer UNIVAC, opracowany w EMCC i produkowany przez Remington Rand, miał się nadawać dla wszystkich i do wszystkiego. Żeby ułatwić tym przyszłym użytkownikom pracę, działaniem tego komputera sterował program EXEC (a potem EXEC II). Nie był to jednak jeszcze system operacyjny w nowoczesnym rozumieniu, ale krok został wykonany w dobrą stronę. Niestety – jak pisałem we wcześniejszym felietonie – Eckert i Mauchly przegrali proces o uznanie ich patentu i produkcję komputerów UNIVAC przerwano po wytworzeniu zaledwie 40 maszyn. Siłą rzeczy także program EXEC przestano wytwarzać i pierwszeństwo we wprowadzeniu systemu operacyjnego przypadło innej osobie i innej maszynie.
Director Tape w symulatorze lotów
Pierwszy pokaz programu pełniącego rolę systemu operacyjnego (w dzisiejszym rozumieniu tego słowa) miał miejsce 8 maja 1955 r. Program ten nazywał się Director Tape i został napisany przez Douga Rossa dla komputera Whirlwind I.
Nie wspominałem wcześniej w tym cyklu felietonów o tej maszynie, bo była to unikatowa konstrukcja przeznaczona do specjalnych celów – komputer ten pełnił rolę symulatora samolotów dla przyszłych pilotów. Whirlwind I został zbudowany na MIT i prawdopodobnie był pierwszym komputerem współpracującym z człowiekiem w trybie interaktywnym – to znaczy reagującym bezpośrednio, w czasie rzeczywistym, na polecenia i sygnały przesyłane przez użytkownika. Wszystkie wcześniejsze komputery pracowały wsadowo: człowiek dostarczał im dane oraz program do ich przetwarzania i po jakimś czasie otrzymywał wyniki. W samym procesie obliczeniowym użytkownik nie uczestniczył.
Komputer Whirlwind I był inny. Budowano go przez osiem lat (od 1944 do 1952 r.) i zastosowano w nim wiele unikatowych rozwiązań, np. przyspieszanie obliczeń poprzez wykonywanie ich równocześnie na 16 arytmometrach. Z całą pewnością była to ciekawa i oryginalna maszyna. Jednak z punktu widzenia historii rozwoju narzędzi informatyki była to boczna gałąź przebogatego drzewa systemów komputerowych, dlatego nie wspomniałem o niej wcześniej. Ale teraz musiałem przywołać tę nazwę, bo właśnie na tym komputerze uruchomiono i eksploatowano pierwszy system operacyjny.