Multiprogrammering vs tidsdelingssystemer
Multiprogrammering er tildelingen af mere end ét samtidigt program på et computersystem og dets ressourcer. Multiprogrammering gør det muligt at bruge CPU'en effektivt ved at tillade forskellige brugere at bruge CPU'en og I/O-enhederne effektivt. Multiprogrammering sørger for, at CPU'en altid har noget at udføre, og øger dermed CPU-udnyttelsen. På den anden side er tidsdeling deling af computerressourcer mellem flere brugere på samme tid. Da dette vil give et stort antal brugere mulighed for at arbejde i et enkelt computersystem på samme tid, ville det sænke omkostningerne ved at levere computerfunktioner.
Hvad er multiprogrammeringssystem?
Multiprogrammering er hurtig skift af CPU mellem flere programmer. Et program består generelt af flere opgaver. En opgave ender norm alt med en anmodning om at flytte data, hvilket ville kræve nogle I/O-operationer at blive udført. Multitasking blev almindeligvis udført for at holde CPU'en beskæftiget, mens det aktuelt kørende program udfører I/O-operationer. Sammenlignet med andre udførende instruktioner er I/O-operationer ekstremt langsomme. Selvom et program indeholder et meget lille antal I/O-operationer, bruges det meste af den tid, det tager for programmet, på disse I/O-operationer. Brug af denne ledige tid og tillade et andet program at bruge CPU'en på det tidspunkt vil derfor øge CPU-udnyttelsen. Multiprogrammering blev oprindeligt udviklet i slutningen af 1950'erne som en funktion af operativsystemer og blev først brugt i mainframe computing. Med introduktionen af virtuel hukommelse og virtuelle maskine-teknologier blev brugen af multiprogrammering forbedret.
Hvad er tidsdelingssystem?
Tidsdeling, som blev introduceret i 1960'erne, er deling af computerressourcer mellem flere brugere på samme tid. I tidsdelingssystemer er flere terminaler knyttet til en enkelt dedikeret server med sin egen CPU. Handlinger/kommandoer, der udføres af operativsystemet i et tidsdelingssystem, har et meget kort tidsrum. Derfor tildeles CPU'en til brugere ved terminalerne i en kort periode, således at en bruger i en terminal får følelsen af, at hun har en CPU dedikeret til hende bag sin terminal. Den korte tidsperiode, som en kommando udføres på et tidsdelingssystem, kaldes et tidsudsnit eller et tidskvante. Med udviklingen af internettet er tidsdelingssystemer blevet mere populære, da dyre serverfarme kunne være vært for et meget stort antal kunder, der deler de samme ressourcer. Da hjemmesiderne hovedsageligt opererer i udbrud af aktivitet efterfulgt af perioder med inaktiv tid, kunne den ene kundes tomgangstid bruges effektivt af den anden, uden at nogen af dem bemærkede forsinkelsen.
Hvad er forskellen mellem multiprogrammeringssystem og tidsdelingssystem?
Hovedforskellen mellem multiprogrammering og tidsdeling er, at multiprogrammering er den effektive udnyttelse af CPU-tid ved at tillade flere programmer at bruge CPU'en på samme tid, men tidsdeling er deling af en computerfacilitet mellem flere brugere, der ønsker at bruge det samme anlæg på samme tid. Hver bruger på et tidsdelingssystem får sin egen terminal og får følelsen af, at hun bruger CPU'en alene. Faktisk bruger tidsdelingssystemer konceptet multiprogrammering til at dele CPU-tiden mellem flere brugere på samme tid.