Historia komputerów, część 1 – System tablicy ogłoszeń
Jednym z dziwnych dziwactw bycia człowiekiem jest to, że (jako grupa) mamy tendencję do myślenia, że rzeczy były takie, jakie są obecnie przez dużo dłuższy czas, niż były w rzeczywistości – i że raczej się nie zmienią.
Nawet najbardziej twarda i dobrze poparta nauka ma tendencję do zmieniania się z przysłowiowym wiatrem. Przykład: Cholesterol … dobry czy zły? Widzisz? Rzeczy (i pomysły) się zmieniają. Szybko. I często wydaje nam się, że wcale się nie zmieniły.
Czasami dobrze jest usiąść i spojrzeć na to, jak rzeczy już się zmieniły – aby zobaczyć, jak mogą się zmienić w przyszłości.
Zastosujmy to do serwerów. Komputery serwujące bity danych do innych komputerów. Jak wyglądały one 10 lat temu? 20? 50? W tej serii artykułów, przyjrzyjmy się każdej z głównych epok i typów serwerów, w nieszczególnej kolejności – będę się trochę obijał opowiadając historię „Serwerów komputerowych.”
Serwery systemu tablic ogłoszeń
Zacznijmy od czegoś, co dla wielu może wydawać się trochę … niezwykłe. Nie zawsze mieliśmy możliwość uzyskania zawsze dostępnego fizycznego połączenia z serwerem.
W latach 80. i 90. jednym z najczęstszych sposobów, w jaki przeciętni ludzie łączyli się „online”, było korzystanie z wdzwanianych BBS-ów. Modem w twoim komputerze dosłownie łączył się z analogową linią telefoniczną w starym stylu (aka „land line”), a inny modem łączył się z innym komputerem.
Fun fact: Modem to skrót od Modulator – Demodulator – Mo… Dem. Pobiera dane binarne i moduluje je (wydając najbardziej kojący dźwięk na planecie dla nerdów w latach 80.), wysyła je przez linię telefoniczną (analogową) i demoduluje po drugiej stronie.
Te BBS-y były, w bardzo realny sposób, serwerami. Największą różnicą między tymi wdzwanianymi tablicami ogłoszeń a dzisiejszymi serwerami jest sposób, w jaki ludzie się łączą i (z tego powodu) jak wiele osób może się połączyć jednocześnie. Można by pomyśleć o każdym modemie (i linii telefonicznej) podłączonym do danego BBS-a jako o pojedynczym gnieździe, które może obsługiwać jedno połączenie w tym samym czasie – 3 modemy = 3 osoby podłączone jednocześnie.
Pomysł posiadania tylko garstki osób (lub nawet tylko jednej osoby) mogącej podłączyć się do twojego serwera w tym samym czasie jest nieco niedorzeczny w dzisiejszych czasach (przynajmniej w większości środowisk). Ale to jest sposób, że to było wtedy. A kiedy nie było już więcej dostępnych modemów? Dostałbyś sygnał zajętości – hałas, którego dzisiejsze dzieci prawdopodobnie nigdy nawet nie słyszały.
Co więcej, prędkości były mocno ograniczone na zasadzie per-connection. Jeśli masz modem 14.4k, to jest to maksymalna prędkość, z jaką dane mogą być przesyłane przez to połączenie. Nie można było po prostu wprowadzić szybszego połączenia, aby zwiększyć prędkość dla wszystkich użytkowników; trzeba było uaktualnić każdy modem, aby to osiągnąć. A nawet wtedy, jakość linii analogowych pomiędzy serwerem BBS a podłączonym klientem odgrywała ogromną rolę w rzeczywistej prędkości. Przypuszczam, że ta ostatnia część jest nadal prawdziwa, choć większość ludzi nie zauważa tego aż tak bardzo.
Serwery BBS vs. współczesne serwery
To nie był jedyny sposób, w jaki (większość) BBS-ów różniła się od współczesnych serwerów (serwerów WWW, itp.).
Większość istniejących BBS-ów działała na systemach operacyjnych takich jak DOS, CP/M, Apple ProDOS i innych systemach niemultitaskingowych. Oznaczało to, że tylko jedna instancja serwera BBS mogła być uruchomiona na jednym komputerze w tym samym czasie.
Jeden użytkownik. Jeden komputer.
Chcesz mieć BBS działający na, powiedzmy, MS-DOS, który pozwalałby dwóm osobom połączyć się w tym samym czasie? Potrzebowałbyś drugiego komputera, a te dwa komputery musiałyby być połączone ze sobą w sieć, np. poprzez starą sieć Token Ring, aby dzielić ze sobą najważniejsze pliki. (Wow – nie pisałem słów Token Ring w długim, długim czasie.) W ten sposób, dla tych dwóch „zalogowanych” użytkowników, czuliby się tak, jakby byli w tym samym systemie i mogliby wchodzić w interakcje (czat, itp.) odpowiednio.
Wyobraź sobie, gdyby tak było w przypadku serwerów internetowych. Dla każdego teoretycznego współbieżnego połączenia, musiałbyś dodać kolejny cały komputer. Absolutne szaleństwo do rozważenia.
Serwery BBS i programy 'Door’
Serwery BBS były również interesujące w sposobie, w jaki ich funkcjonalność mogła być rozszerzana.
Najczęstszą metodą jest to, co było znane jako programy „Door”. Gdy użytkownik zażądał konkretnego programu „Door” (czy to gry online, czy jakiegoś narzędzia komunikacyjnego), cały BBS kurczył się z pamięci. Po prostu zamykał się i uruchamiał żądaną aplikację. (Pamiętaj, że często były one uruchamiane na systemach operacyjnych, które nie mogły pracować wielozadaniowo).
B BBS najpierw zapisywał szczegóły dotyczące podłączonego użytkownika (jaki modem był w użyciu, nazwa użytkownika, itp.) do prostego pliku tekstowego. Następnie BBS zamknąłby się i uruchomił żądaną aplikację „Door”, która wiedziałaby, że należy załadować ten plik tekstowy, aby kontynuować korzystanie z modemu – który był podłączony i czekał przez cały ten czas.
Serwery BBS i poczta elektroniczna: Wolniejsze niż poczta
Te serwery BBS obsługiwały pocztę elektroniczną, która nie była podobna do dzisiejszej poczty elektronicznej. Podstawowa różnica polegała na tym, że natychmiastowe dostarczanie wiadomości e-mail miało miejsce tylko w lokalnym systemie BBS. Jeśli wysłałeś e-mail do użytkownika na innym BBS-ie, ten użytkownik nie byłby w stanie przeczytać tego e-maila, dopóki oba systemy BBS nie wykonałyby regularnego (często raz na noc) połączenia w celu wymiany e-maili między sobą.
Każde takie połączenie między dwoma serwerami BBS było uważane za pojedynczy „skok”. Często, aby uzyskać e-mail dostarczony do fizycznej lokalizacji, która była bardzo daleko, wiele takich skoków były wymagane. E-mail zostałby dostarczony do jednego BBS-u pierwszej nocy, a następnie do następnego BBS-u w kolejce każdej nocy.
W tym systemie (który był niezwykle popularny w latach 80-tych i w części lat 90-tych), poczta elektroniczna nie była rzeczą natychmiastową. Nie było czymś niespotykanym, że dostarczenie wiadomości trwało dłużej niż poczta. To nie jest joke.
Still, miliony ludzi korzystało z takich usług dla poczty elektronicznej. W szczytowym momencie, najpopularniejsza sieć BBS-ów (znana jako FidoNet) składała się z ponad 39 000 wdzwanianych systemów tablic ogłoszeniowych na całym świecie.
Wewnętrzne funkcjonowanie tych systemów było, podobnie, dość unikalne. Większość z nich działała (zwłaszcza w latach 80-tych) na systemach, które nie były wielozadaniowe. Oznacza to, że koncepcja „jednoczesnego obciążenia użytkownika” nie była czymś, o co większość operatorów systemów (Sysops) – jak nazywano administratorów tych systemów – musiała się martwić. Jeden użytkownik w tym samym czasie oznaczał, że obsługa obciążenia wydajnościowego nie była zazwyczaj wielkim problemem.
W rzeczywistości większość BBS-ów miała bardzo mało zaawansowane technologicznie „bazy danych” do przechowywania informacji o użytkownikach – często były to zwykłe, uporządkowane pliki tekstowe lub proste, domowe rozwiązania plików binarnych. Z pewnością nigdy nie słyszałeś o sharded sql database.
Wady serwera BBS
Prawie na każdy sposób, jaki możesz sobie wyobrazić, koncepcja i struktura serwera BBS jest o wiele gorsza od wszystkiego, co mamy dzisiaj. A jednak istnieją pewne wyjątkowe zalety takiego serwera BBS.
Najbardziej godne uwagi: Bariera wejścia była zdumiewająco niska dla hobbystów i amatorskich użytkowników komputerów, aby założyć i uruchomić własny BBS. Mając komputer (z prawie każdym systemem operacyjnym), modem (o prawie dowolnej prędkości) i linię telefoniczną (najlepiej z niezbyt dużym szumem), można było działać. Wiele BBS-ów nie działało nawet na twardych dyskach; wiele z wcześniejszych działało na dyskietkach.
Systemy tablic dyskusyjnych działające do dziś
Niezwykłe jest to, że wiele BBS-ów działa do dziś. Ja nawet prowadzę jeden (do którego ludzie łączą się za pomocą protokołu Telnet). Dlaczego? Głównie dlatego, że lubię pracować z tymi starszymi systemami. To trzyma mnie przy ziemi i bliżej korzeni informatyki.
Mój BBS przypomina mi – gdy łączę się przez moje ultraszybkie łącze światłowodowe z moimi wieloma serwerami (hostowanymi na całym świecie), zdolnymi do obsługi ogromnych ilości użytkowników – że nie zawsze tak było.
Protokoły się zmieniają. Zmienia się typ połączenia i prędkość (oraz częstotliwość). Zmieniają się możliwości serwera i pamięci masowej. Sposób, w jaki nim administruję i sposób, w jaki go używam – to wszystko się zmienia. Nic z tego nie pozostaje takie samo.
Oh, jeez. Kiedy mówię to w ten sposób, robi mi się smutno. Wistful for days of screeching modems and slow transfer speeds. Ale potem znowu, to jest raczej miło być w stanie serwować stronę internetową do więcej niż jednej osoby w tym samym czasie.
So, you know — trade-offs.
>> Read next: History of computers, part 2 — TCP/IP owes a lot to Xerox PUP