Monotarefa e Multitarefa Preemptiva e Cooperativa
Hoje em dia com processadores de vários núcleos é difícil de imaginar como seriam os computadores se os mesmo pudessem executar apenas um tarefa por vez. Mas a monotarefa já foi uma realidade e foram precisos muitos passos para que essa realidade mudasse. Aqui vamos apreender um pouco sobre os diferentes tipos de multitarefa.
Monotarefa
O exemplo mais conhecido de sistema a usar a monotarefa é o MS-DOS. Nele foi dado o primeiro passo para a multitarefa com o recurso Terminate and Stay Residen. Onde os programas “fingiam” haver sido terminados, afim de que outro pudesse ser executado, de tal modo que fosse possível serem reabertos no estado em que estavam. Desse modo precário podia-se alternar entre os aplicativos.
Multitarefa Cooperativa
Aqui já existe um encadeamento de processo (lista) mas cada programa decide voluntariamente quando abandonar o processador. O aplicativo usa o processador por um período de tempo e passa a bola para outro e assim sucessivamente. Como não há proteção de memória e cada processo decide o que faz, um pode invadir o espaço do outro ou mesmo consumir todos os recursos do PC para si gerando instabilidade. Um exemplo é o Windows 3.11.
Multitarefa Preemptiva
Tem um escalonamento de processos (lista) baseado em prioridades e totalmente gerenciado pelo sistema; esse tipo de multitarefa é muito estável. Cada aplicativo é protegido em uma área da memória e recebe uma prioridade sendo que o sistema, e não o aplicativo, decide quando e onde vai ser executado. Como está isolado e protegido em uma determinada área mesmo que um programa faça algo errado ele pode ser finalizado sem que o sistema caia. A linha NT e posteriormente o XP usam esse tipo de multitarefa.
Multitarefa Hibrida
O Windows 95 pode, para manter compatibilidade com programas MS-DOS, operar nos dois modos. Esse fato gera a instabilidade de toda a linha Windows 9x.
Fonte: https://gadarf.com/monotarefa-multitarefa-preemptiva-cooperativa/
Imagem: