texto de Tanenbaum
O sistema operacional funciona com a iniciação de processos que este irá precisar para funcionar corretamente, podendo ser arquivos que processam dados úteis para o sistema como o gerenciador de tarefas. Também dependendo do usuário, ele vai lidar com mais de uma função. Vejamos cada uma delas abaixo.
O Sistema Operacional como uma máquina estendida.
A arquitetura (conjunto de instruções, organização de memória, E/S e estrutura de barramento) da maioria dos computadores em nível de linguagem de máquina é Primitiva e de difícil programação, especialmente a entrada/saída. Abaixo veremos um exemplo com um disco flexível (disquete).
Usaremos o PD765 que tem 16 comandos, específicos pela carga de 1 a 9 bytes no registrador do dispositivo. Esses comandos são para leitura e escrita de dados, movimentação do braço do disco e formatação de trilhas. Servem também para inicialização, sinalização, reinicialização e recalibração do controlador e das unidades de disquetes, os comandos mais básicos são read e write; cada um deles requer 13 parâmetros agrupados em 9 bytes. Esses parâmetros informam itens como o endereço de bloco de dados a ser lido, o numero de setores por trilha, o modo de gravação usado no meio físico, o espaço livre entre os setores e o que fazer com um marcador-de-endereço-de-dado-removidos. Quando a operação é completada, o chip controlador retorna 23 campos de status e de erros agrupados em 7 bytes.
Em um disco que contém uma coleção de arquivos com nomes e cada arquivo pode ser aberto para leitura ou escrita e, então, ser lido ou escrito e, por fim, fechado. Detalhes como se a gravação deveria usar uma modulação por frequência modificada e qual seria o estado atual do motor não apareceriam na abstração apresentada ao programador da aplicação.
Abstração é o elemento-chave para gerenciar complexidade. Boas abstrações transformam uma tarefa quase impossível em duas manejáveis. A primeira é definir e implementar as