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.
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.
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 .
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.
av operativsystem | Aspekter|||||
---|---|---|---|---|---|
| |||||
Typer |
| ||||
Kärna |
| ||||
Processledning _ |
| ||||
Minneshantering och adressering | |||||
Ladda och initieringsverktyg | |||||
skal | |||||
Övrig | |||||
Kategori Wikimedia Commons Wikibooks Wiktionary |
![]() | |
---|---|
I bibliografiska kataloger |