Sistemas Operacionais

Documentos relacionados
PCS-2529 Introdução aos Processadores. Prof. Dr. Paulo Sérgio Cugnasca

Concorrência....O conceito de concorrência é o princípio básico para o projeto e a implementação dos sistemas operacionais multiprogramáveis.

16/8/2010. A arquitetura de um sistema computacional representa o modelo da organização e funcionamento de um sistema de processamento

SSC510 Arquitetura de Computadores 1ª AULA

Barramento. Prof. Leonardo Barreto Campos 1

Arquitetura e Organização de Computadores

Sistemas de Entrada e Saída

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos

Prof. Gustavo Oliveira Cavalcanti

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira

Organização e Arquitetura de Computadores INTRODUÇÃO

Sistemas de Entrada e Saída

Disciplina: Arquitetura de Computadores

Sistemas Operacionais. Interrupção e Exceção

Arquitetura de Sistemas Operacionais Francis Berenger Machado / Luiz Paulo Maia (Material Adaptado)

Organização e Arquitetura de Computadores I

Introdução. Pedro Cruz. EEL770 Sistemas Operacionais

BARRAMENTO DO SISTEMA. Adão de Melo Neto

Dispositivos de Entrada e Saída

Periféricos possuem características diferentes. Periféricos são mais lentos que UCP e Memória Necessita-se de módulos de Entrada/Saída


William Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 12 Estrutura e função do processador

2. A influência do tamanho da palavra

Dispositivos de Entrada e Saída

Arquitetura e Organização de Computadores

Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação.

Exercícios Cap I. 1.1, 1.2, 1.3 (somente letras (a), (b) e (c)) , 1.8 e 1.12 IC - UFF

SOP - TADS Fundamentos de Sistemas Operacionais

Sistemas de Entrada e Saída

SSC0611 Arquitetura de Computadores

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES

Organização e Arquitetura de Computadores I

Problemas com Entrada e Saída

Unidade Central de Processamento 2. Registradores

2. A influência do tamanho da palavra

Dispositivos de Entrada e Saída

Organização de Computadores Aula 05

Aula 03 - Concorrência. por Sediane Carmem Lunardi Hernandes

Módulo 3 - Estrutura e configuração de Sistemas Operativos monoposto

Introdução aos Sistemas Operacionais

Arquitetura de Computadores. Ciclo de Busca e Execução

AULA 01: APRESENTAÇÃO

Arquitetura e Organização de Computadores

Sistemas Operacionais. Sistema de entrada e Saída

Arquitetura e Organização de Computadores

Estrutura Básica de um Computador

Sistemas Operacionais

William Stallings Arquitetura e Organização de Computadores 8 a Edição

Sistema de entrada e saída (E/S)- Módulos de E/S; tipos de operações de E/S

ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR

Arquitetura e organização de computadores

Sistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Sistemas Operacionais. Processos IC - UFF

Microprocessadores CPU. Unidade de Controle. Prof. Henrique

Fundamentos de Sistemas Operacionais

Nível da Arquitetura do Conjunto das Instruções

Infraestrutura de Hardware. Funcionamento de um Computador

Micro-Arquiteturas de Alto Desempenho. Introdução. Ementa

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software

Arquitetura e Organização de Computadores

SSC0112 Organização de Computadores Digitais I

Os textos nestas caixas foram adicionados pelo Prof. Joubert

Processador. Processador

Entrada/Saída. Capítulo 5. Sistemas Operacionais João Bosco Junior -

Sistemas Operacionais

Gerência de Dispositivos. Adão de Melo Neto

Arquitetura de Computadores. Professor: Vilson Heck Junior (Material: Douglas Juliani)

ARQUITETURA DE COMPUTADORES

INTRODUÇÃO À ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Função e Estrutura. Introdução Organização e Arquitetura. Organização e Arquitetura

ELETRÔNICA DIGITAL II. AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR

Sistemas Operacionais I

18/10/2010. Unidade de Controle Controle. UC Microprogramada

