Gratulationer till en 25-åring utan växtvärk

Idag, 15 mars, är det 25 år sedan datortillverkaren Symbolics registrerade domännamnet symbolics.com. Företaget var en spinoff från MIT’s laboratorium för artificiell intelligens, och deras idé var att bygga datorer särskilt anpassade för att köra programspråket Lisp – faktum är att varenda rad programkod i hela datorn från hårdvaran och upp var skriven i Lisp.

Men det är inte det som är remarkabelt. Det speciella är att symbolics.com var det första domännamnet under .com-toppdomänen. Och eftersom det fortfarande existerar – även om det sedan augusti i fjol ägs av ett investmentbolag – så är det också Internets äldsta domännamn.

DNS, det protokoll som möjliggör för dig att komma hit genom att skriva ”fordomsteknik.se” i din browser istället för ”74.200.243.251”, uppfanns 1983 för ett Internet som var otroligt olikt dagens. Idag går det inte att räkna antalet anslutna datorer – sannolikt handlar det om några hundra miljoner. 1983 var den summan cirka 200 stycken. För att slippa komma ihåg vilken siffra som motsvarar vilken dator hade man ett uppslagssystem bestående av en textfil, HOSTS.TXT, som radade upp dessa tvåhundra datorer, och som skickades runt mellan datorerna på nätterna för att få med uppdateringar.

Men redan på denna tid växte antalet datorer på Internet så fort att systemet började bli ohållbart, och man bestämde sig att lösa problemet en gång för alla med ett hierarkiskt men distribuerat system som skulle tåla en mycket stor tillväxt. Det utvecklades till DNS, Domain Name System. Det är ett elegant protokoll som överlevt Internetexplosionen kanske bättre än någon annan teknik på Internet, och det är nära nog oförändrat sedan dess – från symbolics.com till dagens 77 miljoner .com-adresser.

Jag slutar aldrig fascineras över vilket framsynt design DNS är. Att klara av att göra ett system som räcker in i en annan värld, en som ingen annan kunnat förutse, är otroligt. Grattis på kvartssekeldagen, DNS!

Published in: on 15 mars 2010 at 22:24  Kommentera  

Skuggan av Z, del 1: datorpionjären som världen glömde

Året är 1989 och en nästan åttioårig tysk man betraktar en precis färdigställd maskin. Den består huvudsakligen av små metallskivor sågade i olika former, hängande på metallstänger och drivna av en elektrisk motor. Maskinen har kostat omkring 800.000 D-mark att färdigställa, och det mesta har bekostats av ett företagskonsortium med Siemens AG i spetsen. Dessa pengar hade räckt till tio fabriksnya Mercedes 500 SE, men dessa företag har istället valt att lägga pengarna på en maskin utan någon egentlig praktisk tillämpning.

Mannen heter Konrad Zuse, och maskinen är en replika av Z1, den första egentliga datorn, som han konstruerade i sina föräldrars vardagsrum 1936-38.

Zuse började fundera på räknemaskiner 1934. Han var då 24 år gammal och civilingenjör hos flygtillverkaren Henschel. Han var genuint uttråkad av alla beräkningar han var tvungen att göra i tjänsten, och började fundera. Skulle inte allt det där mekaniska räknandet som ingenjörer världen över behövde göra kanske göras bättre av, tja, mekaniska räknare?

Tankarna ledde honom till en serie uppfinningar som ännu idag ter sig förvånansvärt moderna, och som om de presenterats på engelska snarare än tyska kanske hade fått betydligt större uppmärksamhet. Ja, det finns till och med de som säger att om tidsresor skulle visa sig möjliga, så är Konrad Zuse en av de bästa kandidaterna till att ha tagit med sig framtidsteknik tillbaka till 1930-talet.

Zuses fält var mekanik, inte elektronik, och han insåg att mekanisk logik enklast konstruerades utgående ett binärt system där de enskilda delarna endast kunde befinna sig i ett av ändlägena. Detta system för att arbeta med heltal och decimaltal i binär form påminner förvånansvärt mycket om det som än idag används i datorer. Men inte nog med det, han ansåg också att maskinen skulle vara helt flexibel i vilka uppgifter den skulle kunna ta – idag skulle vi säga programmerbar. Zuses tanke var att låta instruktionerna – programmet – vara nedtecknat i form av hål i en remsa, som kunde följas av en läsare och agera på indata som var lagrat i ett maskinminne, också bestående av binär mekanik.

