1. Концепт
Програм је строго уређен скуп инструкција у времену. Искључиво користи све ресурсе у систему, укључујући ЦПУ, меморију, периферне уређаје, софтвер итд., и ниједан други конкурент се не такмичи и дели са њим. Стога, у рачунарском систему са једним ЦПУ-ом, само један програм ради у одређеном временском периоду. Програм монополизује све ресурсе рачунара и на њега не утичу спољни утицаји.
У раним данима рачунара, мултитаскинг се звао вишепрограмирање. Вишепрограмски значи да ЦПУ чита више програма истовремено и ставља их у меморију и покреће први програм док не изврши ИО операцију. Пошто је ИО операција спора, ЦПУ мора да сачека. Да бисте побољшали искоришћеност ЦПУ-а, покрените други програм у овом тренутку. То јест, услов да се н+1 програм изврши је да н-ти програм изврши ИО операцију или да је већ покренут. На овај начин је временска дистрибуција сваког програма неједнака. Могуће је да је први програм радио неколико сати без ИО операције, па други програм не ради. У почетку је ова ситуација била прихватљива. Људи одређују да покрећу више програма истовремено и након неколико сати или једног дана могу да виде резултате или да узму одштампане датотеке. Људи не морају да добију статус покретања сваког програма у реалном времену, већ само брину о резултатима покретања.
Мултитаскинг се односи на способност рачунара да покреће више програма у исто време. Општи метод мултитаскинга је да се покрене део кода првог програма и сачува радно окружење; затим покрените део кода другог програма да бисте сачували окружење; ... вратите радно окружење првог програма и извршите следећи програм првог програма. Комад кода...модерни мултитаскинг, временска дистрибуција сваког програма је релативно уједначена.
Основна сврха увођења технологије мултипрограмирања је да се повећа стопа искоришћења ЦПУ-а и да се у потпуности одигра паралелизам компоненти рачунарског система. Сви савремени рачунарски системи усвајају технологију мултипрограмирања. Појава мултипрограмирања убрзала је рађање садашњег оперативног система.
2. Карактеристике
1) Вишеканални: то јест, неколико независних програма се истовремено чува у меморији рачунара.
2) Макроскопски паралелно: Неколико програма који улазе у систем у исто време су сви у процесу покретања, односно започели су своје операције један за другим, али нису завршени.
3) Микроскопски серијски: Са микроскопске тачке гледишта, више програма у меморији заузимају ЦПУ наизмјенце или деле време.
3. Предности
Побољшајте искоришћеност ЦПУ-а. У окружењу са више програма, више програма дели рачунарске ресурсе. Када програм чека на И/О операцију, ЦПУ може да изврши друге програме, што значајно побољшава искоришћеност ЦПУ-а.
Побољшајте коришћење опреме. У окружењу са више програма, више програма дели системску опрему, што у великој мери побољшава коришћење системске опреме.
Побољшајте пропусност система. У вишепрограмском окружењу, време чекања програма је смањено и пропусност система је побољшана.
4. Планирање
Вишепрограмска обрада може учитати неколико програма у меморију истовремено. Када програм не може да ради због чекања на екстерни пренос, централна процесорска јединица може одмах да изврши други програм. Ако се други програм из неког разлога не може извршити, централна процесорска јединица извршава трећи програм, и тако све док се екстерни пренос првог програма не заврши пре извршавања првог програма. Разумна колокација више програма може побољшати коришћење ресурса и побољшати улазне и излазне могућности система. Вишепрограмска обрада се врши на псеудопаралелни начин. Од временског интервала, сваки програм је извршен, али извршење није завршено. Од одређеног тренутка у централној процесорској јединици се извршава само један програм, и сваки програм заузима временски одсек, а централна процесорска јединица се користи наизменично и серијски. Програми се не завршавају оним редоследом којим су започели.
Више програма дели различите ресурсе система за обраду, али системски ресурси су ограничени, а број и типови ресурса потребних за сваки програм су такође различити. Стога, заказивање више програма зависи од разлике сваког програма. Захтеви за ресурсима усвајају следеће стратегије: ①Први дође, први сервира, успостави ред за резервне копије према редоследу уноса програма, а планер скенира ред резервних копија од почетка да пронађе први програм који може да задовољи ресурс, и убаци га у тренутни ред за извршење. ② Према распореду броја приоритета, систем бира програм са највећим бројем приоритета за извршење. Приоритетни број програма може одредити корисник (систем наплаћује већу накнаду за програм са већим бројем приоритета), или га може одредити систем (систем одређује време чекања програма, дужину програма). времена рада и количине системских ресурса). Овај приоритетни број се може одредити када програм уђе у систем, или се може израчунати сваки пут када је програм заказан. У истом програму приоритетних бројева, заказивање се и даље заснива на принципу „први дође, први услужен“. ③ Уравнотежено планирање, које класификује програме према њиховим сопственим карактеристикама. На пример, Тип А је програм који одузима много времена за унос и излаз, Тип Б је програм који балансира улаз и излаз са рачунарским временом, а Тип Ц је програм који одузима много времена за рачунање. Планер програма бира и покреће програме из ових различитих типова програма наизмјенце, тако да се ресурси могу користити на избалансиран начин, ефикасност система може бити уведена у игру и корисници су задовољни.
Као што је приказано на слици, наведен је статус извршења једног програма и више програма. Може се видети да вишепрограмски може у великој мери побољшати искоришћеност ресурса система.