UCP 8051 (parte 02) Professor Adão de Melo Neto

CONJUNTO DE INSTRUÇÕES

Prof. Leonardo Augusto Casillo

Sistemas Operacionais

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização

14/3/2016. Prof. Evandro L. L. Rodrigues

Organização e Arquitetura de Computadores. Leslier S. Corrêa

AGT0001 Algoritmos Aula 01 O Computador

Arquitetura de Computadores - Controle Microprogramado. por Helcio Wagner da Silva

Sistemas Operacionais I

Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas:

Entrada e Saída e Dispositivos

Capítulo 13: Sistemas de E/S. Operating System Concepts with Java 7th Edition, Nov 15, 2006

Sistemas Operacionais

Sistemas Operacionais. BSI / UAB 2013 Hélio Crestana Guardia

INTRODUÇÃO A ARQUITETURA DE COMPUTADORES FELIPE G. TORRES

Evolução dos computadores

Introdução à Ciência da Computação

Parte I Multiprocessamento

Gerência de Dispositivos. Adão de Melo Neto

COMPUTADOR. Adão de Melo Neto

Instruções de Máquina

William Stallings Organização de computadores digitais. Capítulo 11 Estrutura e função da CPU

Arquitetura de Computadores. Revisão Volnys Bernal. Agenda. Revisão: Arquitetura de Computadores. Sobre esta apresentação

Organização de Computadores 1

Aula 12: Memória: Barramentos e Registradores

Transcrição:

Sistemas Operacionais Cristina Boeres página do curso: http://www.ic.uff.br/~boeres/so.html boeres@ic.uff.br

Sistemas Operacionais O que é um SO?! um gerenciador de recursos?! uma interface?! máquina virtual?

Sistemas Operacionais! Revisão: UCP, Memória, Processos e Interrupções! Processos e threads! Gerenciamento de Memória! Memória Virtual! Concorrência! Deadlocks! Escalonamento de Processos! Sistemas de Arquivos

