Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

GitHub-project herbouwt MIT-besturingssysteem uit jaren zestig

Door , 30 reacties

Een GitHub-project heeft zich tot doel gesteld om het zogenaamde Incompatible Timesharing System opnieuw te bouwen. Dit gebeurt in een in de jaren zestig ontwikkeld besturingssysteem, dat onder andere draaide op PDP-10-computers.

Het project werd ontdekt door The Register en vermeldt in de doelstelling dat het erop is gericht het ITS 'vanaf nul' opnieuw op te kunnen bouwen. Dat besturingssysteem werd ongeveer vijftig jaar geleden ontwikkeld door medewerkers van het kunstmatige-intelligentielaboratorium van het Amerikaanse MIT. Door dit systeem konden verschillende gebruikers samen gebruikmaken van de capaciteit van bijvoorbeeld een PDP-10-systeem van DEC door middel van timesharing. De naam van het systeem is een ludieke verwijzing naar het MIT-OS met de naam Compatible Time-Sharing System. Gebruikers konden het systeem op afstand gebruiken via Arpanet.

Het systeem was in gebruik tot 1990 en was geschreven in assembleertaal. De toepassingen voor het systeem waren daarentegen vaak geschreven in LISP, een programmeertaal die de standaard werd voor de ontwikkeling van kunstmatige intelligentie. Onder andere de populaire teksteditor Emacs werd op het ITS geschreven. Werken op het systeem moet enige tijd vrij frustrerend zijn geweest, omdat gebruikers steeds op zoek waren naar manieren om het te laten crashen. Dit werd verholpen door een commando in te voeren waarmee iedereen het systeem kon laten vastlopen en dat meteen toonde wie voor die actie verantwoordelijk was.

Het GitHub-project, dat op naam staat van Lars Brinkhoff, wil een geautomatiseerde build van het ITS ontwikkelen. Daarnaast wil het achterhalen welke programma's over broncode beschikken en welke die missen. Ook wil het programma's updaten en verbeteren. Om het ITS te draaien, is een KLH10-emulator nodig. Zelfs telnet, ftp en tcp worden ondersteund.

     Een DECsystem-1090 met geheugenmodules, foto door Retro-Computing Society of Rhode Island - eigen werk, CC BY-SA 3.0

Moderatie-faq Wijzig weergave

Reacties (30)

Reactiefilter:-130030+123+21+30Ongemodereerd6
"Werken op het systeem moet enige tijd vrij frustrerend zijn geweest, omdat gebruikers steeds op zoek waren naar manieren om het te laten crashen. Dit werd verholpen door een commando in te voeren waarmee iedereen het systeem kon laten vastlopen en dat meteen toonde wie voor die actie verantwoordelijk was."

Ik begrijp niet helemaal wat hier mee bedoeld wordt.
Wikipedia legt het iets duidelijker uit:
To deal with a rash of incidents where users sought out flaws in the system in order to crash it, a novel approach was taken. A command was implemented which anyone could run which caused the system to crash, which took away all the fun and challenge of doing so. It did, however, broadcast a message to say who was doing it.
Het crash commando zorgde er dus voor dat iedereen het systeem kon laten crashen en het was niet langer interessant om op zoek te gaan naar bugs.
Ik begrijp niet helemaal hoe zo'n systeem zou moeten werken tegen gebruikers die voor de lol, danwel kwaadwillend het systeem wilden laten crashen door gebruik te maken van onbekende bugs?
Blijkbaar was het een sport om het systeem te laten crashen door een bug te vinden waarmee dat mogelijk was.
Vervolgens is er een commando toegevoegd waardoor iedereen het systeem simpel kon laten crashen, dus dan is de lol eraf (er van uit gaande dat de gebruikers hun eer haalden uit het vinden van een bug, niet het laten crashen van het systeem zelf).

