principais funções de um Sistema Operacional?
Gerenciar Recursos – O sistema operacional deve gerenciar a utilização dos recursos fornecidos pelo hardware, como processadores, memória, dispositivos de E/S, de modo que mantenha o controle sobre qual usuário/programa utiliza qual recurso, compartilhando os recursos entre os usuários/programas de modo seguro e sem conflitos.
Estender a máquina - O sistema operacional deve oferecer ao usuário uma maneira mais acessível de programar/utilizar o hardware do que as próprias instruções que este oferece. Por exemplo: o usuário não precisa saber qual a trilha e o setor do disco se deseja gravar alguma informação, apenas faz uma chamada ao sistema que estende as instruções de E/S, disponibilizando instruções mais amigáveis para estas e outras tarefas. Ou seja, o sistema operacional atua como uma interface entre o hardware e o ambiente de software.
2) O que é multiprogramação? Cite duas razões para se ter multiprogramação?
Multiprogramação é uma técnica utilizada em sistemas operacionais para maximizar o uso da CPU. Nesta técnica, a memória é dividida em várias partes que contém um job cada. Enquanto um job está fazendo uma operação de E/S, a CPU passa a executar outro job que esteja em outra parte da memória, evitando a ociosidade da CPU.
Uma razão para se ter multiprogramação é a maximização do uso da CPU obtida por esta técnica. Outra razão é o uso mais inteligente dos recursos de hardware (CPU, memória, E/S) que na época em que a técnica surgiu eram caros e não podiam ser desperdiçados. Uma outra razão é o fato de aumentar o número de jobs concluídos por unidade de tempo, melhorando a performance do sistema como um todo.
3) O que é Spooling?
È uma técnica que permite que os jobs fiquem armazenados em um buffer (no disco magnético) para uso do CPU. Quando um job que está na memória termina de executar, um outro é lido deste buffer e colocado na partição onde este (o que acabou) estava.