Sistemas Operacionais
Sistemas Operacionais
Revisão Sobre HardwareSistemas Operacionais
Sistemas Operacionais
• Um SO está intimamente ligado ao hardware do computador onde ele é executado.
• Para funcionar ele deve ter um grande conhecimento sobre esse hardware.
• Por isto estudaremos um pouco de como o hardware é encontrado em nossos
computadores pessoais modernos.
Sistemas Operacionais
• Conceitualmente um computador pessoal simples pode ser abstraído para o modelo:
Sistemas Operacionais
• Onde, a CPU, a memória e os dispositivos E/S estão todos conectados a um barramento, que proporciona a comunicação de uns com os
outros.
• Na verdade estes barramentos e este arranjo é muito mais complexo que isto, mas este não é o foco da disciplina.
Sistemas Operacionais
Sistemas Operacionais
• É o “cérebro” do computador.
• Busca instruções na memória e as executa, o ciclo básico é:
– Buscar a 1ª instrução na memória
– Decodificá-la para determinar seus operandos e a operação a executar com eles
– Executá-la
– Buscar e decodificar instruções subsequentes, – Este ciclo é repetido até que o programa pare.
Sistemas Operacionais
• Tempo de acesso a memória para buscar uma instrução ou operando é menor que o tempo para executá-la. Por isso as CPUs tem
registradores internos para armazenamento de variáveis e resultados temporários.
• Além destes registradores há também alguns especiais:
– Contador de programa: contém o endereço de memória da próxima instrução a ser executada.
Sistemas Operacionais
– Ponteiro de pilha: aponta para o topo da pilha atual na memória, essa por sua vez contem uma estrutura para cada rotina chamada que ainda não encerrou. (parâmetros de entrada, variáveis locais e variáveis temporárias que não são mantidas nos registradores)
– PSW (Program Status Word): contém bits do código de condições, os quais são alterados por instruções de comparação ou pelo nível de
prioridade da CPU (modo usuário ou núcleo) e outros bits de controle.
Sistemas Operacionais
• Para melhorar o desempenho as CPUs
também são dotadas de um sistema chamado
pipeline que é quando o sistema possui
unidades separadas para busca, decodificação e execução de instruções. Enquanto uma
instrução n é executada, uma segunda
instrução n+1 é decodificada e uma outra instrução n +2 esta sendo trazida.
Sistemas Operacionais
• Multithread, outro artifício para se ganhar velocidade, permitir que a CPU mantenha o estado de dois threads diferentes, exemplo uma thread precisa ler dados da memória (demora) assim a CPU comuta para outra thread.
Sistemas Operacionais
• Multinúcleo: além de permitir várias threads dentro de um núcleo outro artifício para se
ganhar desempenho é fazer chips de CPU com dois ou processadores completos
internamente.
Sistemas Operacionais
Sistemas Operacionais
• O segundo componente principal em qualquer computador;
• Idealmente a memória deveria ser bastante rápida (mais veloz que a execução de uma
instrução, para que a CPU não fosse atrasada pela memória), além de muito grande e
barata.
• Nenhuma tecnologia atual atinge esses objetivos.
Sistemas Operacionais
• Sendo assim uma abordagem em camadas hierárquicas tem sido adotada:
Sistemas Operacionais
• Onde a camada superior tem mais velocidade, menor capacidade e maior custo e a mais
baixa tem características inversas grande capacidade, baixo custo e velocidade.
• Registradores: internos a CPU e feitos com o mesmo material dela, sendo assim são tão rápidos quanto ela.
Sistemas Operacionais
• Cache: memórias que estão normalmente dentro da CPU ou muito próximas a ela, servem para
guardar informações usadas muito frequentemente pela CPU.
– Dividida em níveis,
– L1: sempre dentro da CPU, menor, mais rápida,
armazena instruções decodificadas para execução da CPU.
– L2: as vezes dentro da CPU as vezes não, maior (MBs), um pouco mais lenta, armazena informações usadas recentemente.
Sistemas Operacionais
• RAM: memória principal, centenas me MBs
ou GBs. As requisições da CPU que não podem ser atendidas pela cache vão para a memória principal.
• ROM, EEPROM, flash RAM: memórias de acesso aleatório não voláteis, tempo de escrita maior, exemplo BIOS, boot.
Sistemas Operacionais
• A camada seguinte disco magnético (disco rígido), custo de armazenamento por bit
muito mais barato, capacidade muito maior, porém o tempo de acesso é normalmente três vezes mais lento, devido a ser um dispositivo mecânico.
Sistemas Operacionais
Sistemas Operacionais
• A última camada da hierarquia de memória;
• Meio muito utilizado como cópia de segurança de discos magnéticos que abriga grandes
quantidade de dados.
• Comuns a grandes empresas normalmente para backup de banco de dados;
• Sua grande vantagem é um custo muito baixo.
Sistemas Operacionais
• Os dispositivos E/S interagem intensivamente com o SO, eles são compostos normalmente pelo controlador e pelo próprio dispositivo. • O controlador é um chip ou um conjunto de
chips que serve para controlar fisicamente o dispositivo. Ele recebe comandos do SO como por exemplo ler e gravar dados.
Sistemas Operacionais
• O dispositivo real. Os dispositivos reais
possuem interfaces relativamente simples, pois isso ajuda na padronização dos
dispositivos.
Exemplo: um controlador IDE (integrated drive eletronics) tem de ser capaz de controlar
qualquer disco IDE.
Sistemas Operacionais
Sistemas Operacionais
• Uma vez que cada controlador é diferente, diferentes programas são necessários para controlá-los esses programas são chamados de drivers de dispositivo.
Sistemas Operacionais
• É o percurso entre dois ou mais componentes de um computador, também chamado de bus. • Possuem componentes para os dispositivos se
conectarem, esses componentes são normalmente chamados de slots.
• Os mais comuns são o PCI, PCI Express, USB, SCSI, IEEE 1394, etc.
Sistemas Operacionais
Sistemas Operacionais
• Quando ligamos nosso computador um programa é executado, ele fica armazenado em uma memória ROM e é responsável por examinar o hardware do sistema e garantir que tudo está funcionando.
• Para isso é realizado um teste chamado POST (Power On Self Test) que verifica CPU, memória, BIOS e todos os componentes internos.
Sistemas Operacionais
• Após feito estes testes, se tudo estiver funcionando um outro programa residente em disco rígido é chamado, o bootstrap loader (sistema de inicialização).
• Este consiste em um pequeno programa que tem por função carregar o SO que está no HD para a memória principal para que o SO comece a operar.