Vad är skillnaden mellan multitasking multiprogramming och multiprocessing?

Jag har både BSC och MSC, med 24 år i branschen, och jag har hört användning av dessa begrepp varierar beroende på vem som använder dem, men detta är min åsikt baserat på min erfarenhet.

Multiprogramming är en gammal och svårbegripliga term, som ursprungligen användes för att beskriva den tidigare tidsdelning typ av system där flera jobb/program kunde lämnas till ett datorsystem, och det bör dela dess olika resurser mellan alla de jobb som kördes. Jobb/program var inte förmultnade utöver nivån som jobb, och detta var hur fin den CPU och resursdelning som inträffade. Det är sant att säga att multiprogramming stöds fortfarande idag på moderna datorer eftersom det är sant att flera jobb/program körs på en gång. Men detta är sant för alla datorer nu och är inte ens relevanta. Men är vad som är relevant den nivå av delar som har förändrats dramatiskt under åren.

Nu, termer multitasking, multiprocessing och multitrådning, menar exakt samma sak i generell mening, och ingen har någon beroende på antalet processorer i ett system. Det första att förstå här är att orden är i princip synonymt i generell mening i att en uppgift är en process är ett jobb är en tråd är ett program. Dess alla baserat på din POV. Där dessa villkor börjar ta på specifik betydelse är när de visas i samband med en specifik körningsmiljö där ett program utformat, sammanställt, laddad och avrättades på en specifik del av datormaskinvara. Detta sammanhang kan tilldela en hierarkisk innebörd som ett program är den högsta nivån av organisation som sönderfaller den i flera aktiviteter som körs separat, att var och en kan delas upp i en eller flera processer, som kan vara ytterligare förmultnat i vissa antal trådar. Bara ett exempel.

Du kan ta den samma upplösningen och tillämpa den i kompilatorn används för att bygga program för en sann multiprocessor system, och det ser ut för dessa, och också andra mönster av utförandet som gör att lastbalansering mellan processorerna. Sådana verktyg tillåter också oftast för hög nivå partitionering, men har också vanligtvis automatiska mekanismer som försöker maximera processoranvändningen för belastningsutjämning. I slutändan multiprocessor systemet körs programmet på samma sätt på varje processor, men kan få verkliga parallellismen inte finns i en enda processorsystem.

Användningen av sådana termer påverkas även av hur ett program är utformat för eftersom den kan vara utformad för att köra som enda monolitisk odjuret med en enda utförande väg genom det, eller det kan vara särskilt utformade som en samling oberoende enheter som alla komma igång i programmet, och göra allt arbete. Sådana enheter kallas uppgifter, processer, funktioner och även trådar. Kan komma in i debatter att en tråd är verkligen en lätt process, i motsats till en tung vikt process, men sedan man börjar komma in i den tråkiga minutiae av hur processerna representeras av OS osv, och det är alltid specifika sammanhang, och inte värt tiden.

Alla datorer och operativsystem i använder idag stöd mycket fint kornat delar av CPU mellan flera jobb, aktiviteter, trådar, processer, och vissa analysera även koden instruktionerna vid körning för att avgöra vilka block av instruktioner kan köras i ordning.

i enkla ord multitasking / multiprogramming förmedlar enda processor och multiprocessing connotes till 2 processorer som används för att utföra en uppgift/jobb.
En mindre skillnad mellan multitasking och multiprogramming kan förstås med hjälp av trådar i JAVA där varje (mer än 1 program) program att köra attribut till multiprogramming och varje tråd inom ett program connotes till multitasking som de dela tid med och r köras samtidigt...

För alla terminologier är Multiprogramming kärnan. Multiprogramming är att läsa in flera program i minnet så att processorn kan hållas sysselsatt genom att växla mellan alla laddade program. Multitasking är härledning av multiprogramming där operativsystemet behandlar de program som laddas i minnet som uppgift. Men multiprocessing handlar främst med hårdvara. Här kommer mer än en processor (CPU) in i bilden. Multiprocessing leder till parallell computing.
Skillnaden i dessa tre ord/dator jargong är att: 1. Multitasking är en dator förmåga att hantera ett antal aktiviteter eller jobb simultant, medan multiprogramming är förmågan att köra eller hantera flera program samtidigt. Sist men inte minst, multiprocessing är förmågan eller kapaciteten på en dator att hantera eller snarare lösa en viss uppgift på olika sätt. Hoppas du kommer att göra någon mening ur detta.
Mutitasking och mutiprogramming är i princip samma sak, där datorn hanterar många uppgifter eller program simultniously. men multiprocessing är techniuqe av att hantera en eller flera jobb på olika sätt, som i mutiprocessor arkitektur.
Multi programmering innebär att köra flera program, men här när någonsin processorn är inaktiv under körningen av en processaa det gå för utförandet av ett annat program. Där som i Multitasking, detta är en kombination av både multi programmering och tid sharing.means i detta kommer den att köra mer än en process samtidigt.
Termen Multitasking används när mer än ett program/program/uppgifter körs på en enda processor. Å andra sidan, är multi-Processing möjligheten att använda mer än en processor (CPU), på en enda maskin.