Livro texto Sistemas Operacionais " Operating Systems: Internals and Design Principles, W. Stallings " (http://williamstallings.com/operatingsystems/) Bibliografia Complementar: " Operating Systems Concepts, A. Silberschatz e P.B. Galvin, Wiley " (em português, Sistemas Operacionais em Java, Ed Elsevier)! Modern Operating Systems, A. Tanenbaum and H. Bos, Ed. Prentice Hall

5 Que é um Sistema Computacional? TM

Que é um Sistema Computacional? TM Uma ferramenta, que tem Bom desempenho? Baixo custo? Facilidade de uso?...? Pode ajudar usuários resolver problemas que envolvam Processamento Armazenamento Comunicação 6

Arquitetura X Organização de computadores Arquitetura de computadores refere-se às características visíveis pelo programador conjunto de instruções número de bits de dados mecanismos de E/S modos de endereçamento

Arquitetura X Organização de computadores Organização de computadores refere-se às unidades operacionais e suas interconexões que implementam as características da arquitetura detalhes de h/w como sinais de controle interfaces tecnologia de memória etc

Arquitetura x Organização Especificar se um computador deve ou não ter uma instrução de multiplicação constitui uma decisão de projeto de... Arquitetura Definir se essa instrução será implementada por uma unidade específica de multiplicação ou por um mecanismo que utiliza repetidamente sua unidade de soma é uma decisão de... Organização

Arquitetura x Organização Fabricantes oferecem famílias de modelos, com mesma arquitetura e diferentes organizações custo e desempenho diferentes compatibilidade de código mudança da organização com tecnologia Conclusão uma organização deve ser projetada para implementar uma especificação particular de arquitetura

Estrutura e Função Um computador é um sistema hierárquico máquina multiníveis Em cada nível, o projetista se preocupa com sua estrutura e sua função Estrutura é a forma como os componentes se relacionam Função é a operação de cada componente parte dessa estrutura

Função Funções básicas de um computador são: Processamento de dados Armazenamento de dados Movimentação de dados Controle Comunicação

Visão funcional Visão funcional de um computador Facilidade de armazenamento Equip. de moviment. de dados Mecanismo de controle Ambiente de operação Facilidade de processamento

Estrutura: visão macro Periféricos Computador UCP Memória principal Computador Sistema de comunicação E/S Linhas de comunicação

Estrutura: a UCP UCP E/S Computador Registradores ULA Sistem. Com. Memória UCP Interconexão interna à UCP Unidade de controle

Estrutura: unidade de controle Unid. de controle ULA UCP Barra int. Regist. Unid. controle Seqüenciamento Registradores e decodificadores Memória de controle

Uma pequena revisão revisando pontos importantes... agora queremos entender um ambiente computacional onde vários programas podem ser submetidos e executados ao mesmo tempo

Computador: visão macro

Ciclo de instrução Ciclo de busca Ciclo de execução Início Busca nova instrução Executa Instrução Parada

Ciclo de busca PC contém o endereço da próxima instrução Instrução é buscada e colocada no IR para ser interpretada PC é incrementado (quase sempre!)

Ciclo de execução UCP interpreta instrução e executa ação: UCP memória: transferência de dados UCP E/S: transferência de dados processamento de dados: operação lógica ou aritmética controle: alteração da seqüência de operação combinação dessas ações

Organização da UCP Funções da UCP: buscar instruções interpretar instruções buscar dados processar dados UCP precisa fazer armazenamento temporário: registradores

Registradores Espaço de trabalho temporário Quantidade e função varia entre processadores Uma das principais decisões de projeto Nível superior da hierarquia de memória Classificação: vísiveis restritos controle estado

Registradores visíveis São os que podem ser referenciados através de linguagem de máquina de uso geral (dados e endereçamento) de dados (e.g., acumulador) de endereço: segmento, índice, pilha,... códigos de condição (só leitura)

Registradores de controle e estado visibilidade restrita essenciais: PC, IR, MAR, MBR PSW: Program Status Word códigos de condição = sinal + zero + vai-um + estouro + permissão/inibição de interrupção + modo supervisor/não Outros registradores importantes: SP, apontador de PCB, interrupção vetorizada

Processador: recursos central de controle CPU não deve ficar ociosa princípio de multiprogramação CPU memória Busca nova instrução Executa Instrução

Modos de Execução Modos de execução do processador em relação à entrada E/S programáveis E/S por interrupção DMA ( Direct Memory Acess)

E/S programáveis Usada em alguns microprocessadores mais simples O processador está sempre checando a entrada 1) A instrução de entrada (ou saída) seleciona o dispositivo desejado (registradores podem estar associados a um determinado dispositivo) 2) um caractere é transmitido entre um registrador específico e o dispositivo selecionado 3) uma instrução de entrada (ou saída) deve ser especificada para cada caractere a ser lido (ou escrito)

E/S programáveis dois registradores estão associados a um dispositivo de E/S registrador de estado (de 8 bits): dois bits mais a esq são necessários Registrador de dado 1 _ bit de interrupção: setado por software indica que um caracter chegou: setado por Hardware. Um loop testa se o bit de estado está setado Se positivo, software (SO, por exemplo) lê o caractere para o reg de dado

E/S programáveis Desvantagem de E/S programável: loop é eterno o processador fica em espera ocupada não é desvantagem quando a CPU tem tarefa específica

E/S por interrupção Para evitar a espera ocupada: o dispositivo gera uma interrupção quando necessário. Sinal por hardware - avisa a CPU para iniciar a rotina de E/S Interrupção emitir um sinal para a CPU CPU inicia o tratamento de E/S Avisa ao dispositivo quando acabar de operar reseta o registrador de estado

E/S por interrupção A interrupção pode resolver o problema da espera ocupada, mas todo caractere lido/escrito é seguido de interrupção, o que ainda não é uma boa solução. Solução melhor E/S programável, mas com um dispositivo especifica para realizar esta tarefa: DMA

