Tidsindelning

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 15 december 2021; kontroller kräver 2 redigeringar .

Tidsdelning är ett sätt  att fördela datorresurser mellan många användare med hjälp av multiprogrammering och multitasking [1] . Framväxten av detta koncept i början av 1960 - talet och aktiv utveckling på 1970 - talet ledde till ett betydande tekniskt genombrott i databehandlingens historia .

Genom att låta många användare interagera med en enda dator samtidigt har tidsdelning kraftigt minskat kostnaderna för att tillhandahålla datorkraft, vilket gör det möjligt för organisationer och individer att använda en dator utan att behöva köpa den. Tidsfördelningen bidrog också till utvecklingen av nya interaktiva program.

Historik

Batchbearbetning

De första datorerna var mycket dyra och långsamma enheter. Vanligtvis utformades de för att utföra en specifik uppsättning uppgifter och styrdes från en operatörspanel, som manuellt matade in korta program genom att ändra positionen för omkopplarna på panelen. Dessa program kan köras i timmar eller till och med veckor. Men när datorernas hastighet började växa blev maskinens vilotid i samband med introduktionen av nästa program oacceptabel. Metodik för batchbearbetning uppstod med målet att minska maskinens stilleståndstid när man går in i ett program. Vid batchbearbetning, så snart ett program avslutat exekvering, laddade datorn nästa.

För att stödja batchbearbetningsprocessen använde programmerare hålkortshålslag eller håltejp . Dessa var billiga enheter som gjorde det möjligt att skapa program offline. Efter att ha skrivit programmet överfördes det till operatörerna av maskinen, som var engagerade i att planera tidpunkten för dess lansering. Viktiga program lanserades först, mindre viktiga program efter alla andra. När programmet slutligen kördes returnerades vanligtvis resultatet av dess arbete till programmeraren i tryckt form. Hela processen kunde ta lång tid, under vilken programmeraren inte såg datorn alls.

Alternativet att låta användaren styra datorn direkt var vanligtvis för dyrt att ens överväga. Denna situation begränsade den interaktiva utvecklingen till endast de organisationer som hade råd att slösa datorcykler: dessa var mestadels stora universitet.

Tidsdelning

Begreppet "tidsdelning" kom till som ett resultat av insikten att även om varje enskild användare använder en dator ineffektivt, är en grupp användare tillsammans mycket mer effektiv. Detta beror på själva formen av interaktion: användaren anger information tecken för tecken, mellan tangenttryckningarna sker en paus, under vilken datorn kan utföra tusentals operationer, men om en grupp användare arbetar samtidigt, kommer pauserna av en användare kan fyllas med andras aktivitet. Om du väljer den optimala gruppstorleken kommer effektiviteten i datoranvändningen att öka avsevärt. På samma sätt kan användare ges tidsintervall som datorn tillbringar i väntan på att skiv-, band- eller nätverksöverföringar ska läsas.

Jämfört med batchbearbetning är det svårt att implementera ett system som utnyttjar tidsdelning. Batchbearbetning var helt enkelt en form av organiseringsarbete med tidiga datorsystem. Datorer fortsatte att köra ett program för en användare åt gången, och allt som batchbearbetningen förändrades var att tiden mellan programstarter minskade. Att designa ett system som skulle stödja många användares samtidiga arbete var fundamentalt annorlunda än detta. Varje användares och hans programs sammanhang ("tillstånd") måste lagras i maskinen, och snabbt kunna ersättas av andra. Kontextväxling krävde ett betydande antal processorcykler och var ett stort problem för långsamma maskiner på den tiden. Men eftersom datorer snabbt ökade i hastighet , och ännu viktigare i mängden minne som kunde hålla användartillstånd, minskade tidsdelningskostnaderna i enlighet därmed.

Konceptet tros ha beskrivits först av John Backus under sommarsessionen 1954 vid Massachusetts Institute of Technology [2] senare av Bob Boehmer i början av 1957 i en artikel "How to consider a computer" för Automatic Control Magazine. . Det första projektet för att implementera ett tidsdelningssystem startades av John McCarthy i slutet av 1957, på en modifierad IBM 704 och senare på en modifierad IBM 7090 . Även om han slutade sitt jobb för MAC-projektet och andra, visades ett av hans resultat, känt som Compatible Time-Sharing System eller CTSS, i november 1961. CTSS påstås vara det första tidsdelningssystemet. Den användes fram till 1973. En annan utmanare till den första demonstrationen av ett tidsdelningssystem var Donald Blitzers PLATO II-system , som demonstrerades offentligt i Robert Allerton Park vid University of Illinois i början av 1961. Blitzer sa att PLATO-projektet skulle ha fått ett tidsdelningspatent om bara University of Illinois visste hur man behandlar patentansökningar snabbare. Det första kommersiellt framgångsrika tidsdelningssystemet var Dartmouth Time Sharing System .

Utveckling

Under perioden från slutet av 1960-talet till slutet av 1970-talet kopplades datorterminaler till organisationers stora stordatorer (Centralized Computing Systems), som i många implementeringar sekventiellt frågade terminalerna för att se om det fanns ytterligare data eller åtgärder som begärdes av datoranvändaren. . I framtiden, istället för att polla terminalerna, började avbrott användas , och för kommunikation användes parallella dataöverföringsteknologier, såsom IEEE 488- standarden . I regel fanns datorterminaler på lärosätena och användes på samma sätt som stationära (person-)datorer är idag. I början av eran med persondatorer användes många av dem faktiskt som terminaler för tidsdelningssystem.

Med utvecklingen av mikrodatorer i början av 1980-talet, tog tidsdelning en baksäte eftersom individuella mikroprocessorer var tillräckligt billiga för att en person på egen hand skulle kunna kontrollera hela processortiden, även när den var inaktiv. Internet har dock fört tillbaka konceptet med tidsdelning. Dyra företagsserverfarmar på flera miljoner dollar ger tusentals användare tillgång till samma delade resurser. Liksom tidiga seriella terminaler, hanterar webbplatser mestadels aktivitetsskurar följt av perioder av stillestånd. Denna "burst" karaktär tillåter många webbplatsbesökare att använda tjänsten samtidigt så att ingen av dem märker några förseningar i dataöverföringen tills serverbelastningen blir för hög.

Anmärkningsvärda tidsdelningssystem

Anteckningar

  1. DEC TIMESHARING (1965), av Peter Clark, The DEC Professional, VOLYM 1, nummer 1
  2. Backus, John, Computer Advanced Coding Techniques Arkiverad 29 september 2018 på Wayback Machine , MIT 1954, sidan 16-2. Den första kända beskrivningen av datortidsdelning.
  3. "A Brief Description of Privacy Measures in the RUSH Time-Sharing System" Arkiverad 5 mars 2016 på Wayback Machine , JD Babcock, AFIPS Conference Proceedings, Spring Joint Computer Conference, Vol. 30, 1967, sid. 301-302.
  4. Hartley, D.F. (1968), The Cambridge multiple-access system: user's reference manual , Cambridge: Cambridge Univ. Press, ISBN 978-0901224002 
  5. 1 2 Auerbach vägleder till  tidsdelning . — Auerbach Publishers, Inc., 1973.
  6. "Time Sharing" Arkiverad 5 mars 2016 på Wayback Machine , James Miller. Hämtad 30 november 2013.

Litteratur

Länkar