Os sistemas multiprogramáveis ou multitarefa são uma evolução dos sistemas monoprogramáveis.
Neste tipo de sistema, por exemplo, enquanto um programa espera por uma
operação de leitura ou gravação em disco, outros programas podem estar
sendo processados neste mesmo intervalo de tempo. Nesse caso, podemos
observar o compartilhamento da memória e do processador. O sistema
operacional se preocupa em gerenciar o acesso concorrente aos seus
diversos recursos, como memória, processador e periféricos, de forma
ordenada e protegida, entre os diversos programas.
A principal vantagem dos sistemas multiprogramáveis é a redução de
custos em função da possibilidade de compartilhamento dos diversos
recursos entre as diferentes aplicações. Além disso, sistemas
multiprogramáveis possibilitam na média a redução total do tempo de
execução das aplicações. Apesar de mais eficientes que os
monoprogramáveis, são de implementação muito mais complexa.
A partir do número de usuários que interagem com o sistema operacional,
podemos classificar os sistemas multiprogramáveis como monousuário ou
multiusuário.
Sistemas multiprogramáveis monousuário são encontrados em computadores
pessoais e estações de trabalho, onde há apenas um único usuário
interagindo com o sistema. Neste caso, existe a possibilidade de
execução de diversas tarefas ao mesmo tempo, como a edição de um texto,
uma impressão e o acesso à Internet.
Sistemas multiprogramáveis multiusuário são ambientes interativos que
possibilitam a diversos usuários conectarem-se ao sistema
simultaneamente.
Os sistemas multiprogramáveis ou multitarefa podem ser classificados
pela forma com que suas aplicações são gerenciadas, podendo ser
divididos em sistemas batch, de tempo compartilhado ou de tempo real. Um
sistema operacional pode suportar um ou mais desses tipos de
processamento, dependendo de sua implementação.
Fonte: http://forum.imasters.com.br/topic/333787-tipos-de-sistemas-operacionais/