Geschiedenis van computers, deel 1 – Het prikbordsysteem
Een rare eigenschap van de mens is dat we (als groep) geneigd zijn te denken dat dingen al veel langer zo zijn als ze nu zijn – en dat het niet waarschijnlijk is dat ze zullen veranderen.
Zelfs de meest harde en goed onderbouwde wetenschap heeft de neiging met de spreekwoordelijke wind mee te veranderen. Voorbeeld: Cholesterol… goed of slecht? Zie je wel? Dingen (en ideeën) veranderen. Snel. En vaak denken we dat ze helemaal niet zijn veranderd.
Soms is het goed om eens achterover te leunen en te kijken hoe dingen al zijn veranderd – om te zien hoe dingen in de toekomst zouden kunnen veranderen.
Laten we dat eens toepassen op servers. Computers die stukjes gegevens aan andere computers doorgeven. Hoe zagen die er 10 jaar geleden uit? 20? 50? In deze serie artikelen bekijken we elk belangrijk tijdperk en type server, in willekeurige volgorde – ik zal een beetje heen en weer springen terwijl ik het verhaal van “Computer Servers” vertel.
Bulletin board system servers
Laten we beginnen met iets dat voor velen misschien een beetje … ongewoon lijkt. Het inbel-bulletin board system (BBS).
Zo zie je maar, we hadden niet altijd de mogelijkheid om altijd beschikbare fysieke verbindingen met een server te krijgen.
In de jaren tachtig en negentig van de vorige eeuw was een van de meest gebruikelijke manieren waarop doorsnee mensen “online” konden gaan, het gebruik van een inbel-BBS. Een modem op je computer maakte letterlijk een verbinding via een analoge telefoonlijn (ook wel “land line” genoemd), en een andere modem verbond je met een andere computer.
Leuk weetje: Modem staat voor Modulator – Demodulator – Mo… Dem. Het neemt binaire gegevens en moduleert deze (wat het meest rustgevende geluid ter wereld maakt voor nerds in de jaren tachtig), stuurt ze over de telefoonlijn (analoog), en demoduleert ze aan de andere kant.
Deze BBS-en waren, op een heel reële manier, servers. Het grootste verschil tussen die inbel-bulletinboards en de servers van tegenwoordig zit in de manier waarop mensen verbinding maken en (daardoor) hoeveel mensen tegelijk verbinding konden maken. Je zou bijna kunnen denken dat elke modem (en telefoonlijn) die op een BBS was aangesloten een enkele aansluiting was die één verbinding tegelijk kon ondersteunen – 3 modems = 3 mensen tegelijk verbonden.
Het idee dat slechts een handvol mensen (of zelfs maar 1 persoon) tegelijk verbinding zou kunnen maken met je server is tegenwoordig een beetje absurd (althans in de meeste omgevingen). Toch was het toen ook zo. En als er geen modems meer beschikbaar waren? Dan kreeg je een echt bezettoon – een geluid dat kinderen van nu waarschijnlijk nog nooit hebben gehoord.
Wat meer is, de snelheden waren hard-beperkt op een per-verbinding basis. Als je een 14.4k modem hebt, is dat de maximale snelheid waarmee gegevens over die verbinding kunnen worden verzonden. Je kon niet gewoon een snellere verbinding installeren om de snelheid voor alle gebruikers te verhogen; je moest elke modem upgraden om dat voor elkaar te krijgen. En zelfs dan speelde de kwaliteit van de analoge lijnen tussen je BBS-server en je aangesloten client een grote rol in de werkelijke snelheid. Ik neem aan dat dat laatste vandaag de dag nog steeds zo is, al merken de meeste mensen er niet zoveel van.
BBS-servers versus moderne servers
Dat was niet het enige verschil tussen (de meeste) BBS-servers en moderne servers (webservers, etc.).
De meeste bestaande BBS-servers draaiden op besturingssystemen als DOS, CP/M, Apple ProDOS en andere niet-multitasking systemen. Dat betekende dat er maar één BBS-server tegelijk op één computer kon draaien.
Eén gebruiker. Eén computer.
Wilt u een BBS die op, laten we zeggen, MS-DOS draait, waarop twee mensen tegelijk verbinding kunnen maken? Dan zou je een tweede computer nodig hebben, en die twee computers zouden met elkaar in een netwerk moeten worden verbonden, bijvoorbeeld via een oud Token Ring netwerk, om kritische bestanden met elkaar te kunnen delen. (Wow – ik heb de woorden Token Ring al heel, heel lang niet meer geschreven.) Op die manier zouden die twee “ingebelde” gebruikers het gevoel hebben dat ze op hetzelfde systeem zitten en zouden ze dienovereenkomstig met elkaar kunnen communiceren (chatten, enz.).
Stel je voor dat dit het geval zou zijn met webservers. Voor elke theoretische gelijktijdige verbinding zou je een hele computer moeten toevoegen. Absoluut te gek voor woorden.
BBS-servers en ‘Door’-programma’s
BBS-servers waren ook interessant door de manier waarop hun functionaliteit kon worden uitgebreid.
De meest gebruikelijke methode is via zogenaamde “Door”-programma’s. Wanneer de gebruiker een bepaald “Door”-programma aanvroeg (of het nu een online spel was of een communicatiemiddel), kromp het hele BBS uit zijn geheugen. Het schakelde zichzelf uit en startte de gevraagde toepassing. (Vergeet niet dat deze vaak draaiden op besturingssystemen die niet konden multitasken).
Het BBS schreef eerst de gegevens van de aangesloten gebruiker (welke fysieke modem in gebruik was, de naam van de gebruiker, etc.) naar een eenvoudig tekstbestand. Daarna sloot het BBS en startte de gevraagde “Door”-applicatie, die dat tekstbestand wist te laden om verder te kunnen gaan met het gebruik van de modem – die al die tijd verbonden was en wachtte.
BBS servers en e-mail: Langzamer dan post
De BBS-servers verwerkten e-mail die niet veel verschilde van de e-mail van vandaag. Het belangrijkste verschil was dat onmiddellijke aflevering van e-mail alleen plaatsvond op het lokale BBS-systeem. Als je een e-mail naar een gebruiker op een ander BBS stuurde, kon die gebruiker die e-mail niet lezen totdat de twee BBS-systemen regelmatig (vaak één keer per nacht) een verbinding maakten om e-mails met elkaar uit te wisselen.
Elke verbinding tussen twee BBS-servers werd beschouwd als een enkele “hop”. Vaak waren er meerdere “hops” nodig om e-mail op een verafgelegen fysieke locatie af te leveren. De e-mail werd dan de eerste nacht bij het ene BBS afgeleverd en vervolgens elke nacht bij het volgende BBS in de rij.
Met dit systeem (dat in de jaren tachtig en een deel van de jaren negentig ongelooflijk populair was), was e-mail niet iets dat onmiddellijk gebeurde. Het was niet ongebruikelijk dat de bezorging van e-mail langer duurde dan die van de post. Dat is geen grapje.
Toch gebruikten miljoenen mensen dergelijke diensten voor e-mail. Op zijn hoogtepunt bestond het populairste netwerk van BBS-en (bekend als FidoNet) uit meer dan 39.000 inbel-, bulletin board-systemen over de hele wereld.
De interne werking van deze systemen was eveneens tamelijk uniek. De meeste werden (vooral in de jaren tachtig) uitgevoerd op niet-multi-tasking systemen. Dat betekent dat het concept van “gelijktijdige gebruikersbelasting” niet iets was waar de meeste systeembeheerders (Sysops) – zoals de Sys Admins van deze systemen werden genoemd – zich zorgen over hoefden te maken. Eén gebruiker per keer betekende dat het afhandelen van prestatiebelasting niet echt een punt van zorg was.
In feite hadden de meeste BBS-en zeer low-tech “databases” voor het opslaan van gebruikersinformatie – vaak ofwel gewone, gestructureerde tekstbestanden of eenvoudige, zelfgemaakte binaire bestandsoplossingen. Je hebt zeker nog nooit gehoord van een sharded sql database.
Voordelen van een BBS server
Op bijna elke manier die je je kunt voorstellen, is het concept en de structuur van een BBS server veel inferieur aan wat we vandaag de dag hebben. En toch zijn er enkele unieke voordelen aan zo’n BBS-server.
Het meest opmerkelijke is misschien wel: De toetredingsdrempel was verbazingwekkend laag voor hobbyisten en amateur computergebruikers om hun eigen BBS op te zetten en te runnen. Met een computer (met bijna elk besturingssysteem), een modem (van bijna elke snelheid), en een telefoonlijn (bij voorkeur met niet te veel ruis), kon je aan de slag. Veel BBS-en draaiden niet eens op harde schijven; veel van de vroegere draaiden op floppy disks.
Bulletin board systems still running today
Ongelooflijk genoeg draaien veel BBS-en vandaag de dag nog steeds. Ik heb er zelfs een (waarmee mensen verbinding maken via het Telnet-protocol). Waarom? Vooral omdat ik het leuk vind om met deze oudere systemen te werken. Het houdt me met beide benen op de grond en dichter bij de wortels van de informatica.
Mijn BBS herinnert me eraan – wanneer ik via mijn supersnelle glasvezelverbinding verbinding maak met mijn meerdere servers (gehost over de hele wereld), die in staat zijn enorme hoeveelheden gelijktijdige gebruikers te bedienen – dat het niet altijd zo is geweest.
De protocollen veranderen. Het type verbinding en de snelheid (en frequentie) veranderen. De server mogelijkheden en opslag veranderen. De manier waarop ik het beheer en de manier waarop ik het gebruik – het verandert allemaal. Niets van dit alles blijft hetzelfde.
Oh, jeetje. Als ik het zo zeg, word ik een beetje verdrietig. Ik verlang terug naar de dagen van gierende modems en trage overdrachtssnelheden. Maar ja, het is ook wel weer leuk om een webpagina aan meer dan één persoon tegelijk te kunnen serveren.
So, you know — trade-offs.
>> Read next: History of computers, part 2 — TCP/IP owes a lot to Xerox PUP