Sistemas Operacionais Prof. Pedro Luís Antonelli Anhanguera Educacional HARDWARE Hardware – Sistema Computacional = conjunto de circuitos eletrônicos interligados formado por processador, memória, registradores, barramentos, monitores, impressoras, mouses, discos, etc. (MACHADO/MAIA, 2007) – Unidades Funcionais = processador, memórias e dispositivos de E/S MACHADO, fig.2.1, pag 25 – Sistema computacional HARDWARE TANENBAUM, A. S., Sistemas Operacionais Modernos, 2003. PROCESSADOR CPU – Unidade Central de Processamento ◦ Gerencia todo o sistema computacional ◦ Controla as funções das unidades funcionais ◦ Controla e executa instruções presentes na memória principal ◦ Processador é composto de ULA – Unidade Lógica Aritmética – Realiza operações lógicas e aritméticas UC – Unidade de Controle – Gerencia atividades dos componentes Registradores – Dispositivos com função de armazenar dados temporariamente CI – Controlador de instruções (PC) AP – Apontador de pilha (SP) PSW – Registrador de status HARDWARE Memória Principal – Primária ou Real • Armazena instruções e dados • Composta por unidades de acesso = células (8 bits) • Endereço – número específico de acesso a conteúdo de células – MAR – Registrador de Endereço de Memória – MBR – Registrador de Dados da Memória – RAM – Random Access Memory – volátil – ROM – Ready Only Memory – não volátil – EPROM – Eraseble Programable ROM – não volátil HARDWARE • Memória Principal MACHADO, fig.2.2, pag 26 – Memória principal com 64 Kbytes HARDWARE Memória Cache – Memória volátil de alta velocidade – Pequena capacidade de armazenamento – Minimizar disparidade entre a velocidade do processador e a velocidade em que os dados são acessados na memória principal – Alto custo HARDWARE Memória Secundária ◦ ◦ ◦ ◦ ◦ Meio permanente de armazenamento Não volátil Acesso lento Custo baixo Grande capacidade de armazenamento Disco rígido (HD) Memórias flash (pen drive, cartão) Disquetes Fita DAT CD, DVD, HDDVD, BlueRay etc... HARDWARE Relação entre Dispositivos de Armazenamento MACHADO, fig.2.3, pag 29 – Relação entre dispositivos de armazenamento HARDWARE Tempo de acesso entre Dispositivos de Armazenamento TANENBAUM, fig.1.7, pag 18 – Uma típica hierarquia de memória HARDWARE Dispositivos de Entrada/Saída E/S (IO – Input/Output) – Função é permitir a comunicação entre o sistema computacional e o mundo externo • Memória secundária – Discos magnéticos, discos ópticos, fitas • Interface com o usuário – Teclado, mouse, monitor, impressora, auto-falantes HARDWARE Barramento – BUS – Meio físico de comunicação entre as unidades funcionais de um sistema computacional – Possuem linhas de controle e linhas de dados – Processador – Memória (PCI) – Entrada/Saída (SCSI) – Backbone MACHADO, fig.2.4, pag 30 – Barramentos processador-memória e de E/S HARDWARE Pipelining ◦ Técnica que permite ao processador executar múltiplas instruções paralelamente em estágios diferentes ◦ Linha de montagem ◦ Técnica de paralelismo mais usada para aumentar o desempenho do sistema MACHADO, fig.2.6, pag 31 – Arquitetura pipeline com quatro estágios HARDWARE Arquiteturas RISC e CISC – Linguagem de máquina – entendida pelo processador – Microprogramas – definem a linguagem de máquina MACHADO, fig.2.7, pag 33 – Máquina de níveis HARDWARE RISC – Reduced Instruction Set Computer – Um programa em linguagem de máquina é executado diretamente no hardware – Poucas instruções de máquina executadas diretamente pelo hardware – Exemplo • • • • SPARC (Sun) RS-600 (IBM) PA-RISC (HP) Alpha AXP (Compaq Rx000 (MIPS) HARDWARE CISC – Complex Instruction Set Computers – Um programa em linguagem de máquina NÃO é executado diretamente no hardware. Precisam de microprogramas – Instruções complexas interpretadas por microprogramas – Exemplo • • • • VAX (DEC) X86 Pentium (Intel) 68xx (Motorola) SOFTWARE Tradutor – Conversão de toda representação simbólica de instruções ( código fonte) para o código de máquina. – Compilador – utilitário responsável por gerar, a partir de um programa escrito em linguagem de alto nível, um programa em linguagem de máquina não executável – Montador – utilitário responsável por traduzir um programa fonte em linguagem de montagem em programa objeto não executável SOFTWARE Interpretador – Tradutor que não gera módulo-objeto – Traduz cada comando e executa – Desvantagem • Tempo na tradução – Vantagem • Dados dinâmicos – Exemplos • Basic SOFTWARE Linker – Editor de Ligações – Gera, a partir de um ou mais módulos objeto, um único programa executável MACHADO, fig.2.9, pag 36 – Linker SOFTWARE Loader ◦ Utilitário que carrega na memória principal o programa que será executado Depurador ◦ Utilitário responsável por localizar erros e correções Interpretador de Comandos ◦ SHELL – Permite que o usuário se comunique com o sistema operacional Linguagem de Controle ◦ Conjunto de comandos disponíveis pelo interpretador de comandos SOFTWARE - Linguagens Interpretadas e compiladas. - E a Java? É compilada ou interpretada? SOFTWARE - Linguagens Interpretadas e compiladas. - E a Java? É compilada ou interpretada? Resposta: Os dois ! - Primeiramente compilada para um código intermediário ( bytecode) que não pode ser executado diretamente; - Em seguida esse bytecodes são interpretados pela Maquina Virtual Java para comandos específicos daquele sistema operacional. BIBLIOGRAFIA • MACHADO, F. B. & MAIA, L. P., Arquitetura de Sistemas Operacionais, 4 Edição, São Paulo, LTC, 2007. • TANENBAUM, A. S., Sistemas Operacionais Modernos, São Paulo,Pearson, Brasil, 2003.