Sistemas Operacionais Aula 3 Software Prof.: Edilberto M. Silva http://www.edilms.eti.br SO - Prof. Edilberto Silva
Barramento Sistemas Operacionais Interliga os dispositivos de E/S (I/O), memória principal e UCP. É também chamado de via de comunicação, onde trafegam dados, endereços e/ou sinais de controle. De acordo com a transmissão, podem ser unidirecionais (um só sentido) ou bidirecionais (em dois sentidos). Barramento de Dados: transmite informações entre as unidades funcionais (MBR). Barramento de Endereços: especifica o endereço da célula a ser acessada (MAR). Barramento de Controle: sinais relativos a leitura/gravação. SO - Prof. Edilberto Silva 2
Barramento Sistemas Operacionais Alguns exemplos de barramentos. VESA PCI PCMCIA USB IRDA Bluetooth SO - Prof. Edilberto Silva 3
Boot Inicialização do Sistema Ao ligar o computador é necessário que o SO seja transferido da memória secundária para a principal. É realizado geralmente por um programa localizado numa posição específica do disco, geralmente o primeiro bloco (setor 0 do disco, boot block, Master Boot Record) com um programa chamado bootstrap. SO - Prof. Edilberto Silva 4
Quais são as etapas anteriores à carga do sistema operacional em um microcomputador? Quando o microcomputador é ligado, realiza o POST (Power On Self Test) que consiste em um conjunto de testes para determinar se o hardware está funcionando corretamente (verificação da RAM, vídeo e outros dispositivos; localizaçãoda unidade de disco de inicialização; etc.). Estes testes são realizados a partir do BIOS (Basic Input Output System), podendo variar conforme cada fabricante. SO - Prof. Edilberto Silva 5
Quais são as etapas anteriores à carga do sistema operacional em um microcomputador? Se o BIOS for compatível com a tecnologia Plug and Play, algumas rotinas adicionais serão realizadas para reconhecimento dos dispositivos. Após a inicialização dos dispositivos, o computador localiza e lê o setor de inicialização, contendo o arquivo carregador, que será carregado para a memória principal e passará a controlar a carga do sistema operacional (boot). SO - Prof. Edilberto Silva 6
Pipelining Sistemas Operacionais processamento pipeline pode ser associado à uma linha de montagem, onde uma tarefa é dividida em uma seqüência de subtarefas, executadas em diferentes estágios, dentro da linha de produção. A UCP executa a instrução em uma série de pequenos passos. SO - Prof. Edilberto Silva 7
Processamento Pipelining SO - Prof. Edilberto Silva 8
Arquitetura CISC x RISC um processador com arquitetura CISC (Complex Instruction Set Computer) se caracteriza por possuir instruções complexas que são interpretadas pelo nível de microprogramação, onde são convertidas em microinstruções. O número de registradores é pequeno e qualquer instrução pode referenciar a memória principal. Exemplos de processadores dessa arquitetura: VAX (DEC), 80x86 e o Pentium (INTEL), 68xxx (Motorola), além da série 360 e todos os mainframes IBM. SO - Prof. Edilberto Silva 9
Arquitetura CISC x RISC Já um processador de arquitetura RISC (Reduced Instruction Set Computer) se caracteriza por possuir poucas instruções de máquina, em geral bastante simples, que são executadas diretamente pelo hardware, sem a necessidade da camada de interpretação. Na sua maioria, estas instruções não acessam a memória principal, trabalhando principalmente com registradores que, neste tipo de processador, se apresentam em grande número. Estas características, além se ajudarem as instruções serem executadas em alta velocidade, facilitam a implementação de pipeline. Exemplos de processadores dessa arquitetura: Sparc (SUN), RS- 6000 (IBM), Alpha AXP (DEC) SO - Prof. Edilberto Silva 10
Software Sistemas Operacionais Trata da camada lógica dos sistemas computacionais. Torna o hardware útil SO - Prof. Edilberto Silva 11
Elementos de Software Tradutor Programas escritos em linguagem de alto nível Menor preocupação com aspectos de hardware (endereços de memória para carga e variáveis). Não executado diretamente, precisam ser traduzidos para um módulo chamado objeto (linguagem de máquina, mas ainda não executável na maioria dos casos, pois podem necessitar de rotinas externas). SO - Prof. Edilberto Silva 12
Elementos de Software Tradutor Toda representação simbólica é traduzida para a linguagem de máquina. Montador: linguagem de montagem (mnemônicos) associada à linguagem de máquina do processador. Ligada diretamente ao processador, diferente, portanto, para cada fabricante. (linguagem assembly). Compilador: linguagem de alto nível, independente de implementação (portável). SO - Prof. Edilberto Silva 13
Elementos de Software Interpretador Traduz mas não gera código objeto. Traduz e executa a instrução logo a seguir. Tempo de execução elevado na tradução das instruções, já que não gera código executável. Exemplos: Basic e dbase. SO - Prof. Edilberto Silva 14
Elementos de Software Linker Gera, a partir de um ou mais códigos objetos, um único código executável. Resolve referências externas utilizando-se de bibliotecas (módulos objetos ou definições de símbolos). Determina a região da memória onde o programa será carregado para ser executado (relocação). Código absoluto: os endereços são resolvidos em tempo de linkedição (inviável em ambientes multiprogamáveis). Código relocável: os endereços serão resolvidos no momento da carga. SO - Prof. Edilberto Silva 15
SO - Prof. Edilberto Silva 16
Elementos de Software Loader Ou carregador, coloca fisicamente o programa na memória. O procedimento varia de acordo com o código gerado pelo linker. Se absoluto: deve ser conhecido o endereço de memória inicial e o tamanho do módulo. Se relocável: pode ser carregado em qualquer lugar da memória. A execução é iniciada logo após a carga. SO - Prof. Edilberto Silva 17
Elementos de Software Depurador Utilizado para encontrar erros de lógica. Permite ao usuário: Acompanhar a execução do programa instrução à instrução. Verificar e alterar valores de variáveis. Criar pontos de parada (breakpoints). Determinar o envio de mensagens quando da alteração de uma variável (watchpoints). SO - Prof. Edilberto Silva 18
Elementos de Software Linguagem de Controle Forma mais direta de se comunicar com o SO. Comandos interpretados pelo shell (interpretador de comandos). Seqüência de comandos em um arquivo (tipo batch). SO - Prof. Edilberto Silva 19
Elementos de Software Linguagem de Máquina Linguagem que o computador realmente consegue entender. Codificada em formato binário. Programas longos com maiores chances de erros. Conjunto de instruções é específico de cada processador. SO - Prof. Edilberto Silva 20
Elementos de Software Microprogramação Para cada instrução em linguagem de máquina, existe um microprograma associado. Normalmente existem 25 microinstruções básicas interpretadas pelos circuitos eletrônicos. Computadores microprogramáveis permitem a criação de novas instruções de máquina com novos microprogramas. Em PC os microprogramas estão gravados em ROM. SO - Prof. Edilberto Silva 21