Multithread - sistemas que suportam múltiplas linhas de execução. Um único processo pode estar associado a vários fluxos de execução (threads). Todas compartilham o mesmo espaço de endereçamento (código e dados).
Multiprogramação (multitarefa) - sistemas mais complexos e eficientes, vários usuários, preocupação em gerenciar acesso concorrente. Vantagem: Redução de custos.
- Sistemas batch (lote) - Programas sequenciais (armazenados em disco ou fita). Pouca interação com o usuário. Programas chamados JOBS. Mais eficiente em processamento. Tempo de resposta longo.
- Sistemas de tempo compartilhado (time sharing / on-line) - sistemas online. Reserva uma fatia de tempo do processador para cada usuário (time-slice). Permitem interação dos usuários com o sistema.
- Sistemas de tempo real - tempo de resposta é exigido (muito rápido). Não existe a ideia de fatia de tempo. Segurança é fundamental! (Tráfego aéreo, usinas nucleares)
Multiprocessamento (2 ou mais CPUs envolvidas.) – É a capacidade de um SO executar dois ou mais processos. SIMULA A SIMULTANEIDADE, diferente da multitarefa. Problemas de concorrência (processadores podem estar acessando a mesma área de memória)