1. Концепция
Програмата е строго подреден набор от инструкции във времето. Той използва изключително всички ресурси в системата, включително CPU, памет, периферни устройства, софтуер и т.н., и никакви други конкуренти не се конкурират и споделят с него. Следователно в компютърна система с един процесор само една програма работи за определен период от време. Програмата монополизира всички ресурси на компютъра и не се влияе от външни влияния.
В ранните дни на компютрите многозадачността се наричаше мултипрограмиране. Мултипрограмата означава, че процесорът чете няколко програми наведнъж и ги поставя в паметта и изпълнява първата програма, докато има IO операция. Тъй като IO операцията е бавна, процесорът трябва да изчака. За да подобрите използването на процесора, стартирайте втората програма в този момент. Тоест, условието за изпълнение на n+1-та програма е n-тата програма да извърши IO операция или вече да е изпълнена. По този начин разпределението на времето за всяка програма е неравномерно. Възможно е първата програма да е работила няколко часа без IO операция, така че втората програма да не работи. В началото тази ситуация беше приемлива. Хората определят да изпълняват няколко програми наведнъж и след няколко часа или ден могат да видят резултатите или да вземат отпечатаните файлове. Хората не трябва да получават текущия статус на всяка програма в реално време, а се интересуват само от текущите резултати.
Многозадачността се отнася до способността на компютъра да изпълнява множество програми едновременно. Общият метод за многозадачност е да стартирате част от кода на първата програма и да запазите работната среда; след това стартирайте част от кода на втората програма, за да спасите околната среда; ... възстанови работната среда на първата програма и изпълни следващата програма на първата програма. Част от кода...модерен мултитаскинг, разпределението на времето на всяка програма е относително равномерно.
Основната цел на въвеждането на технология за мултипрограмиране е да се увеличи степента на използване на процесора и да се даде пълна игра на паралелизма на компонентите на компютърната система. Всички съвременни компютърни системи приемат технология за мултипрограмиране. Появата на мултипрограмирането ускори раждането на настоящата операционна система.
2. Характеристики
1) Многоканален: това означава, че няколко независими програми се съхраняват в паметта на компютъра едновременно.
2) Макроскопично паралелни: Няколко програми, които влизат в системата по едно и също време, всички са в процес на изпълнение, т.е. те са започнали съответните си операции една след друга, но не са завършени.
3) Микроскопично сериен: От микроскопична гледна точка множество програми в паметта заемат процесора на свой ред или споделят време.
3. Предимства
Подобрете използването на процесора. В многопрограмна среда множество програми споделят компютърни ресурси. Когато една програма чака I/O операция, процесорът може да изпълнява други програми, което значително подобрява използването на процесора.
Подобрете използването на оборудването. В многопрограмна среда множество програми споделят системно оборудване, което значително подобрява използването на системното оборудване.
Подобрете пропускателната способност на системата. В многопрограмна среда времето за изчакване на програмата се намалява и пропускателната способност на системата се подобрява.
4. График
Многопрограмната обработка може да зареди няколко програми в паметта едновременно. Когато една програма не може да работи поради изчакване на външно предаване, централния процесор може незабавно да изпълни друга програма. Ако втората програма не може да бъде изпълнена по някаква причина, централната процесорна единица изпълнява третата програма и така нататък, докато външното предаване на първата програма приключи преди изпълнението на първата програма. Разумното съвместно разполагане на множество програми може да подобри използването на ресурсите и да подобри входните и изходните възможности на системата. Многопрограмната обработка се извършва по псевдопаралелен начин. От интервал от време всяка програма е изпълнена, но изпълнението не е завършено. От определен момент в централния процесор се изпълнява само една програма и всяка програма заема отрязък от време, а централния процесор се използва алтернативно и последователно. Програмите не завършват в реда, в който са започнали.
Множество програми споделят различните ресурси на обработващата система, но системните ресурси са ограничени и броят и видовете ресурси, изисквани от всяка програма, също са различни. Следователно планирането на множество програми зависи от разликата на всяка програма. Изискванията за ресурси възприемат следните стратегии: ①Пръв дошъл, първи обслужен, установете резервна опашка според реда на въвеждане на програмата и планировчикът сканира резервната опашка от самото начало, за да намери първата програма, която може да бъде удовлетворена от ресурса, и вмъкнете го в текущата опашка за изпълнение. ② Съгласно планирането на номера на приоритета, системата избира програмата с номер с най-висок приоритет за изпълнение. Приоритетният номер на програмата може да бъде зададен от потребителя (системата таксува по-висока такса за програмата с по-висок приоритетен номер) или може да бъде определен от системата (системата определя времето за изчакване на програмата, продължителността на времето за изпълнение и размера на изискванията за системни ресурси). Този номер на приоритет може да се определи, когато програмата влезе в системата, или може да се изчисли всеки път, когато програмата бъде планирана. В същата програма с приоритетен номер планирането все още се основава на принципа първи дошъл, първи обслужен. ③ Балансирано планиране, което класифицира програмите според собствените им характеристики. Например Тип A е програма, която отнема много време за вход и изход, Тип B е програма, която балансира входа и изхода с времето за изчисление, а Тип C е програма, която отнема време за изчисления. Планировчикът на програми избира и изпълнява програми от тези различни типове програми на свой ред, така че ресурсите да могат да се използват по балансиран начин, ефективността на системата да бъде включена в игра и потребителите да са доволни.
Както е показано на фигурата, състоянието на изпълнение на единична програма и мултипрограма е посочено. Може да се види, че мулти-програмата може значително да подобри използването на ресурсите на системата.