1 3 – Revisão de Software O software é indispensável para a utilização do hardware. Sem o software para utilizar o computador precisaríamos ter um profundo conhecimento do hardware. Alguns softwares são considerados especiais, devido às funções que exercem. O sistema operacional é um desses, é ele quem faz a interface entre o hardware e o usuário, mas existem alguns outros softwares que tem como função auxiliar o sistema operacional nesta tarefa. Esses softwares são chamados de utilitários. A seguir veremos alguns desses softwares e suas funções. Alguns outros softwares nos auxiliam em tarefas do dia a dia, em casa, no escritório, na escola. São ferramentas que utilizamos para escrever documentos, fazer planilhas, apresentações, conversar com amigos, ver emails e tantas outras funções. Esses softwares são chamados de aplicativos. 3.1 – Tradutor O tradutor é um software que tem como função básica transformar o programa fonte em programa objeto, ou seja, ele faz a tradução do programa que foi escrito em linguagem de alto nível e é então transformado em linguagem de máquina, pois só assim poderá ser executado pelo processador. Muitas vezes são necessários outros utilitários para que esse programa objeto, apesar de estar em linguagem de máquina, possa ser efetivamente executado. Existem dois tipos de tradutores, dependendo do tipo de linguagem em que o programa foi escrito. Existe o compilador, que faz a conversão de um programa escrito em linguagem de alto nível, como o C ou Pascal, e então transformado em linguagem de máquina, e existe também o montador ou assembler que faz a conversão do programa escrito em linguagem de montagem, como o Assembly, para a linguagem de máquina. Existe ainda outro tipo de tradutor, muito parecido com os compiladores, e é chamado de interpretador. A diferença entre o compilador e o interpretador é que o interpretador não gera código objeto, isso quer dizer que 2 toda vez que se deseja executar um programa interpretado é necessário que o interpretador faça a tradução em tempo de execução, enquanto que os compiladores fazem esse trabalho uma única vez. 3.2 – Linker O linker é o responsável por unir todos os programas objeto, seja ele um programa seja uma biblioteca de funções, com os módulos objetos em um único programa. O linker faz a ligação entre o programa objeto com as bibliotecas do sistema. Figura 3.1 – Exemplo de funcionamento do Linker 3.3 – Loader O loader é o responsável por carregar um programa na memória principal para ser executado. 3 3.4 – Depurador O depurador ou debugger é um utilitário que permite ao usuário acompanhar a execução de um programa a fim de detectar erros no mesmo. Figura 3.2 – Debugger Z80 3.5 – Interpretador de Comandos O interpretador de comandos, também conhecido como shell, permite que o usuário interaja com o sistema operacional, através de comandos que são digitados diretamente por linha de comando, onde é possível listar os arquivos e diretórios do sistema por exemplo. 4 Figura 3.3 – CMD ( Prompt do MS-DOS) Figura 3.4 – Exemplo de Shell(Bash do Linux) 5 3.6 – Ativação/Desativação do Sistema Quando o computador é ligado, o sistema operacional tem que ser carregado da memória secundária para a memória principal. Esse processo é chamado de boot. Quando ocorre o processo de boot, alguns arquivos de inicialização são carregados para a memória principal. Estes arquivos contêm procedimentos específicos de customização para a o computador. (a) Figura 3.5 – (a) Boot do Windows 7 (b) (b) Boot do Linux Ubuntu Na maioria dos sistemas existe o processo de desativação do sistema, chamado de shutdown. O processo de shutdown é realizado pelo sistema operacional e consiste em retirar todos os programas que estão em execução da memória principal, fechar arquivos que estão abertos, gravando-os na memória secundária, garantindo a integridade do sistema. Quando inicia o processo de shutdown, o sistema operacional envia um sinal para todos os processos finalizarem imediatamente, caso os processos parem de responder, o sistema operacional finaliza o processo por conta própria. (a) Figura 3.6 – (a) Desligar o Windows XP (b) (b) Desligar o Linux Ubuntu