Видове псевдо мултитаскинг не-предпочтително мултитаскинг

многозадачност вид, в който се зареди операционната система в паметта В същото време две или повече приложения, но времето на процесора се дава само на основното приложение. За да изпълните молбата фон, тя трябва да бъде активирана.

Съвместно или в сътрудничество многозадачност

Кооперативна многозадачност може да се нарече мултитаскинг "втори етап", защото използва по-сложни техники, отколкото прости задачи комутационни, реализирани от много добре познати програми (например, DOS Shell от MS-DOS 5.0, като просто смяна на активната програма получава цялата времето на процесора и приложения на заден напълно замразени . в кооперация многозадачност приложение всъщност може да вземете най-много процесорно време както намери за добре. Всички заявления споделят времето на процесора, периодична Ески преминаване контрол към следващата задача.

Предимства кооперативна многозадачност: няма нужда да се защитят всички споделени структури от данни, обекти като критични участъци и mutex'ov който опростява програмирането, особено прехвърлянето на код в многозадачна среда задачи.

Недостатъци: невъзможността на всички заявления за работа в случай на грешка в един от тях, което води до липса на работа на повикване ", за да се даде време на процесора." Изключително възпрепятства възможността за изпълнение на много задачи едновременно архитектура IO в основната операционна система, която позволява на процесора да изпълнява една задача в даден момент, другата задача инициира IO операция и е в очакване на неговото завършване.

Въведена в потребителския режим на версии на Windows, преди и включително 3.x, Mac OS версии преди Mac OS X, както и вътре в ядрата на много UNIX-подобни операционни системи като FreeBSD, и за по-дълъг период от време - и Linux.

Изпреварваща или превантивен многозадачност (реално време) изпреварваща многозадачност

Въведете многозадачност, в който операционната система ще прехвърли контрола помежду си в работеща програма, която при приключване IO, събития се случват в компютърната техника, изтичането на таймери и отрязък от време или постъпления от различни сигнали от една програма в друга. В този вид на многозадачност процесор може да се включи в изпълнението на една програма в друга, без каквито и да било искания за изпълнение на първата програма и буквално между всеки две инструкции в програмата му. разпределение процесорно време се извършва от процесите на планировчика. В допълнение, всяка задача може да бъде зададен на потребителя или приоритизирането на операционната система, което осигурява гъвкаво разпределение на CPU управление на времето между задачи (например, можете да намалите приоритета на програмата изисква много ресурси, като по този начин намаляване на скоростта му, но за повишаване на производителността на фонови процеси). Този вид многозадачност ви позволява по-бърз отговор на действията на потребителите.

Предимства: пълно изпълнение на мултитаскинг в ядрото IO OS, когато очакванията на една програма вход-изход позволява на процесора да завърши междувременно изпълнява друга програма. Силно увеличение на надеждността на системата като цяло, във връзка с опазване на паметта - идеален като "без режим на потребителска програма не може да се прекъсне работата на операционната система като цяло" става постижимо поне на теория, е превантивна многозадачност това не е постижимо дори на теория. Възможност да се възползват напълно от многопроцесорни и многоядрени системи.

Недостатъци: необходимост от отделна дисциплина, когато пишете код, специфични изисквания за повторното участник за защитата на всички споделени и световните информационни обекти като критични участъци и mutex'ov.

Въведена в операционната система, като например:

в потребителски режим (а често и в режим на ядрото) всички UNIX-подобни операционни системи, включително Mac OS версия на OS X и по-горе, зарядно OS и iPhone OS

Режим на OS Windows 3.x ядро ​​- при работа на процесора 386 или повече години, "цели" са единствените Windows-базирани приложения, всички заедно и всеки отделен виртуална машина DOS, Windows приложения между изпреварваща многозадачност не е била използвана само

Windows 95/98 / Me - без пълна защита на паметта, което е причината за изключително ниско, наравно с MS-DOS, Windows 3.x и Mac OS версии преди X - надеждността на операционната система

AmigaOS - всички версии преди версия 4.0 без пълна защита на паметта, на практика, за софтуерни програми, почти не оказва влияние върху надеждността на високо стандартизацията на прозрачен API и SDK. Програма фокусира върху "хардуер" Amiga, напротив, не се различават надеждност.