Sistemas Operacionais Conceitos de Hardware e Software CONCEITOS BÁSICOS • Hardware – Processador, memória principal, cache e memória secundária – Dispositivos de E/S e barramento – Pipelining e arquiteturas RISC e CISC – Análise de desempenho • Software – – – – Tradutor, interpretador e linker Loader e depurador Interpretador de comandos e linguagem de controle Ativação/desativação do sistema Prof. Fabiano Sabha | www.fabianosabha.com.br | [email protected] HARDWARE • Sistema computacional Processador / UCP Unidade Lógica e Aritmética Unidade de Controle Memória Principal Registradores Dispositivos de E/ S Prof. Fabiano Sabha | www.fabianosabha.com.br | [email protected] PROCESSADOR • • • • • Unidade Central de Processamento (UCP) Unidade de Controle (UC) Unidade Lógica e Aritmética (ULA) Clock Registradores – CI ou PC – AP ou SP – PSW (registrador de status) Prof. Fabiano Sabha | www.fabianosabha.com.br | [email protected] MEMÓRIAS • Memória Principal É a memória “real” onde são armazenados instruções e dados. • Memória Cache É uma memória volátil de alta velocidade. • Memória Secundária É o meio permanente de Armazenamento Prof. Fabiano Sabha | www.fabianosabha.com.br | [email protected] MEMÓRIA PRINCIPAL COM 64 Kbytes 0 instrução ou dado 1 endereços 2 Vide Tabela 2.1 Ciclo de leitura e gravação 16 2 -1 célula = 8 bits Prof. Fabiano Sabha | www.fabianosabha.com.br | [email protected] RELAÇÃO ENTRE OS DISPOSITIVOS DE ARMAZENAMENTO Registradores Memória Cache maior capacidade de armazenamento Memória Principal Memória Secundária Prof. Fabiano Sabha | www.fabianosabha.com.br | [email protected] maior custo e velocidade de acesso BARRAMENTO O barramento ou Bus é um meio de comunicação compartilhado, permite a comunicação entre as unidades funcionais de um sistema computacional. São classificados em 3 tipos: Processador-memória Barramento de I/O Barramento de Backplane Prof. Fabiano Sabha | www.fabianosabha.com.br | [email protected] BARRAMENTO PROCESSADOR-MEMÓRIA • Curta extensão e alta velocidade •Otimiza a transferencia de informação (processador x memória) BARRAMENTO DE ENTRADA E SAIDA • Longa extensão e baixa velocidade • Permite a conexão de diferentes dispositivos BARRAMENTO DE BACKPLANE • Utiliza um “Terceiro” Barramento • Para sistemas de alto desempenho Prof. Fabiano Sabha | www.fabianosabha.com.br | [email protected] BARRAMENTO S: PROCESSADOR-MEMÓRIA E DE E/S Memória Principal UCP Barramento processador-memória Adaptador Barramento de E/ S Barramento de E/ S Adaptador Prof. Fabiano Sabha | www.fabianosabha.com.br | [email protected] BARRAMENTO DE BACKPLANE Memória Principal UCP Barramento processador-memória Barramento de backplane Adaptador Adaptador Barramento de E/ S Barramento de E/ S Adaptador Prof. Fabiano Sabha | www.fabianosabha.com.br | [email protected] PIPELINING •É a técnica que permite ao processador executar múltiplas instruções paralelamente em estágios diferentes. •Pode ser empregada em sistemas com um ou mais processadores •É a técnica de paralelismo mais utilizada Prof. Fabiano Sabha | www.fabianosabha.com.br | [email protected] PIPELINING ( 4 estágios) P1 P2 P3 P4 Unidade de busca da instrução Analisador da instrução Unidade de busca dos dados Unidade de execução da instrução P1 Instr.1 Instr.2 Instr.3 Instr.4 Instr.5 Instr.6 Instr.7 P2 Instr.1 Instr.2 Instr.3 Instr.4 Instr.5 Instr.6 P3 Instr.1 Instr.2 Instr.3 Instr.4 Instr.5 P4 Instr.1 Instr.2 Instr.3 Instr.4 tempo Prof. Fabiano Sabha | www.fabianosabha.com.br | [email protected] ARQUITETURAS RISC e CISC RISC Poucas Instruções e simples Instruções executadas diretamente pelo hardware Na maioria das instruções, a mem.principal não é acessada Vantagens Ganho de velocidade E facilidade de pipelining Prof. Fabiano Sabha | www.fabianosabha.com.br | [email protected] ARQUITETURAS RISC e CISC CISC Instruções Complexas Instruções interpretadas por microprogramas Qualquer instrução acessa a mem.principal Desvantagens Menor velocidade Pipelining mais dificil Prof. Fabiano Sabha | www.fabianosabha.com.br | [email protected] MÁQUINA DE NÍVEIS Aplicativos Utiltários Sistema Operacional Arquitetura RISC Linguagem de Máquina Microprogramação Circuitos Eletrônicos Prof. Fabiano Sabha | www.fabianosabha.com.br | [email protected] RISC & CISC Arquitetura RISC Arquitetura CISC Poucas Instruções Muitas Instruções Instruções executadas pelo Hardware Instruções executadas por microcódigo Instruções com formato fixo Instruções com diversos formatos Instruções utilizam poucos ciclos de máquina Instruções utilizam Múltiplos ciclos Instruções com poucos modos de endereçamento Instruções com diversos modos de endereçamento Arquitetura com muitos registradores Arquitetura com poucos registradores Arquitetura pipelining Pouco uso da técnica de pipelining Prof. Fabiano Sabha | www.fabianosabha.com.br | [email protected] SOFTWARE Conjunto de programas utilizado como interface entre as necessidades do usuário e a capacidade do hardware. • Tradutor • Interpretador • Linker • Loader • Depurador Prof. Fabiano Sabha | www.fabianosabha.com.br | [email protected] TRADUTOR • Traduz de a representação simbólica em código de máquina. • É gerado um módulo pelo tradutor, chamado móduloobjeto, (na maioria das vezes não pode ser executado, depende de chamadas externas “linkers”) • Dependendo do programa-fonte são gerados 2 tipos de módulos-obejto: • Montador - Traduz o programa fonte em nãoexecutável • Compilador - Traduz o programa fonte em executável Prof. Fabiano Sabha | www.fabianosabha.com.br | [email protected] TRADUTOR : MONTADOR & COMPILADOR programa fonte Tradutor programa objeto Compilador Prof. Fabiano Sabha | www.fabianosabha.com.br | [email protected] INTERPRETADOR • É considerado um tradutor que não gera módulo-objeto • Exemplo: Basic •Maior desvantagem: Tempo gasto na tradução do programa toda vez que for utilizado. Prof. Fabiano Sabha | www.fabianosabha.com.br | [email protected] LINKER • Utilitário responsável por gerar, a partir de um ou mais módulos-objeto, um único executável. • outra função: realocação, determina qual a região de memória o programa será carregado. Prof. Fabiano Sabha | www.fabianosabha.com.br | [email protected] LOADER • Carregar na memória principal um programa para ser executado • Loader absoluto – conhecer apenas o endereço de memória inicial e o tamanho do módulo • Loader relocável – Pode ser carregado em qualquer posição de memória. Prof. Fabiano Sabha | www.fabianosabha.com.br | [email protected] DEPURADOR • Permite acompanhar a execução de um programa e detectar erros • Visualização e alteração de variáveis • Breakpoints (pontos de parada) • Watchpoints (alteração de variáveis) Prof. Fabiano Sabha | www.fabianosabha.com.br | [email protected]