Sistemas Operacionais CAP 2: Conceitos de Hardware e Software Prof. MSc. Diego R. Moraes diegorm@anhanguera.com Download de todo conteúdo da disciplina https://sites.google.com/site/diegorafaelmoraes/downloads 1
Hardware Agenda Processador Memórias Dispositivos E/S Software Tradutor Interpretador Linker Loader Depurador Exercícios 2
Sistema Computacional? 2.2. Hardware É um conjunto de circuitos eletrônicos interligados Processador, memórias, registradores, barramentos, monitor, impressora, mouse, etc Manipulam dados de forma digital 3 subsistemas (unidade funcional): 3
Hardware Agenda Processador Memórias Dispositivos E/S Software Tradutor Interpretador Linker Loader Depurador Exercícios 4
2.2. Hardware Processador OU Unidade Central de Processamento (UCP) Gerencia todo o sistema computacional Controla/Executa instruções da memória principal Operações: somar, subtrair, comparar, mover Cada processador é composto por: Unidade de Controle (UC) Unidade Lógica e Aritmética (ULA) Registradores Sincronização por sinal de clock Gerado por um cristal de quartzo (oscilando) 5
2.2. Hardware Processador Unidade de Controle (UC) Gerenciar as atividades dos componentes Gravar em disco, ler memória Unidade Lógica e Aritmética (ULA) Operações lógicas (testes e comparações) Operações aritméticas (somas e subtrações) Registradores Funciona: memória interna de alta velocidade Armazena dados temporariamente Capacidade reduzida e maior custo do que RAM 6
Hardware Agenda Processador Memórias Dispositivos E/S Software Tradutor Interpretador Linker Loader Depurador Exercícios 7
2.2. Hardware Memória Principal/Primária/Real Onde são armazenados as instruções e dados Composta por células: tamanho em bits Bit: unidade básica de memória (0 ou 1) Acesso ao conteúdo? Endereços (0 a 2 n-1 ) Volátil RAM (Random Access Memory) Não Volátil ROM (Read-Only Memory) 8
2.2. Hardware Memória Cache Memória volátil: Alta velocidade (mais que a RAM) Baixo armazenamento (muito menos que RAM) Alto custo Objetivo: Minimizar a disparidade entre as velocidades: Que o processador executa instrução Que dados são lidos/gravados na RAM Hierarquia em níveis (levels): L1: baixo armazenamento, alta velocidade L2: maior armazenamento, menor velocidade Pode ser projetado com mais níveis 9
Memória Secundária 2.2. Hardware Memória NÃO volátil: Baixa velocidade (menos que a RAM) Alto armazenamento (muito mais que RAM) Baixo custo Velocidade de acesso as memórias: Primárias à nanosegundos Secundárias à milissegundos Exemplos: Fita magnética, disco magnético e disco óptico 10
2.2. Hardware Relação entre armazenamentos 11
Hardware Agenda Processador Memórias Dispositivos E/S Software Tradutor Interpretador Linker Loader Depurador Exercícios 12
2.2. Hardware Dispositivos Entrada e Saída E/S Comunicação entre: Sistema computacional Mundo externo 2 categorias: Memória secundária discos magnéticos, fitas magnéticas etc Interface usuário-máquina (homem-máquina) Teclado, mouse, caneta óptica, scanner, impressoras, touch-screen, voz etc 13
Barramento ou Bus 2.2. Hardware É um meio de comunicação compartilhado entre as unidades funcionais e um sistema computacional Através de condutores: As informações (dados, endereços, sinais de controle) Trafegam entre processadores, memórias e E/S Para transmitir informações, possui: Linhas de controle Sinalização, ex: tipo de operação Linhas de dados Instruções, operandos e endereços 14
Barramento ou Bus 2.2. Hardware 15
Pipelining 2.2. Hardware É uma técnica que permite que o processador execute múltiplas instruções paralelamente em estágios diferentes Conceito semelhante a linha de montagem, onde uma tarefa é dividida em sequência de subtarefas 16
Hardware Agenda Processador Memórias Dispositivos E/S Software Tradutor Interpretador Linker Loader Depurador Exercícios 17
2.3. Software Para que o hardware tenha utilidade prática Precisamos de um conjunto de programas Utilizados como interface entre: Necessidades do usuário Capacidade do hardware 18
Tradutor 2.3. Software Primeiros sistemas computacionais: Programar era complicado Programador precisava conhecer a arquitetura Programava com fios em painéis Surgimento: Linguagens de montagem (Assembly) Linguagens de alto nível Pascal, FORTRAN e COBOL Programador não se preocupa mais com hardware Facilita a construção, documentação e manutenção 19
Tradutor 2.3. Software Apesar das vantagens dessas linguagens Os programas não estão prontos para serem diretamente executados pelo processador Precisam de uma etapa de conversão Símbolos das instruções são traduzidos para código de máquina Esta conversão é realizada por um utilitário denominado TRADUTOR 20
2.3. Software Tradutor Montador: linguagem particular para cada processador. Não pode executar em máquinas diferentes. Compilador: sem detalhes da arquitetura do processador. Sim, executa em diferentes fabricantes. 21
2.3. Software Interpretador É um tradutor que não gera módulo objeto (.exe) Entrada: programa-fonte em ling. alto nível Traduz e executa cada instrução Ex: Basic, Perl e HTML Desvantagem: Tempo gasto na tradução em toda execução Já que não existe geração de executável (.exe) Vantagem: Implementar tipos de dados dinâmicos Que mudam durante a execução 22
Linker ou editor de ligação 2.3. Software Responsável por gerar: a partir de um ou mais módulos-objetos um único programa executável Funções básicas: Resolver todas as referências dos módulos Usa bibliotecas Reservar memória Relocação 23
Loader ou carregador 2.3. Software Carrega na memória o programa a ser executado Carga varia com o código gerado pelo linker Loader absoluto: Precisa do endereço inicial da memória E tamanho do módulo Loader relocável: Programa pode ser carregado em qualquer posição da memória» SO multiprogramáveis» Memória compartilhada 24
Depurador ou debugger 2.3. Software Acompanhar a execução de um programa A fim de detectar erros de lógica Recursos como: Acompanha instrução por instrução Visualização/alteração do valor de variáveis Pontos de parada (breakpoint), ou seja, durante a execução o programa para nesse ponto 25
Hardware Agenda Processador Memórias Dispositivos E/S Software Tradutor Interpretador Linker Loader Depurador Exercícios 26
Livro: MACHADO, F. B; MAIA, L. P. Arquitetura de Sistemas Operacionais. 4ª ed. Rio de Janeiro: LTC - Livros Técnicos e Científicos, 2014. Capítulo 2: Conceitos de Hardware e Software Exercícios: 1 até 3; 6 até 7; 10; 17 até 20 A seguir os enunciados. Exercícios DICA: Além dos slides, é CRUCIAL utilizar o livro. Leia o livro e responda com suas palavras. 27
Exercícios 1) Quais são as unidades funcionais de um sistema computacional? 2) Quais os componentes de um processador e quais são suas funções? 3) Como a memória principal de um computador é organizada? 6) O que são memórias voláteis e não voláteis? 7) Conceitue memória cache e apresente as principais vantagens no seu uso 28
Exercícios 10) Quais as diferenças entre a memória principal e a memória secundária? 17) Por que a execução de programas interpretados é mais lenta que a de programas compilados? 18) Quais as funções do linker? 19) Qual a principal função do loader? 29) Quais as facilidades oferecidas pelo depurador? 29
Hardware Agenda Processador Memórias Dispositivos E/S Software Tradutor Interpretador Linker Loader Depurador Exercícios 30
Bibliografia 1. MACHADO, Francis Berenger; MAIA, Luiz Paulo (orgs.). Arquitetura de Sistemas Operacionais. 4ª ed. Rio de Janeiro: LTC - Livros Técnicos e Científicos, 2014. 2. TANENBAUM, Andrew S. Sistemas operacionais modernos. 3ª ed. São Paulo: Pearson - Prentice Hall, 2013. 3. DEITEL, Paul J.. Sistemas operacionais. 3ª ed. São Paulo: Pearson - Prentice Hall, 2014. 31
Sistemas Operacionais CAP 2: Conceitos de Hardware e Software FIM Prof. MSc. Diego R. Moraes diegorm@anhanguera.com Download de todo conteúdo da disciplina https://sites.google.com/site/diegorafaelmoraes/downloads 32