Dat is in ieder geval hoe ik het begrijp.
Dat zou de lol er toch helemaal niet afhalen. Als iedereen de boel kan laten crashen, met als bijkomstigheid dat dit gelogd wordt, dan lijkt het mij juist de sport om dat anoniem te gaan doen.
De systeembeheerder gaat natuurlijk geen lijstje ophangen met wie het systeem heeft laten crashen. Dus voor gebruikers is het niet te controleren of iemand het heeft laten crashen d.m.v. een simpel commando of door een bug. Dan valt er weinig eer meer te behalen.
Bovendien, als het systeem crasht omdat een of andere joker het crash commando gebruikt heeft en mijn taak die al 3 dagen draaide daardoor opnieuw moet beginnen, dan zou ik toch echt wel even verhaal gaan halen bij die gast.
Maar dan wordt de software ook niet beter.
Als het systeem als doel had om onderzoek te verrichten d.m.v. bepaalde software maakt de stabiliteit van het besturingssysteem ook niet veel uit, zo lang het maar werkt. Als blijkt dat een bepaalde bug ervoor zorgt dat een bepaalde toepassing niet werkt kan die natuurlijk gepatcht worden, maar een bug die alleen gebruikt wordt door iemand om de boel te laten crashen heeft geen patch nodig zo lang het niet misbruikt wordt.
Het toevoegen van een crash-commando behaalde juist het tegenovergestelde: De "pret" van het crashen, zonder de eer van een gevonden bug.

En omdat iedere n00b het kon laten crashen zonder moeite stopte de flauweriken met het laten crashen via een bug.
Het crash commando zorgde er dus voor dat iedereen het systeem kon laten crashen en het was niet langer interessant om op zoek te gaan naar bugs.
Dat was in de tijd voordat 4chan was uitgevonden dan. :+
Dat noemen ze tegenwoordig logging, het probleem (crashen) kon nog optreden maar er was tenminste wel zichtbaar wie het veroorzaakte.
Klinkt voor mij alsof ze een commando hebben toegevoegd waarmee figuren die de boel wilden laten vastlopen dachten een makkelijke manier te hebben, om er vervolgens achter te komen dat het commando er juist voor zorgde dat hun naam bekend werd als de veroorzaker. Op die manier kun je denk ik (mits je een beperkte gebruikersgroep heb) de klier er tussenuit halen.

Maar dat is slechts mijn interpretatie van die zin :)

[Reactie gewijzigd door Neko Koneko op 30 januari 2017 14:29]

Ik vermoed:
Het was mogelijk, voor bijv. een systeembeheerder, om een commando in te geven zodat het systeem gaat 'wachten' totdat een gebruiker het systeem liet vastlopen. Vervolgens meldde het commando aan de systeembeheerder terug welke gebruiker dit was.
Ze bedoelen het er zoals het er staat. Er is een commando toegevoegd waarmee je de boel kon laten crashen. Daarmee was de lol er af, want als het zo simpel is dat iedereen het kan dan is er geen hacker-eer meer aan te behalen.
Ooit (1978) op de zeevaartschool hadden we 1 computer met Winchester drive van 60Mb (oid) in Amsterdam staan die bediend werd vanuit Den Helder en Terschelling en A'dam. Meer dan een paar toetsenborden en printers (ipv monitors) en ws een soort thin client hing er niet aan. We kregen allemaal ca 1Kb om te programmeren.
Ook toen vonden scholieren het leuk om de boel plat te kunnen leggen. Er moest dan iemand bij de hoofdcomputer de boel resetten.
Het implementeren van een commando om het doel (crash van het systeem) eenvoudig te kunnen halen haalt daar de uitdaging voor het behalen van dat doel compleet weg. Geen motief meer over dus, dus geen mensen meer die gaan zoeken naar manieren om het systeem te laten crashen. Zoiets denk ik. Zou best eens aardig in de tijdsgeest kunnen passen van 1960 en omstreken, en werkte dus misschien nog ook.
Sommige dingen hoeven wmb echt niet in het Nederlands vertaald te worden, zoals 'assembleertaal'..
Toch werd het vroeger ook zo genoemd op universiteiten en HIO. Vraag me af of dit nog steeds als les gegeven wordt...
Helaas een jaar of 10 geleden op het HBO ook. Tenenkrommend vond ik dat als de "docent" dan over de Centrale Verwerkings Eenheid begon. De rest heb ik zo'n beetje verdrongen want het was een bijvak met bijzonder laag niveau lesstof (en ben kort er na gestopt daar :+).

