Welke 'concepten' werden er gebruikt voordat Besturingssystemen werden gebruikt?
Computers zijn al geruime tijd bij ons, maar vóór de komst van moderne besturingssystemen, wat werd er gebruikt om de vroege computersystemen te laten werken? De SuperUser Q & A-post van vandaag neemt een nieuwsgierige lezer mee op een reis terug in de tijd.
De Question & Answer-sessie van vandaag komt tot ons dankzij SuperUser - een onderdeel van Stack Exchange, een gemeenschapsgedreven groep van Q & A-websites.
Foto met dank aan The Bulletin of the Computer Conservation Society.
De vraag
SuperUser-lezer nEw gUy wil weten wat er werd gebruikt om computersystemen te laten werken voordat moderne besturingssystemen ontstonden:
Besturingssystemen vormen de basis voor modern computergebruik, maar daarvoor werd wat in computersystemen gebruikt om ze te laten werken?
Wat werd gebruikt om computersystemen te laten werken voor de moderne besturingssystemen waarmee we vandaag vertrouwd zijn?
Het antwoord
SuperUser-bijdragers RedGrittyBrick en DavidPostill hebben het antwoord voor ons. Ten eerste, RedGrittyBrick:
Vroege computers* liep één programma tegelijk en programma's werden direct geladen vanaf papieren band met daarin geperforeerde gaten (bijvoorbeeld). Je zou de vroegste computers programmeren* door een groot aantal aan / uit-schakelaars in te stellen.
Kolos
Atlas
Manchester
*Ik gebruik het woord 'computer' om het soort apparaat te betekenen dat tegenwoordig in de miljarden bestaat. Van dit enorme aantal computers zijn alle, behalve een onbelangrijk klein aantal, digitale, elektronische programmeerbare computers met opgeslagen programma's. Ik weet zeker dat de oorspronkelijke vraag niet gaat over hoe mensen met de functietitel 'computer' hun werkdag doorbrachten. Tussen deze twee soorten computers bevindt zich een reeks interessante apparaten die niet in dit antwoord worden behandeld.
Gevolgd door het antwoord van DavidPostill:
Geschiedenis van besturingssystemen (Bron: Kent State University)
Besturingssystemen zijn geëvolueerd door een aantal verschillende fasen of generaties die ongeveer overeenkomen met de decennia.
De jaren 1940 - eerste generatie
De vroegste elektronische digitale computers hadden geen besturingssystemen. Machines uit de tijd waren zo primitief dat programma's vaak één bit tegelijk werden ingevoerd op rijen mechanische schakelaars (plugboards). Programmeertalen waren onbekend (zelfs geen assemblagetalen). Besturingssystemen waren ongehoord.
De jaren 1950 - tweede generatie
Aan het begin van de jaren vijftig verbeterde de routine enigszins met de introductie van ponskaarten. De General Motors Research Laboratories hebben de eerste besturingssystemen in de vroege jaren vijftig geïmplementeerd voor hun IBM 701. De systemen van de jaren 1950 hadden meestal maar één opdracht tegelijk. Dit werden single-stream batch-verwerkingssystemen genoemd omdat programma's en gegevens in groepen of batches werden ingediend.
Geschiedenis van besturingssystemen (Bron: Wikipedia)
De vroegste computers waren mainframes die geen enkele vorm van besturingssysteem hadden.
Elke gebruiker had gedurende een geplande periode uitsluitend gebruik van de machine en zou met een programma en gegevens op de computer aankomen, vaak op ponskaarten en magnetische of papieren rompslomp. Het programma zou in de machine worden geladen en de machine zou werken totdat het programma voltooid of gecrashed was.
Programma's kunnen over het algemeen worden gedebugd via een bedieningspaneel met behulp van tuimelschakelaars en paneelverlichting. Er wordt gezegd dat Alan Turing hier een meester in was op de vroege Manchester Mark 1-machine en dat hij al de primitieve opvatting van een besturingssysteem afleidde van de principes van de Universal Turing-machine.
Wil je meer feedback over dit specifieke onderwerp ontvangen? Bezoek dan de levendige discussiethread die hieronder is gelinkt!
Heb je iets toe te voegen aan de uitleg? Geluid uit in de reacties. Wilt u meer antwoorden van andere technisch onderlegde Stack Exchange-gebruikers lezen? Bekijk hier de volledige discussiethread.