Om teorin var modern så var dock praktiken mer ovan för dagens ögon. Zuse var som sagt ingen elektrotekniker, så han byggde sin maskin av metallskivor som han sågade till med en figursåg i rätt form, och sedan hängde upp i metallpinnar. En elektrisk motor kunde skjuta dessa metallskivor i en ledd, och det indata som kom från hålremsläsaren fick dem att förskjutas i en annan ledd. Skivorna hakade på så sätt i varandra, rörelserna fortplantades genom de sinnrikt formade skivorna, och på det sättet ufördes beräkningar som sedan lagrades i minnet, också det bestående av metallskivor. Maskinen hade också in- och utmatningsenheter för att ta in respektive skriva ut värden, samt en kontrollenhet för hela maskinen.

Denna konstruktion med sina distinkt olika delsystem var den allra första i sitt slag, men dess principiella uppbyggnad används även av den dator du läser det här på. Den enda större skillnaden mot en nutida dator är att Zuses maskin, som han kallade Z1, inte läste in programmet i minnet innan det utfördes. I samtida dokument kan läsas att han övervägde den lösningen, men att den skulle kräva för mycket minne för att vara motiverbart. Istället kördes programmet direkt från hålremsläsaren i samma takt som det lästes av. Som hålremsor använde Zuse vanlig 35-millimeters fotofilm.

Hur som helst måste Z1, där den 1936 stod i vardagsrummet hos hans uppenbarligen mycket förstående föräldrar, betraktas som den första fritt programmerbara datorn. Idag är denna mycket grundläggande datorarkitektur känd som Von Neumann-arkitekturen, men John von Neumann beskrev den inte förrän 1945.

Z1 var bestyckad med 64 enheter minne om 22 bitar vardera, och dess motor kunde ge den en klockfrekvens av en Hertz – alltså en enkel beräkning per sekund. Idag när vi mäter minne i gigabytes och klockfrekvens i gigahertz kan detta verka oanvändbart, men det betydde att den kunde dividera två stora decimaltal med varandra på tio sekunder, och det var någonting helt revolutionerande på trettiotalet. Ja, faktum är att IBM:s första dator som alls kunde hantera decimaltal inte dök upp förrän 1954. Z1 kunde ta emot decimaltal från ett slags tangentbord, som konverterades till ett internt format mycket likt det som ännu används i dagens datorer. Den kunde också visa resultatet för användaren i decimal form. Den bestod av omkring 30.000 av de figursågade metallblecken och vägde runt ett ton.

Konrad Zuse hade vid det här laget sagt upp sig från sitt arbete för att färdigställa sin maskin, och han hade fått patent på minneskonstruktionen. Maskinen hade tagit honom två år att bygga, men han var inte helt nöjd med den. Metallskivorna som skötte beräkningen var inte pålitliga på grund av maskinens stora komplexitet, och han beslöt sig för att utvärdera en annan binär teknik, nämligen elektriska reläer. I nästa del ska vi titta närmare på de maskiner han byggde med reläteknik, och vi ska följa honom på flykt genom ett krigshärjat Tyskland med sina maskiner på lastbilsflaket.

Den omkonstruerade Z1 på Deutsches Technikmuseum Berlin. Bild: Wikipedia.

Published in: on 4 mars 2010 at 00:27  Comments (9)  

Babbage. Positiv? Negativ!

Det blir faktiskt ett kort inlägg idag också, men nyheterna från förr trillar in i skurar, verkar det, och jag vill inte låta någon missa en läsvärdhet som denna.

Favoritbloggaren tillika -serietecknaren David Nessle skriver idag om datorteknikens grand old man Charles Babbage. Jag får bestämt återkomma till Babbage framöver, tror jag, men Nessle är som vanligt extra läsvärd tack vare twisten: det han skriver om är nämligen datorkonstruktörens oväntade förhållande till positivhalare.

Sålunda halare och halare, för att fortsätta gårdagens vinterväglagstema.

Published in: on 9 februari 2010 at 20:52  Kommentera  
Designa en webbplats som denna med WordPress.com
Kom igång