Os sistemas monoprogramáveis se caracterizam por permitir que o processador, a memória e os periféricos permaneçam exclusivamente dedicados à execução de um único programa. Nos sistemas multiprogramáveis ou multitarefa, os recursos computacionais são compartilhados entre os diversos usuários e aplicações.
O processamento batch tem a característica de não exigir a interação do usuário com a aplicação. Todas as entradas e saídas de dados da aplicação são implementadas por algum tipo de memória secundária, geralmente arquivos em disco.
Vantagens: Na visão do SO, a multiprogramação tem a vantagem de melhorar o rendimento de utilização do processador e dos periféricos. Na visão do usuário tem a vantagem de permitir que ele explore tarefas concorrentes, por exemplo, editar e compilar, concorrentemente com a impressão de um arquivo.
Richard Stallman
O software livre é um programa de código aberto que dá ao usuário total liberdade de uso. Isso implica em modificar, redistribuir e utilizar como bem entender. Ele é protegido por uma licença que dá a liberdade para as pessoas poderem manipulá-lo. Isso traz inúmeras vantagens aos usuários que serão discutidas adiante.
Se essa for a definição aceita, o primeiro software surgiu na Inglaterra em 1948, baseado num sistema criado pelo matemático húngaro John von Neumann (1903-1957). O incrível é que, cem anos antes de Neumann, esse conceito de software já havia sido imaginado, na teoria, por uma mulher.