DMA (Direct Memory Access) chip controlador que acessa diretamente o dispositivo tem pelo menos 4 registradores, carregados por software (série de macro instruções) executada pela CPU. Descrição dos registradores: R1: o endereço de MP de onde serão Lidos/Escritos. R2 : Quantos bytes/palavras serão transferidos. R3 : # do dispositivo ou o espaço de end. da E/S a ser usado. R4 : dado deve ser lido ou gravado.

DMA (Direct Memory Access) Escrever um bloco de 32 bytes do endereço 100 da MP para o terminal (dispositivo 4) 1 inicialização: A CPU escreve os dados nos registradores: R1#100 R2#32 R3#4 R4#WRITE

DMA (Direct Memory Access) Início) O controlador de DMA para ler do endereço R1 como faria a CPU DMA pede ao dispositivo selecionado (dispositivo 4) para efetuar a operação (escrita). DMA incrementa R1 e decrementa R2. Se R2 >0 então volta para Início) Se R2=0: transferência finalizada e um sinal enviado para a linha de interrupção da CPU

DMA (Direct Memory Access) CPU inicializa DMA detecta o sinal de interrupção. Atenção: mesmo usando DMA, a CPU pode ficar esperando, pela lógica do próprio programa sendo executado ou por ter como executar outros processos. Prioridade de acesso ao barramento da MP a DMA tem maior prioridade de acesso aos barramentos de memória. Por que?

Controladores especiais CPU carrega para a MP um programa executa uma instrução de início que indica qual o canal e o dispositivo de E/S a ser acionado o canal acionado restaura o endereço do programa e começa a executá-lo exemplo de instruções executadas pelo canal: READ, WRITE, READ BACKWARD, CONTROL, SENSE, desvios condicionais e HALT

Interrupção Mecanismo pelo qual outros módulos interrompem processamento normal da UCP Basicamente associado a E/S Tipos mais comuns de interrupção: programa (e.g., 0) $ traps temporização $ escalonamento de processo E/S (e.g., fim de escrita em disco) falha de h/w (e.g., falta de energia)

Transferência de controle Programa do usuário Tratador de interrupção 1 2 i i+1 M

Tratador de interrupção Programa que determina a natureza da interrupção e que realiza o tratamento adequado Controle é transferido para este programa após salvamento de algumas informações É parte do sistema operacional

Ciclo de interrupção Ciclo de busca Ciclo de execução Ciclo de interrupção Interrupções inibidas Início Busca nova instrução Executa instrução Verifica interrupção: processa interrupção Interrupções permitidas Parada

Tratamento da interrupção Algum controlador de dispositivo gera uma interrupção H/W UCP termina execução da instrução corrente Salva o resto da informação de estado do processador S/W UCP sinaliza reconhecimento da interrupção Processa interrupção UCP armazena PSW e PC na pilha de controle Restaura a informação de estado do processador UCP carrega novo valor do PC baseada na interrupção Restaura PSW e PC anteriores

Interrupções múltiplas (1) Desabilita outras interrupções: seqüencial UCP ignora outras interrupções enquanto processa uma interrupção interrupções pendentes só são verificadas ao fim do tratamento da interrupção corrente interrupções tratadas na ordem seqüencial de ocorrência Quando terminar o tratamento, as interrupções são habilitadas. Vantagem: simplicidade Desvantagem: falta de critério

Tratamento seqüencial

Interrupções múltiplas (2) Definição de prioridades interrupções de menor prioridade podem ser interrompidas por interrupções de maior prioridade quando há o término do tratamento da(s) de maior prioridade, UCP trata a(s) de menor prioridade

Tratamento com prioridades

Tratamento com prioridades t=0 $ instruções sendo executadas t=10 $ interrupção devido impressora passos de hardware e software t=15 $ rotina de tratamento ainda sendo executada linha de comunicação interrompe rotina é interrompida e estado salvo trata interrupção devido a linha de comunicação t=25 $ termina o tratamento devido a linha de com. restaura o tratamento devido a impressora