Maar ben het met jmxd eens, sommige dingen moet je niet willen vertalen.
Vraag me af of dit nog steeds als les gegeven wordt...
Heb het net voor de gein even opgezocht; op de TU/e is er voor informatica (om precies te zijn, de bachelor "Software Science") inderdaad nog een vak waarin assembly behandeld wordt.
3 practicum assignments assembly language programming
Knowledge: [..] Machine Language, Assembly Language
Skills: [..] constructing Assembly Language programs for simple tasks on the PP2 practicum board, translating algorithms in Java into Assembly
De exacte inhoud (omschrijvingen van de practicumopdrachten, slides van de colleges, dat soort dingen), zitten tegenwoordig allemaal achter een login, dus daar kan ik je helaas niet naar linken.
Onder andere de populaire teksteditor Emacs werd op het ITS geschreven.

Voor iets dat in de jaren '50 geschreven is, is het verrassend dat de editor Emacs 65 jaar met z'n complete Lisp core later nog steeds mateloos populair is, voor het ontwikkelen van C++, C#, Java, PHP, front-end, etc.

Er worden nog dagelijks vele plugins voor Emacs geschreven, dankzij Lisp: http://emacs.zeef.com
Lisp kwam pas later, oorspronkelijk was het een set macros voor TECO.
waarom zo'n stuk oude software opnieuw in de wereld brengen?
Timeshare is tegenwoordig niet meer nodig/beter geregeld
waarom zo'n stuk oude software opnieuw in de wereld brengen?
Timeshare is tegenwoordig niet meer nodig/beter geregeld
Beetje tegenstrijdig ?
Als iets niet meer nodig is, hoeft het ook niet beter geregeld te worden.

Het is nog steeds nodig ( de supercomputers worden op deze manier nog dagelijks gebruikt, niet iedereen heeft het arsenaal van bv. het KNMI of KU Leuven / TUE )
Beter geregeld, tja, nu 'de mens' gewoon een eigen PC heeft, worden veel projecten thuis afgehandeld ( bankzaken in orde maken, en verzenden naar bank -> verwerking ) is ook een vorm van timeshare
Omdat het kan...
Iemand zou z'n talenten en energie voor iets nuttigs kunnen gebruiken.
Zoals postzegels verzamelen of treintjes op zolder laten rijden. TV kijken, ook een goede.
Hiermee kun je oude software tot leven krijgen, als de oude hardware er niet meer is. Dat heeft waarde voor geschiedenis en voor onderwijs. Als je de software draaiend kunt krijgen, begrijp je problemen uit die tijd beter. Dat is niet alleen van belang voor informatica, maar ook voor het begrip van maatschappelijke ontwikkelingen en problemen uit die tijd. En het is een manier van archivering, net zoals MRI en 3D scans van schilderijen.

[Reactie gewijzigd door kwikstaart op 31 januari 2017 10:30]

Mja, het is een beetje een hobby. Sommige mensen rijden rond in een Ford model T, sommige mensen programmeren op een al even antiek stuk hardware en software. Het heeft geen nut, het is gewoon leuk voor sommigen. Nostalgie, naar een tijd waarin het nog iets betekende als je programmeur was.

Op dit item kan niet meer gereageerd worden.


Nintendo Switch Google Pixel XL 2 LG W7 Samsung Galaxy S8 Google Pixel 2 Sony Bravia A1 OLED Microsoft Xbox One X Apple iPhone 8

© 1998 - 2017 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Hardware.Info de Persgroep Online Services B.V. Hosting door True

*