sistemas operacionais
●
Gerenciar os recursos de hardware de forma que sejam utilizados da melhor forma possível, ou seja, “tirar” o máximo proveito da máquina fazendo com que seus componentes estejam a maior parte do tempo ocupados com tarefas existentes; e
●
Prover funções básicas para que programas de computador possam ser escritos com maior facilidade, de modo que os programas não precisem conhecer detalhes da máquina para poderem funcionar. É justamente neste segundo item que os sistemas operacionais podem ser bem sucedidos ou não, em despertar interesse para que a indústria de software e os programadores independentes construam programas para determinados sistemas operacionais. Isto justifica parte do sucesso do Microsoft Windows, pois, ao mesmo tempo que ele provê uma interface bastante amigável com o usuário, para o programador, não é tão difícil criar um programa com janelas, botões, listas, etc, como seria num sistema operacional como o MS-DOS. Além disso, os sistemas operacionais da Microsoft rodam no hardware mais “popular” hoje em dia: os computadores baseados em IBM PC. Computadores modernos possuem um ou mais processadores, memória principal, dispositivos de entrada e saída como discos, fitas, teclado, mouse, monitor, interface de rede, entre outros. Escrever programas que utilizem um computador com esta complexidade de forma eficiente é muito difícil e trabalhoso. É exatamente neste ponto que entram as funções do sistema operacional: abstrair as particularidades do hardware dos programas, fornecendo a eles facilidades para sua operação, tais como: rotinas de acesso a dispositivos diversos; funções de armazenamento de dados como criação de arquivos, leitura e escrita de dados; e rotinas de acesso aos dispositivos de interação com a máquina, como teclado, mouse, monitor, etc. Dada a existência de