Multitasking preventiv ( priority multitasking , engleză preemptive multitasking , literalmente preemptive multitasking ) este un tip de multitasking în care sistemul de operare decide să comute între sarcini după o anumită perioadă de timp [1] .
Decizia este luată în conformitate cu prioritățile sarcinilor. Spre deosebire de multitasking cooperativ , controlul este transferat sistemului de operare indiferent de starea aplicațiilor care rulează, datorită cărora, în special, aplicațiile suspendate (de exemplu, în buclă ), de regulă, nu „atârnă” sistemul de operare. Comutarea regulată a sarcinilor îmbunătățește, de asemenea, capacitatea de răspuns a sistemului, eficiența eliberării resurselor sistemului care nu mai sunt utilizate de sarcină [1] [2] .
În implementare, multitasking-ul preventiv diferă de multitasking cooperativ, în special prin faptul că necesită procesarea unei întreruperi de sistem de la un temporizator hardware [3] . După ce cuantumul de timp pentru proces a expirat, are loc o întrerupere și este invocat planificatorul de proces . Frecvența apelării programatorului este critică: apelarea prea des va pierde timp CPU.
Multitasking-ul preventiv este utilizat în majoritatea sistemelor de operare moderne de uz general [4] , de exemplu: Windows 9x și NT [5] , Linux (și alte UNIX ) [6] și OS/2 [7] , [8] Mac OS [9] ] [10] și BeOS [11] , MenuetOS și KolibriOS [12] . Un exemplu de sistem multitasking preventiv anterior UNIX este VMS [13] . Este, de asemenea, utilizat în multe sisteme de operare în timp real încorporate , cum ar fi FreeRTOS [14] .
ale sistemelor de operare | Aspecte|||||
---|---|---|---|---|---|
| |||||
Tipuri |
| ||||
Nucleu |
| ||||
Managementul proceselor |
| ||||
Gestionarea și adresarea memoriei |
| ||||
Instrumente de încărcare și inițializare | |||||
coajă | |||||
Alte | |||||
Categorie Wikimedia Commons Wikibooks Wiktionar |