Tipuri de un pseudo multitasking multitasking non-preemptiv
tip multitasking, în care încărcarea sistemului de operare în memorie în același timp, două sau mai multe aplicații, dar timpul procesorului este dat numai la cererea principală. Pentru a efectua o aplicație de fundal, acesta trebuie să fie activat.
multitasking comune sau în colaborare
cooperativ multifuncțional poate fi numit multitasking „a doua etapă“, deoarece utilizează tehnici mai avansate decât sarcini simple de comutare, realizate de mai multe programe bine cunoscute (de exemplu, DOS Shell de la MS-DOS 5.0 prin simpla comutare a programului activ primeste tot timpul de procesor și aplicații de fundal complet congelate . În multitasking cooperativ poate apuca de fapt, la fel de mult timp CPU după cum consideră potrivit. Toate aplicațiile împart timpul CPU, periodice Eski care trece de control la următoarea sarcină.
Avantaje cooperativ multifuncțional: nu este nevoie de a proteja toate structurile de date comune, obiecte cum ar fi secțiunile critice și mutex'ov care simplifică programarea, în special transferul de cod în medii multitasking tasking.
Dezavantaje: incapacitatea tuturor cererilor de a lucra în cazul unei erori într-una dintre ele, ceea ce duce la o lipsă a unei operațiuni de apel „pentru a da timp CPU.“ împiedicat extrem de posibilitatea implementării unei arhitecturi multi-tasking IO în sistemul de operare de bază, care permite procesorului să efectueze o sarcină la un moment dat, pe de altă sarcină a inițiat operarea IO și așteaptă finalizarea acestuia.
Pus în aplicare în modul de utilizare pe versiunile de Windows anterioare și inclusiv 3.x, versiunile Mac OS înainte de Mac OS X, precum și în interiorul nucleelor multor sisteme de operare de tip Unix, cum ar fi FreeBSD, și pentru o lungă perioadă de timp - și Linux.
multitasking sau de preempțiune (în timp real) multitasking
Tip multitasking, în care sistemul de operare va transfera controlul de la un altul într-un program de funcționare în cazul în care finalizat IO, evenimente apar în echipamentul de calculator, expirarea cronometre și timp felie sau chitanțe de diferite semnale de la un program la altul. În acest tip de procesor multi-tasking poate fi trecut la executarea unui program la altul, fără cereri de execuție a primului program și literalmente între oricare două instrucțiuni în codul său. distribuție timp CPU este realizată prin procesele planificator. În plus, fiecare sarcină poate fi atribuită utilizatorului sau prioritizarea sistemului de operare, care prevede o alocare flexibilă de gestionare a timpului CPU între sarcini (de exemplu, puteți reduce prioritatea program intensiv de resurse, reducând astfel viteza, dar creșterea productivității proceselor de fond). Acest tip de multitasking permite un răspuns mai rapid la acțiunile utilizatorului.
Avantaje: punerea în aplicare integrală a multitasking în miezul IO OS, atunci când speranța a unui program de intrare-ieșire permite procesorului pentru a finaliza între timp executa un alt program. creșterea fiabilității puternică a sistemului ca întreg, împreună cu o protecție de memorie - ideală ca „nici un mod de utilizator de program nu se poate rupe de lucru sistem de operare ca un întreg“ devine realizabil cel puțin în teorie, este multitasking nu este realizabil, chiar și în teorie. Oportunitatea de a profita din plin de sisteme multiprocesor și multicore.
Dezavantaje: necesitatea unei discipline separate, atunci când scrie cod, cerințe specifice pentru re-intrat la protecția tuturor obiectelor de date comune și globale, cum ar fi secțiunile critice și mutex'ov.
Pus în aplicare în sistemul de operare, cum ar fi:
în modul de utilizator (și de multe ori în modul kernel) toate sistemele de operare UNIX, cum ar fi, inclusiv versiunea de Mac OS OS X și mai sus, iPod OS și iPhone OS
Modul de operare pentru Windows kernel 3.x - numai atunci când rulează pe procesorul 386 sau mai mult, „obiective“ sunt singurele aplicații bazate pe Windows toate împreună și fiecare mașină virtuală individuale DOS, între aplicațiile Windows multitasking nu a fost folosit
Windows 95/98 / Me - fără protecție completă de memorie, care a fost motivul pentru extrem de scăzut, la egalitate cu MS-DOS, Windows 3.x și Mac OS versiunile anterioare X - fiabilitatea sistemului de operare
AmigaOS - toate versiunile anterioare versiunii 4.0, fără o protecție de memorie completă, în practică, pentru programe software, aproape nici un efect asupra fiabilității ridicate de standardizare API și SDK-ul transparent. Programul sa concentrat pe „hardware-ul“ Amiga, dimpotrivă, nu a fost diferită de fiabilitate.