Sistemas Operacionais Aula 03 1 PLANEJAMENTO 1- Conceitos Básicos: Visão geral de um S.O. Funções Básicas Máquina de Camadas Tipos de Sistemas Operacionais 2- Conceitos Básicos: Hardware e Software Hardware Processador Memórias Dispositivos de I/O Barramento Pipelining Arquiteturas RISC e CISC Prof. Fabiano Sabha PLANEJAMENTO 2- Conceitos Básicos: Hardware e Software (continuação) Software Tradutor Interpretador Linker Loader Depurador 3- Conceitos Básicos: Concorrência Sistemas Monoprogramáveis x Multiprogramáveis Interrupções e Exceções Operações de I/O Buffering Spooling Reentrância Prof. Fabiano Sabha PLANEJAMENTO 4- Conceitos Básicos: Estrutura do S.O. Funções do Núcleo Modo de Acesso Rotinas do S.O. e system Calls Chamada de rotinas do S.O Linguagem de Comandos Ativação / desativação do Sistema Arquiteturas do Núcleo 5- Processos Estrutura do Processo Estados do Processo Mudança de Estados Criação e Eliminação de Processos Formas de Criação de Processos Prof. Fabiano Sabha Sistemas Operacionais Conceitos de Hardware e Software Cap. 2 – PLT pág. 24 5 • 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 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 PROCESSADOR • • • • • Unidade Central de Processamento (UCP) Unicade 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 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 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 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 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 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 BARRAMENTO S: PROCESSADOR-MEMÓRIA E DE E/S Memória Principal UCP Barramento processador-memória Prof. Fabiano Sabha Adaptador Barramento de E/ S Barramento de E/ S Adaptador BARRAMENTO DE BACKPLANE Memória Principal UCP Barramento processador-memória Barramento de backplane Adaptador Prof. Fabiano Sabha Adaptador Barramento de E/ S Barramento de E/ S Adaptador 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 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 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 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 MÁQUINA DE NÍVEIS Aplicativos Utiltários Sistema Operacional Arquitetura RISC Linguagem de Máquina Microprogramação Circuitos Eletrônicos Prof. Fabiano Sabha 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 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 TRADUTOR • Traduz de a representação simbólica em código de máquina. • É gerado um módulo pelo tradutor, chamado módulo-objeto, (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ão-executável • Compilador - Traduz o programa fonte em executável Prof. Fabiano Sabha TRADUTOR : MONTADOR & COMPILADOR programa fonte Tradutor Compilador Prof. Fabiano Sabha programa objeto 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 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 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 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