Gestão de Programas
A função mais importante de um SO e que afeta diretamente a fiabilidade do mesmo, é o método como este gere a execução dos programas:
--> Multitarefa Cooperativa
--> Multitarefa Preemptiva
--> Multithreading
Multitarefa Cooperativo:
Os utilizadores podem executar dois ou mais programas, mas o programa que se encontra em primeiro plano ganha o controlo sobre o microprocessador e mantém esse controlo até que a tarefa termine. Só depois é que o microprocessador é libertado para se ocupar com os restantes programas.
Multitarefa Preemptiva:
É melhor do que a anterior e permite que o SO recupere o controlo caso um aplicativo interrompa a sua execução.
O utilizador perde todos os trabalhos que não tinham sido guardados no programa que travou, mas a falha neste aplicativo não vai influenciar o funcionamento do restante sistema.
Os SO actuais para computadores pessoais já utilizam este tipo de multitarefa, como é o caso do Linux, do Windows XP, do Windows Vista e do Windows 7, entre outros.
Multithreading:
Sistema recente que permite ao computador a execução de mais do que uma tarefa de um único programa.
Para facilitar o multithreading, os programadores dividem os programas em tarefas distintas, denominadas threads.