Software
Entre o hardware e o usuário temos o Software que é o responsável por fazer o computador funcionar, através de conjunto de tarefas que devem ser executadas para cumprir um certo objetivo.
O software pode ser:
Basico: sistemas operacionais e linguagens de programação.
Aplicativo: processadores de texto, planilhas de calculo, processadores de imagens, etc.
O software é responsável pela comunicação Usuário Maquina.
Linguagens de Baixo Nível
Uma Linguagem de baixo nível é uma linguagem mais próxima da linguagem de máquina, que é formada por instruções escritas em código binário, é a única linguagem que o computador entende.
Outra linguagem de baixo nível é a Assembly. Os assemblers são tradutores que convertem os primeiros programas de linguagem assembly em linguagem de máquina. É incompreensível para computadores até ser traduzido em linguagem de máquina.
Linguagens de Alto Nível e Tradutores
Linguagem de Alto Nível é uma linguagem mais próxima da linguagem natural. Para que um programa possa executá-la, será necessário um intermediário, ou tradutor, que possa transformá-la em um formato de linguagem de máquina.
Nesse caso os Interpretadores e os Compiladores são os intermediários ou tradutores que facilitam o uso do sistema operacional.
Todos os programas escritos em linguagens de alto nível são convertidos para a linguagem de máquina para serem executados pelo processador.
Sistemas Operacionais
O sistema operacional serve de interface entre o usuário e os recursos disponíveis no sistema, tornando esta comunicação transparente e permitindo ao usuário uma utilização mais eficiente e com menores chances de erro. Existem vários tipos de Sistema Operacionais, são alguns deles: Sistema Operacional de tempo real; utilizado para controlar máquinas, instrumentos científicos e sistemas industriais. Exemplos: Calculadoras, micro-ondas, barômetro, e esteiras industriais. Monousuário/Monotarefa;