Capítulo 3 Entrada/Saída

Tamanho: px
Começar a partir da página:

Download "Capítulo 3 Entrada/Saída"

Transcrição

1 Capítulo 3 Entrada/Saída 3.1 Princípios do hardware de E/S 3.2 Princípios do software de E/S 3.3 Camadas do software de E/S 3.4 Impasses 3.5 Discos 3.6 Terminais com base em caracteres 1 Introdução O controle da E/S é uma das tarefas centrais de um sistema operacional, que: emite comandos para os controladores de dispositivo, processa interrupções e trata de erros esconde detalhes específicos dos diferentes dispoitivos para o resto do S.O. através de uma interface uniforme tenta paralelizar E/S e processamento da CPU/Memória para minimizar latência e maximizar vazão de dados no acesso aos dispositivos de E/S controla o acesso concorrente dos dispositivos O sub-sistema de E/S consiste de duas camadas: Software independente dos dispositivos (para cada classe de dispositivo) Software dependente do dispositivo (drivers) 2 1

2 Tipos de Dispositivo O Dispositivo de E/S é definido por: Conjunto de comandos básicos disponibilizados As funções que executa As mensagens de status/erro que emite Existem os seguintes tipos de dispositivo: Dispositivos de bloco = transferem ou armazenam dados em blocos de tamanho fixo, cada bloco possui um endereço e cada bloco pode ser acessado independentemente (acesso aleatório). Exemplos: Discos (SCSI, IDE), CD/DVD, Fitas, SSDs Dispositivos de caractere = lê ou escreve uma sequência de caracteres. Cada caractere não possui endereço e não pode ser acessado aleatoriamente. Para cada caractere (ou conjunto pequeno deles), é gerada uma interrupção. Exemplos: Teclado, Mouse, etc. Interfaces de Rede: Exemplos: Ethernet, linha serial, WLAN, WMAN Obs: Esta classificação é apenas geral: nem todo dispositivo de E/S se enquadra exatamente nessas 2 categorias. Por exemplo: Fitas de backup, Relógio, Vídeo mapeado em memória, etc. 3 Categorias de Dispositivos Outra classificação# Para Interação Homem-Computador Teclado, mouse, Display Impressoras Para armazenamento e processamento interno Discos Pen-drives Sensores Controladores Atuadores Para comunicação remota Interfaces de rede (Ethernet, , Bluetooth, ) Modems 2

3 Controladores de Dispositivos Partes de dispositivos de E/S Componente eletro-mecânico (motor, engrenagem, cabeçote magnético, sensores, etc.) controlador do dispositivo (um Circuito integrado ou processador) A interface de hardware (pinos) entre o controlador e a componente mecânica é padronizada (ISO, SCSI, IDE) Um controlador pode fazer o controle conjunto de vários dispositivos (componentes eletro-mecânicas) Tarefas do controlador converter fluxo serial de bits em conjuntos de bytes Verificação da consistência dos dados (bits de pariadade) e correção de erros Bufferização: agrupar bloco de bytes para transferência para a memória principal Do ponto de vista conceitual, o controlador é o dispositivo de E/S. 7 Arquitetura Conceitual Conceitualmente, é como se houvesse conexão direta entre CPU/ Memória com todos os controladores Em arquiteturas reais, existem vários barramentos e processadores dedicados para tirar a carga da CPU principal e servir de ponte entre os barramentos 8 3

4 Arquitetura Real Arquitetura de um Pentium 9 Controladores de Dispositivos Cada controlador possui alguns registradores que são usados para fazer o controle da E/S (da parte eletro-mecânica) e para emitir informações sobre status e condições de erro. Os registradores abaixo compõe uma porta de E/S: Reg. de status (bits) Reg. de controle (bits) Reg. de entrada de dados (1-4 bytes) Reg. de saida de dados (1-4 bytes) Em algumas arquiteturas, o espaço de endereçamento da memória RAM e das portas de E/S é único (E/S mapeada em memória) Exemplo: Motorola 680x0 Em outras arquiteturas, existe um espaço de endereçamento específico para E/S (fora da memória), usado apenas pelos controladores. A associação de um endereço com a porta de E/S de um controlador é feita no circuito de decodificação de endereços do barramento. 10 4

5 E/S mapeada na memória Espaços de memória e E/S separados As instruções de E/S (com esses endereços) ativam linhas do barramento para selecionar o dispositivo e transferir os bits de/para registradores da porta de E/S. E/S mapeada na memória: Portas de E/S do dispositivo estão mapeados no espaço de endereçamento do processador. Driver executa instruções para ler e escrever nas portas (=nos registradores da controladora) Híbrido: alguns dispositivos usam portas separadas e também espaço mapeado na memória ( controlador gráfico) 11 Endereços de Portas de E/S em um PC 12 5

6 Interação CPU-Controlador Funcionamento básico: CPU (executando o driver) inicia E/S: escreve instruções (que especificam byte/palavra a ser escrita em uma porta de E/S). Por exemplo, instruções assembly IN Reg,Port, e OUT Reg,Port O controlador gera interrupções (e.g. IRQ = Interrupt ReQuest line), avisando quando seus registradores podem ser lidos/escritos ou quando a E/S foi finalizada Tratador de interrupção (parte do driver) verifica status/erro e faz a transferência do próximo byte (entre Controladora e Memória) 13 Direct Memory Access (DMA) Em várias arquiteturas existe um componente de HW dedicado à transferência direta de blocos de dados para a memória - Direct Memory Access (DMA): Evita que a CPU tenha que executar o loop para transferência do bloco de/para a memória principal. CPU apenas inicia E/S informando: endereço inicial na memória, endereço do bloco no disco, número de bytes a serem transferidos. 17 6

7 Componentes da controladora DMA Acesso Direto à Memória (DMA) Fig.: Operação de uma transferência com DMA (iniciada pela CPU) 19 7

8 Funcionamento do DMA Passo a passo de transferência de dados do dispositivo para a memória usando DMA 20 Acesso Direto à Memória (DMA) Uma controladora de DMA acessa a memória diretamente: não têm noção de memória virtual Duas alternativas: Cópia dos dados para buffer no driver e posterior cópia para área do processo Cópia dos dados diratemente um endereço do processo, mas então precisa-se garantir que a(s) páginas destino permaneçam na memória (não sejam swapped out) 21 8

9 Configurações de uso de DMA Uma controladora de DMA pode servir vários dispositivos: Exemplo: ISA DMA controller possui 8 canais DMA. Cada canal DMA possui um address register, um count register, um control register. Controladores são associados estaticamente ou dinamicamente a um canal de DMA. Saida (Escrita em Impressora) Passos da impressão de uma cadeia de caracteres 23 9

10 E/S Programada com Polling Software de E/S (driver) consulta repetidamente o status do dispositivo para saber quando dispositivo está pronto (pronto pare receber comando/dados) Exemplo: Escrita de uma cadeia de caracteres para a impressora usando E/S programada Obs: p[] o vetor de caracteres na memória e printer_data_register e printer_status a porta da controladora da impressora. 24 E/S Orientada à Interrupção Interrupções ajudam a detectar quando uma operacão de E/S está finalizada. Gerenciamento é implementado pela interação entre o device driver e o procedimento de tratamento de interrupcões. Escrita de uma cadeia de caracteres para a impressora usando E/S orientada à interrupção a) Código executado quando é feita a chamada ao sistema para impressão b) Rotina de tratamento de interrupção 25 10

11 E/S Usando DMA Impressão de uma cadeia de caracteres usando DMA a) Código executado quando quando é feita a chamada ao sistema para impressão b) Rotina de tratamento de interrupção 26 Menor envolvimento da CPU Seja uma transferência de 6208 bytes de uma controladora para a memória, com um barramento PCI de 32 bits e DMA com buffer de 1KB. Número de interrupções da E/S sofridas pela CPU sem e com DMA: Sem DMA: 1552 (= 6208/4) Com DMA: 7 (6x transf x 64) 27 11

12 Princípios do Software de E/S Objetivos do Software de E/S (1) Independência de dispositivo Programas podem acessar qualquer dispositivo de E/S sem especificar previamente qual tipo/modelo/ fabricante do dispositivo Nomeação uniforme Em Unix, accesso a drivers por aplicações em modo usuário através do sistema de arquivos (dispositivos representados como arquivos especiais a serem abertos) Exemplos: /dev/hda /dev/hdb /dev/ttya Tratamento de erro Erros devem ser tratados o mais próximo possível do hardware 29 Objetivos do Software de E/S (2) Transferências Síncronas vs. Assíncronas transferências bloqueantes vs. orientadas a interrupção utilização de buffers para armazenamento temporário dados provenientes de um dispositivo muitas vezes não podem ser copiados diretamente para o destino final (memória do processo) Gerenciar o acesso concorrente (e otimizado) a dispositivos compartilhados Disco, monitor, teclado, mouse e rede são dispositivos de E/S compartilhados unidades de fita não são 30 12

13 Camadas do Software de E/S Fig.: Camadas do software de E/S 31 Modelo de Operação de E/S 13

14 Drivers de Dispositivo Características/Tarefas dos Drivers: Software para controle básico do controlador do dispositivo Geralmente realizam o tratamento de interrupções geradas pelo dispositivo Encapsula as especificidades de controle do dispositivo Para alguns dispositivos mantém uma fila de requisições pendentes Para discos, traduz requisições lógicas (leia bloco x) em comandos específicos da controladora (p.exemplo: mova para cilindro 3; leia a transfira dados dos setores da trilha 6) Espera a chegada de interrupção, verifica integridade dos dados e transfere dados de/para a região de memória do processo 33 Drivers de Dispositivos Drivers escrevem e lêm as portas de E/S (comandos específicos, parâmetros de controle e estado do dispositivo) Quando sistema é carregado, cada driver: Se registra junto ao núcleo e verifica se o controlador do seu dispositivo está conectado (ativo). Se não, o driver simplesmente permanece inativo

15 Drivers de Dispositivo Disponibiliza uma interface API padrão (de sistema de arquivos) para o restante do sistema As operações sobre arquivos open(), read(), write(), close(), seek(), release(), mmap() etc. são mapeadas para os procedimentos específicos de cada driver. Cada dispsoitivo possum um: major device number = indice para uma Device Diver Table e um minor device number = parâmetro que caracteriza o aparelho (mas interpretação pode variar de driver para driver) 35 Drivers de Dispositivo É um software que é ligado ao núcleo (e muitas vezes executa em modo supervisor) Drivers fazem uso dos serviços do núcleo como alocação de memória, tratamento de interrupção, buffers e filas de espera Não fazem uso de memória virtual! Driver não pode confiar que o processo solicitante esteja na memóra: por isso, as estruras de dados e os buffers ficam em memória do núcleo

16 Dispositivo Disco Geometria física: menos setores nas trilhas internas Geometria lógica: mesma quantidade de setores por trilha 38 Software de E/S Independente de Dispositivo Implementa funções e estruturas de dados usadas por vários tipos de E/S e fornece uma interface uniforme para as aplicações. Funções típicas do software de E/S independente de dipositivo API uniforme para os drivers dos dispositivos Armazenamento em buffer Relatório dos erros Alocação e liberação de dispositivos dedicados Define tamanho de bloco único, independente de dispositivo 39 16

17 API e nomes uniformes Drivers precisam implementar uma interface abstrata (API) uniforme. Isso permite instalar novos drivers API para block devices: open, close, strategy, size e xhalt; API para character devices: open, close, read, write, ioctl, mmap, segmap, xpoll, xhalt Chamadas de E/S como as de arquivos simplifica o uso Nome do arquivo especial (em /dev) é representado por um v- node Entrada de v-node contém: Major device number = referência ao driver Minor device number = parâmetro do driver (a unidade do dispositivo) Bits de controle de acesso rwx também definem as permissões de acesso ao dispositivo 40 Arquivos Especiais (em Unix) Para dispositivos de caracter e de bloco: /dev/tty0, tty1!- Terminal devices! /dev/hda, hdb!!- hard drives! /dev/console!!! Para dispositivos de rede: Seus nomes são padronizados (e refletem o tipo de interface), onde múltiplos dispositivos são numerados sequencialmente (0, 1 ) Exemplos: /dev/ethn! - Ethernet devices! /dev/sln! - linhas seriais! /dev/pppn!- dispositivos PPP! /dev/lo!- loopback device 41 17

18 Registro de Drivers de Caracteres Mesmo disp. de caracteres são acessados por chamadas de sistema open(), read(), write(), close(), como se fossem um arquivo Quando dispositivo é inicializado, se registra junto ao núcleo e adiciona entrada em chrdevs (vetor de device_struct). O major device identifier é o índice para esse vetor chrdevs Cada device_struct contém ponteiro para o device driver e um ponteiro para um bloco de operacões em arquivo (estas são endereços das rotinas do driver específico) Ao abrir um dispositivo, é chamado mknode e criado um v-node/i-node contendo o major e minor device number, e que receberá em f_op o endereço dos procedimentos no driver. 42 E/S de Bloco 43 18

19 Registro de Drivers de Bloco Drivers de bloco se registram em blkdevs, (análogo a chrdevs) Lá, cada device_struct aponta tb para diferentes classes de block devices (SCSI, IDE, etc.), cada uma com sua API específicas de operações Cada driver de bloco fornece tb ponteiro para, request_queue, que aponta para uma fila de requisições no buffer cache do núcleo. É registrado tb uma única operacão (request_f), que informa ao núcleo o procedimento do driver específico para ler/escrever um bloco. Para agrupar blocos consecutivos, cada request aponta para um buffer head. Buffer heads são encadeados quando se tratam de blocos consecutivos (e contém toda infomação para driver processar a requisição) vnode blkdevs requ_queue Buffer-heads head request_f requests driver1 request_f buffer-cache 44 Registro de Drivers de Rede Arquivos especiais de rede não são criados por mknode, surgem espontaneamente (quando interfaces de rede são ativadas e inicializadas) Drivers de rede cadastram os dispositivos que controlam na inicialização das interfaces de rede (NIC) A estrutura de dados device contém informacões sobre o dispositivo de rede: 1. Informacão de Barramento: Numero IRQ, número de canal de DMA usado, 2. flags de interface IFF_ (descrevendo caracteristicas da interf. de rede) 3. informacão de protocolo, por exemplo: mtu: tamanho máximo de pacote que consegue transmitir family: familia de prtocolos que o disspositivo suporta (p.ex. AF_INET) tipo de HW de interface: Ethernet, X.25, Token Ring, Slip, PPP and Apple Endereços relevantes para uso da interface de rede (p.ex. MAC-Address) 4. Referência a fila de pacotes esperando para transmissão (socket buffer sk_buff) 5. Funções de apoio (usadas por camadas de protocolo superiores) como setup, frame transmit, adicionar headers de frames, estatísticas, etc

20 Software Independente do Dispositivo Núcleos provêm muitos serviços relacionados a E/S: escalonamento, uso de buffers e caches, spooling, reserva e liberacão de dispositivo e tratamento de erros Escalonamento de E/S: Quando processo faz requisição de E/S em bloco essa é enfileirada, por dispositivo O Escalonador de E/S decide sobre a ordem de envio das requisições para os discos, p/ otimizar acesso (aumentar vazão, baixar o tempo médio de resposta das requisições) Faz a busca antecipada de blocos Podem ter vários objetivos: Minimizar seek time do disco Priorizar E/S de certos processos Garantir fatias iguais de largura de banda de disco para cada processo Garantir que certas requisicões serão procesadas antes de um certo 46 tempo Software Independente do Dispositivo Tratamento de Erros: chamadas de E/S retornam não só um valor de sucesso (0/1), mas também um código de erro (em Unix errno), com informacão sobre natureza do erro Para erros transitórios, pode-se tentar repetir a operação de E/S, mas erros permanentes precisam ser tratados Alguns controladores/drivers também: informam a natureza do erro de hardware (tipo de erro de hardware, ou requisição ilegal) mantém logs de erros identificados, que podem ser consultados. Alocação e liberacão de dispositivos dedicados: Exemplo: DVD/CD, ou fita magnética Um lock é setado no v-node. Ao tentar abrir o arquivo especial em uso, o v-node indicará se o dispositivo está em uso, e retornar um valor de erro do open 47 20

21 Software Independente de Dispositivo Bufferização: para compensar diferentes taxas de transferência (RAM vs dispositivo) para impedir acesso direto ao dispositivo a. Sem buffer: E/S bloqueante e mono-programação b. Buffer em espaço do usuário: E/S assíncrona, mono-programação c. Buffer no núcleo e no processo: permite multi-programação d. n Buffers no núcleo: permite paralelizar transf do dispositivo e cópia para processo 48 Buffer Circular É a generalização do buffer duplo Desacopla a taxa de transferência de dados da E/S da taxa de consumo dos dados pelo processo destinatário Usado para fazer a busca antecipada de blocos (provável necessidade de blocos vizinhos) Permite atender requisições de leitura de vários processos 49 21

22 E/S com buffers Orientados a bloco (block-oriented) Processo pode processar um bloco enquanto o outro está sendo lido para memória Buffers ficam residentes em memória RAM Subsistema de E/S mantém associação entre requisições (c/ seus blocos) e processos do usuário Escalonador de E/S otimiza transferência de/para disco Orientados a caracteres (character-oriented) Uma linha é lida/escrita de cada vez (com CR- Carriage return) sinalizando fim da linha Os caracteres no buffer podem ser pré processados antes de serem entregues para o processo (raw & cooked mode) Exemplo: no E/S de teclado: processar o efeito de DEL, ou CTRL +caracter, ESC, etc. Software Independente do Dispositivo Principais Funções: Exemplos: APIs genéricas mapeadas para funções específicas. Mapeamento de nomes simbólicos (/ dev/tty00) para os drivers correspondentes Permissões para acesso aos dispositivos como de arquivos Mapeamento de tamanho de bloco único para tamanhos de setores variados em discos diferentes. Transferência controlada de bytes do disco para interface de rede, compensando diferentes taxas de dados de cada dispositivo Gerenciamento de blocos livres nos dispositivos de bloco (discos) Funções para a bloqueio e liberação de dispositivos dedicados Se erro não pode ser compensado/contornado pelo driver, deve informar ao programa do usuário o tipo e erro 52 22

23 Suporte a E/S em modo usuário Há suporte a E/S nas bibliotecas ligadas a programas do usuário (stdio, ioctl, etc.) Por exemplo a formatação da entrada e saída, printf e scanf efetuam a contatenacão de strings, e a conversão de octetos para aracteres, inteiros, float, etc. Mas também há utilitários e processos (daemons), responsáveis por realizar uma tarefa específica relacionada à E/S Exemplos: lpd - spool de arquivos para a impressão inetd, ftpd, rshd, httpd, dhcpd - processos que tratam E/S com a rede 53 Estrutura do Disco Cilindro: coleção de N trilhas (uma em cada superfície de disco) Trilha: uma circunferência de raio T completa em uma superfície de disco; contém número variável de setores (8-32 em floppies, milhares em HD) Setor: uma parte de uma trilha (com número fixo de bytes) O tempo de acesso a um setor depende essencialmente do tempo de posicionamento do pente de leitores até o cilindro correspondente e da velocidade de rotação do disco. Disco1 Disco 2 trilha cilindro Disco 3 setor 54 23

24 Setores em um Disco Geometria física de um disco (com dois tamanhos de setor) vs geometria virtual A controladora conhece a geometria física e faz o mapeamento de um endereço lógico de bloco para o setor correspondente 56 Desempenho no acesso ao Disco O cabeçote precisa ser posicionado na trilha, no início do setor alvo. Isso envolve: Tempo de posicionamento (Seek time) Tempo para posicionar o cabeçote na trilha Latência rotacional Tempo necessário para que o início do setor apareça abaixo do cabeçote 24

25 Algoritmos de Escalonamento de Acesso ao Disco O tempo necessário para ler ou escrever um bloco de disco é dominado pelo tempo de posicionamento do cabeçote no cilindro alvo (seek time) Disco Cilindro m Cilindro k A fim de minimizar o seek time médio para várias requisições, deve-se escalonar as mesmas O Escalonador de E/S de bloco executa um algoritmo de escalonamento de disco 58 Algoritmos de Escalonamento de Disco 1) First-Come-First Served (FCFS): não há como otimizar tempo de posicionamento (seek time). 2) Algoritmo Mais-Próximo-Primeiro (Shortest Seek Time First - SSTF) : Usa tabela indexada por cilindro com lista de requisições para cada cilindro Enquanto move o cabeçote para um cilindro, novos pedidos vão chegando Escolhe sempre o cilindro mais próximo do atual Atende todos os pedidos para o cilindro corrente Ordem de Requisições: Posição # inicial Pedidos# pendentes Sequência de posicionamentos 59 25

26 Algoritmos de Escalonamento de Disco Principal problema do Shortes Seek Time First: Se a chegada dos pedidos ocorre com distribuição uniforme em todas os cilindros, então: Para discos muito utilizados, o cabeçote tenderá a permanecer nos cilindros do meio, e mover-se com menor probabilidade (P B ) para os cilindros nos extremos. Portanto, dados gravados em cilindros extremos levarão mais tempo para serem acessados do que dados em cilindros do meio. P B Posição P A P A > P B P A Posição atual atual P B P A > P B Disco 60 Algoritmos de Escalonamento de Disco Algoritmo do elevador (SCAN): Manter o sentido da movimentação até que não haja mais pedidos para acesso em cilindros a diante No sentido de movimentação, atende primeiro os cilindros mais próximos Um flag (UP/DOWN) registra o sentido de movimentação. Ordem chegada: Sequência de posicionamentos 61 26

27 Algoritmo do Elevador Variantes: 1. Mover o cabeçote somente até o cilindro mais afastado para a qual exista uma requisição Vantagem: ganha-se eficiência no atendimento global das requisições 2. Mover o cabeçote até o cilindro mais afastado, independente de haver requisição Vantagem: garante-se um tempo médio igual de atendimento para requisições nos cilindros centrais e extremos do disco Desvantagem: se nunca houve escritas em cilindros além dos limites, é improvável que aconteçam requisições para lá. 3. Guardar quais foram os cilindros mais extremos usados até então (cil min, cil max ), e fazer a varredura dentro desse intervalo. Algoritmos de Escalonamento de Disco Algoritmo Circular SCAN (C-SCAN) Objetivo: prover um tempo de espera mais uniforme para todas as trilhas Como o SCAN, move o cabeçote de uma extremidade para outra, atendendo todas as requisições no caminho. Mas quando o cabeçote atinge o cilindro mais extremo, ele retorna ao início do disco (sem atender a requisições) Ordem chegada: Sequência de posicionamentos 63 27

28 Desempenho de Acesso: Formatação de Disco Defasagem de setor inicial de cada trilha deslocado daquele da trilha anterior: para agilizar o acesso sequencial de setores em trilhas consecutivas. Leva em conta o atraso da movimentação entre trilhas adjacentes 69 Desempenho de Acesso: Formatação de Disco Algumas controladoras são incapazes de fazer entrada e saida de seu buffer em paralelo. Por isso, discos são formatados com setores entrelaçados (b) e (c), para permitir E/S mais eficiente de setores consecutivos Enquanto controladora copia blocos do setor 0 para memória, disco rotaciona e quando cabeçote está no setor 1, controladora já está pronta para receber esse setor

29 Aumento de desempenho por paralelismo Como aumentar a taxa de atendimento de requisições ao disco? Redundant Array of Inexpensive Disks (RAID) A controladora RAID opera vários discos (multiplica a taxa de atendimento de requisições) Mais discos è maior probabilidade de falha do conjunto è requer redundância de informacão Faixa = conjunto de blocos (bytes, ou bits) Faixas consecutivas podem ser atendidas em paralelo (sem redundância) Faixas espelhadas em discos garante redundância duplica a qtde de discos 73 Aumento de desempenho por paralelismo Fatiamento em nivel de bits: Bits de dados (nos discos 0-3) e bits de paridade (nos discos 4-6) Usa o Código de Hamming para correção de erros. Todos os discos operam de forma sincronizada (mesma velocidade e posição) Não é mais utilizado pois em toda operação todos os discos precisam ser acessados (não consegue atender requisições simultaneamente) Escrita: calcula os bits de paridade e escreve tb nos discos 4-6 Leitura: lê os dados e os bits de paridade e verifica consistência Se não houver, corrige os bits incorretos 74 29

30 Aumento de desempenho por paralelismo Fatiamento em nivel de bytes: Bytes de dados (nos discos 0-2) e bytes de paridade (no disco 3) Menos discos de paridade Discos precisam girar sincronizados Raramente utilizado pois também não é capaz de atender requisições simultâneas 75 Redundância de Disco Fatiamento em blocos faz com que atualização possa ocorrer somente no disco do bloco e no disco de paridade. Mas o bloco a ser atualizado e o de paridade precisam ser previamente lidos para a controladora. Para permitir o recalculo do bloco de paridade. Fatiamento em nível de blocos: blocos de paridade (XOR sobre o conteúdo dos blocos) em disco separado: Corrige blocos com defeito Disco único de paridade torna-se o gargalo em requisições paralelas (acabam sendo sequenciais) Faixas de paridade espalhados por todos os discos. Corrige blocos com defeito Requisições paralelas podem ser executadas em paralelo RAID nivel 6 Semelhante a RAID 5 mas com dupla paridade: redundância de faixas de redundância Pode tolerar a falha de até dois discos. Mais discos estarão envolvidos em um update de um bloco (B1) -> diminuindo a possibilidade de 76 paralelismo 30

31 RAID 1+0 e 5+0 RAID 5+0 Aimações Flash: 77 E/S Orientada a caracteres De/para dispositivos como: Teclado Mouse Terminal orientado a caracter Portas Seriais Interface de rede As requisições são para leitura/escrita caracter a caracter (e.g. put(c), get (c)) Para compensar diferentes taxas de produção e consumo de caracteres, utiliza-se buffers Vários caracteres possuem um significado especial (caracteres de controle), que precisam ser interpretados ou gerados Para alguns dispositivos, esses caracteres devem ser interpretados/ gerados nos buffers, antes de serem enviados serem consumidos

32 E/S Orientada a caracteres buffers Produtor de caracteres Cosmumidor de caracteres Caracter = byte codificando um evento/comando de E/S Exemplos de pares Produtor/Consumidor: Entrada: (teclado/ programa_usuário), (interface_rede/ programa_usuário) Saída: (Programa_usuário, monitor orientado a texto) (Programa _usuário, interface_rede) 85 Teclado: Funcionamento de uma entrada de dados Controlador gera uma interrupção para avisar que tecla foi acionada (e seu # obtido) Driver copia um número (código de tecla pressionada/solta) da controladora para buffer interno driver converte para código ASCII muitos SOs fornecem mapas de teclas ou páginas de códigos carregáveis (pois teclados têm códigos de teclas não padronizadas) Núcleo recebe uma requisição de leitura de um processo, e repassa para driver 86 32

33 Etapas Entrada de um Teclado Software de Entrada Processamento de caracteres Usuário digita hella o Teclado gera: hellactrl-ho Processo deve receber hellactrl-ho ou hello? Modo crú (raw mode) Driver entrega diretamente cada catacter ao processo (incl. teclas ctrl, alt, f1-f10, alt, shift, ) Sem modificações, sem eco (=mostrar o caracter digitado) Alguns programas usuários exigem: shell, vi, emacs, login (p/ senha) Modo processado (cooked mode) Caracteres são armazenados em buffer até que uma linha toda tenha sido acumulada Driver faz o processamento de caracteres especiais no buffer, e ecoa o resultado na tela POSIX padroniza o efeito de teclas especiais É o modo canônico (default) 33

34 Software de Entrada Caracteres tratados de forma especial no modo canônico 89 Modo Cozido Driver precisa... Bufferizar uma linha inteira antes de passa-la para o processo Processar caracteres de controle especiais Ctrl-C, ERASE, Del, line-erase, Tab, shift Ecoar o caracter digitado Nova linha pode ser procesada em paralelo com o processamento de linha anterior Para isso, precisa de buffers internos de entrada Bufferização é necessária para lidar com digitação antecipada: enquanto linha está sendo processada, outra linha é digitada e já pode ser lida) processo consumidor ainda não está executando 34

35 Software de Entrada Buffers no Driver de terminal Duas abordagens de bufferização p/ digitação antecipada: para computadores com muitos terminais Manter um pool de buffers a serem usados por demanda para computadores com 1 usuário: Manter um buffer por terminal (e.g., 500 bytes) Pool de buffers Buffer dedicado para cada terminal 91 A estrutura streams É um canal de comunicação full-duplex entre um processo do usuário e um dispositivo (presente na maioria dos Unix)# Benefício: uma estrutura que apoia a técnica modular e incremental usada por drivers de dispositivos e protocolos de rede# # stream consiste de:# Cabeça do stream (stream head) - interface com o processo do usuário)# write()/ read() escreve/lê dados brutos no fluxo# putmsg()/ getmsg() envia/recebe uma mensagem para/de o fluxo# Extremidade do Driver - interface com o dispositivo de E/S# Zero ou mais módulos entre eles. Cada módulo contém uma fila de read e uma de write.# Os módulos provêm funções de processamento e são associados ao fluxo com a chamada ioctl()! Mensagens assíncronas para transferir dados entre as filas (exceto se houver módulo com controle de fluxo)# 35

36 streams Independente do acesso bloqueante na cabeça do fluxo, a extremidade do driver vai ser alimentada com os dados a medida que chegam. # # write():! Cabeça do fluxo (stream head) copia dados brutos para uma mensagem e passa para a fila do módulo abaixo.# # Essa cópia prossegue até que a msg ser copiada para a extremidade do driver, quando é então retirada da mensagem e passada para o dispositivo.# # Se o stream têm controle de fluxo, então write(0 bloqueará até que haja espaço na fila adjacente.# # read():! Cabeça do fluxo pega a próxima msg da fila do módulo abaixo, e retorna para o processo do usuário dados não estruturados. Bloqueia se não houver msg.# # Módulos inferiores vão empurrando as mensagens em direção do processo do usuário.# # Exemplo Inserção de um módulo de processamento de catacteres no stream entre o processo do usuário e o driver.# # Módulos são empurrados da cabeça do fluxo para baixo em modo Last-In_first-Out (LIFO)# # # # # # # Nesse exemplo, o módulo recebe o comando para remover todas as ocorrências de x e X (e qualquer string)# o Comando é configurado usando a estrutura strioctl# 94 36

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas de Entrada/Saída Princípios de Hardware Sistema de Entrada/Saída Visão Geral Princípios de Hardware Dispositivos de E/S Estrutura Típica do Barramento de um PC Interrupções

Leia mais

Sistemas Operacionais Entrada / Saída. Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br)

Sistemas Operacionais Entrada / Saída. Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br) Sistemas Operacionais Entrada / Saída Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br) Tópicos Princípios do hardware de E/S Princípios do software de E/S Camadas do software

Leia mais

Gerenciador de Entrada/Saída

Gerenciador de Entrada/Saída Universidade Federal do ABC BC 1518 - Sistemas Operacionais (SO) Gerenciador de Entrada/Saída (aula 11) Prof. Marcelo Zanchetta do Nascimento Roteiro Princípios básicos de hardware de E/S; Operações dos

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 16: Entrada e Saída: Estudo de Caso Diego Passos Última Aula Software de Entrada e Saída. Subsistema de E/S. Conjunto de camadas de abstração para realização de

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas de Entrada/Saída Princípios de Software Sistema de Entrada/Saída Princípios de Software Tratadores (Manipuladores) de Interrupções Acionadores de Dispositivos (Device Drivers)

Leia mais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos

Leia mais

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger O controle da entrada e saída (E/S ou I/O, input/output) de dados dos dispositivos é uma das funções principais de um sistema operacional.

Leia mais

SW DE E/S INDEPENDENTE DE DISPOSITIVO

SW DE E/S INDEPENDENTE DE DISPOSITIVO SOFTWARE AO NÍVEL DO USUÁRIO SOFTWARE INDEPENDENTE DE DISPOSITIVOS ACIONADORES DE DISPOSITIVOS (DRIVERS) TRATAMENTO DE INTERRUPÇÕES HARDWARE FUNÇÕES: INTERFACE UNIFORME PARA OS DRIVERS USO DE BUFFERS INFORMAÇÃO

Leia mais

Capítulo 5 Gerência de Dispositivos

Capítulo 5 Gerência de Dispositivos DCA-108 Sistemas Operacionais Luiz Affonso Guedes www.dca.ufrn.br/~affonso affonso@dca.ufrn.br Capítulo 5 Gerência de Dispositivos Luiz Affonso Guedes 1 Luiz Affonso Guedes 2 Conteúdo Caracterização dos

Leia mais

Sistemas Operacionais Gerência de Dispositivos

Sistemas Operacionais Gerência de Dispositivos Universidade Estadual de Mato Grosso do Sul UEMS Curso de Licenciatura em Computação Sistemas Operacionais Gerência de Dispositivos Prof. José Gonçalves Dias Neto profneto_ti@hotmail.com Introdução A gerência

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Entrada e Saída Drivers e s Norton Trevisan Roman Marcelo Morandini Jó Ueyama Apostila baseada nos trabalhos de Kalinka Castelo Branco, Antônio Carlos Sementille, Luciana A. F. Martimiano

Leia mais

Entrada e Saída (Input/Output)

Entrada e Saída (Input/Output) Capítulo 5 Entrada e Saída (Input/Output) 1. Princípios de Hardware de E/S 2. Princípios de Software de E/S 3. Camadas de software de E/S 4. Discos 5. Relógios 6. Terminais Orientados a caracteres 7. Interfaces

Leia mais

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Módulo 4 - ENTRADAS E SAIDAS Uma das principais funções dos sistemas operacionais é controlar os dispositivos de entrada e saída (E/S ou I/O). O Sistema Operacional deve ser capaz de enviar comandos

Leia mais

E/S PROGRAMADA E/S PROGRAMADA E/S USANDO INTERRUPÇÃO

E/S PROGRAMADA E/S PROGRAMADA E/S USANDO INTERRUPÇÃO E/S PROGRAMADA QUANDO A CPU FAZ TODO O TRABALHO RELACIONADO A UMA OPERAÇÃO DE E/S, NO CASO DO PROCESSO QUERER IMPRIMIR (NA IMPRESSORA) ABCDEFGH : ESTES CARACTERES SÃO COLOCADOS EM UMA ÁREA DE MEMÓRIA DO

Leia mais

6 - Gerência de Dispositivos

6 - Gerência de Dispositivos 1 6 - Gerência de Dispositivos 6.1 Introdução A gerência de dispositivos de entrada/saída é uma das principais e mais complexas funções do sistema operacional. Sua implementação é estruturada através de

Leia mais

Gerência de Entrada/Saída

Gerência de Entrada/Saída Gerência de Entrada/Saída Prof Clodoaldo Ap Moraes Lima 1 Princípios básicos de hardware Periférico é um dispositivo conectado a um computador de forma a possibilitar sua interação com o mundo externo

Leia mais

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 2-1. PRINCÍPIOS DE SOFTWARE DE ENTRADA E SAÍDA (E/S) As metas gerais do software de entrada e saída é organizar o software como uma série de camadas, com as mais baixas preocupadas em esconder as

Leia mais

Sistemas de Arquivos. Arquivos Diretórios Implementação do sistema de arquivos Gerenciamento de espaço em disco

Sistemas de Arquivos. Arquivos Diretórios Implementação do sistema de arquivos Gerenciamento de espaço em disco Sistemas de Arquivos Arquivos Diretórios Implementação do sistema de arquivos Gerenciamento de espaço em disco Armazenamento da Informação a Longo Prazo 1. Deve ser possível armazenar uma quantidade muito

Leia mais

Entrada e Saída. Prof. Leonardo Barreto Campos 1

Entrada e Saída. Prof. Leonardo Barreto Campos 1 Entrada e Saída Prof. Leonardo Barreto Campos 1 Sumário Introdução; Dispositivos Externos; E/S Programada; E/S Dirigida por Interrupção; Acesso Direto à Memória; Bibliografia. Prof. Leonardo Barreto Campos

Leia mais

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

William Stallings Arquitetura e Organização de Computadores 8 a Edição William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 7 Entrada/saída Os textos nestas caixas foram adicionados pelo Prof. Joubert slide 1 Problemas de entrada/saída Grande variedade

Leia mais

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA 1. INTRODUÇÃO O conceito de concorrência é o princípio básico para o projeto e a implementação dos sistemas operacionais multiprogramáveis. O sistemas multiprogramáveis

Leia mais

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 04 - Concorrência. Cursos de Computação

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 04 - Concorrência. Cursos de Computação Cursos de Computação Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 04 - Concorrência Referência: MACHADO, F.B. ; MAIA, L.P. Arquitetura de Sistemas Operacionais. 4.ed. LTC, 2007. Mono x Multiprogramação

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Entrada/Saída Material adaptado, atualizado e traduzido de: STALLINGS, William. Arquitetura e Organização de Computadores. 5ª edição Problemas Entrada/Saída Grande

Leia mais

2. Introdução aos Sistemas Operacionais

2. Introdução aos Sistemas Operacionais 2. Introdução aos Sistemas Operacionais O que é um Sistema Operacional? 1 Compilador 2 Editor de texto 3 Browser Aplicativos... Sistema Operacional (infraestrutura) Hardware n Quake No passado, a eficiência

Leia mais

Sistemas Operativos I

Sistemas Operativos I Componentes de um Sistema Operativo Maria João Viamonte / Luis Lino Ferreira Fevereiro de 2006 Sistema Operativo Um Sistema Operativo pode ser visto como um programa de grande complexidade, responsável

Leia mais

FORMATAÇÃO DE DISCO SETORES

FORMATAÇÃO DE DISCO SETORES FORMATAÇÃO DE DISCO O DISCO RÍGIDO CONSISTE DE UM ARRANJO DE PRATOS DE ALUMÍNIO, LIGA METÁLICA OU VIDRO, CADA QUAL COBERTO POR UMA FINA CAMADA DE ÓXIDO DE METAL MAGNETIZADO APÓS A FABRICAÇÃO, NÃO HÁ DADO

Leia mais

Organização de Computadores. (Aula 5) Entrada/Saída

Organização de Computadores. (Aula 5) Entrada/Saída Organização de Computadores (Aula 5) Entrada/Saída Entrada e Saída (Input/Output I/O) Computador: Processador, Memória (principal e secundária) Equipamentos (dispositivos, elementos, unidades,...) de Entrada/Saída

Leia mais

Organização e Arquitetura de Computadores

Organização e Arquitetura de Computadores Organização e Arquitetura de Computadores Entrada e saída Alexandre Amory Edson Moreno Nas Aulas Anteriores Foco na Arquitetura e Organização internas da Cleo Modelo Von Neuman Circuito combinacional Circuito

Leia mais

Sistemas Operacionais: Sistema de Arquivos

Sistemas Operacionais: Sistema de Arquivos Sistemas Operacionais: Sistema de Arquivos Sistema de Arquivos Arquivos Espaço contíguo de armazenamento Armazenado em dispositivo secundário Estrutura Nenhuma: seqüência de bytes Registros, documentos,

Leia mais

Sistemas Operacionais Cap 2 Estruturas de Sistemas Computacionais

Sistemas Operacionais Cap 2 Estruturas de Sistemas Computacionais Estruturas de Sistemas Computacionais Por que estudar a arquitetura de sistemas computacionais? Talvez porque o comportamento de um sistema operacional está ligado aos mecanismos de E/S de um computador.

Leia mais

Notas da Aula 16 - Fundamentos de Sistemas Operacionais

Notas da Aula 16 - Fundamentos de Sistemas Operacionais Notas da Aula 16 - Fundamentos de Sistemas Operacionais 1. Disco Rígido: Visão Geral Há inúmeros dispositivos de E/S em um sistema computacional moderno. Por esta razão, é inviável do ponto de vista de

Leia mais

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com Sistemas Operacionais 2014 Introdução Alexandre Augusto Giron alexandre.a.giron@gmail.com Roteiro Sistemas Operacionais Histórico Estrutura de SO Principais Funções do SO Interrupções Chamadas de Sistema

Leia mais

Entrada e Saída (Input/Output I/O) Organização de Computadores (Aula 5) Entrada/Saída. Diferentes Tipos de Dispositivos (1)

Entrada e Saída (Input/Output I/O) Organização de Computadores (Aula 5) Entrada/Saída. Diferentes Tipos de Dispositivos (1) Organização de Computadores (Aula 5) Entrada/Saída Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 2007/2 Entrada e Saída (Input/Output I/O) Computador: Processador, Memória (principal

Leia mais

Capítulo 10: Sistemas I/O

Capítulo 10: Sistemas I/O Capítulo 10: Sistemas I/O Sumário: Hardware de I/O Interface de I/O para aplicações Subsistema I/O do kernel do sistema operativo Transformação de pedidos de I/O em operações de hardware Streams Desempenho

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sumário 2 a edição Revisão: Fev/2003 Sistemas Operacionais Entrada e saída Capítulo 5 Princípios básicos de hardware Arquitetura de computadores Gerência de entrada e saída Software de entrada e saída

Leia mais

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA 8 CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA A porta paralela, também conhecida por printer port ou Centronics e a porta serial (RS-232) são interfaces bastante comuns que, apesar de estarem praticamente

Leia mais

Estudo de Caso 2: Windows Vista

Estudo de Caso 2: Windows Vista Faculdades Integradas de Mineiros Curso de Sistemas de Informação Sistemas Operacionais II Estudo de Caso 2: Windows Vista Grupo 4 Helder / Wagner / Frantyeis Junho/2010 O Windows usa uma estratégia Just-In-Time

Leia mais

Sistemas Operacionais Cap 3 Estruturas de Sistemas Operacionais. Podemos analisar um sistema operacional sob diversos aspectos:

Sistemas Operacionais Cap 3 Estruturas de Sistemas Operacionais. Podemos analisar um sistema operacional sob diversos aspectos: Estruturas de Sistemas Operacionais Podemos analisar um sistema operacional sob diversos aspectos: Os serviços que o sistema operacional oferece. A interface que o sistema operacional torna disponível

Leia mais

Processos (Threads,Virtualização e Migração de Código)

Processos (Threads,Virtualização e Migração de Código) Processos (Threads,Virtualização e Migração de Código) Roteiro Processos Threads Virtualização Migração de Código O que é um processo?! Processos são programas em execução. Processo Processo Processo tem

Leia mais

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários.

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários. Os sistemas computacionais atuais permitem que diversos programas sejam carregados na memória e executados simultaneamente. Essa evolução tornou necessário um controle maior na divisão de tarefas entre

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES 01001111 01110010 01100111 01100001 01101110 01101001 01111010 01100001 11100111 11100011 01101111 00100000 01100100 01100101 00100000 01000011 01101111 01101101 01110000 01110101 01110100 01100001 01100100

Leia mais

Nível 3 Sistema Operacional

Nível 3 Sistema Operacional Nível 3 Sistema Operacional Universidade Tuiuti do Paraná UTP Faculdade de Ciências Exatas - FACET Tecnologia de Análise e Desenvolvimento de Sistemas Organização de Computadores Prof. André Luiz 1 Nível

Leia mais

Sistemas Operacionais 2014 Sistema de E/S. Alexandre Augusto Giron

Sistemas Operacionais 2014 Sistema de E/S. Alexandre Augusto Giron Sistemas Operacionais 2014 Sistema de E/S Alexandre Augusto Giron ROTEIRO Introdução Hardware de E/S Interface de E/S Subsistema de E/S Desempenho Introdução Gerenciar dispositivos de Entrada e Saída (E/S)

Leia mais

Arquitetura de Computadores Pentium 4 e PCIe

Arquitetura de Computadores Pentium 4 e PCIe Pentium 4 Arquitetura de Computadores Pentium 4 e PCIe O Pentium 4 é um descendente direto da CPU 8088 usada no IBM PC original. O primeiro Pentium 4 foi lançado em novembro de 2000 com uma CPU de 42 milhõcs

Leia mais

Dispositivos de Entrada e Saída

Dispositivos de Entrada e Saída SEL-0415 Introdução à Organização de Computadores Dispositivos de Entrada e Saída Aula 9 Prof. Dr. Marcelo Andrade da Costa Vieira ENTRADA e SAÍDA (E/S) (I/O - Input/Output) n Inserção dos dados (programa)

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Prof. Jó Ueyama Apresentação baseada nos slides da Profa. Dra. Kalinka Castelo Branco, do Prof. Dr. Antônio Carlos Sementille, da Profa. Dra. Luciana A. F. Martimiano e nas transparências

Leia mais

Arquitetura e Organização de Computadores I

Arquitetura e Organização de Computadores I Arquitetura e Organização de Computadores I Interrupções e Estrutura de Interconexão Prof. Material adaptado e traduzido de: STALLINGS, William. Arquitetura e Organização de Computadores. 5ª edição Interrupções

Leia mais

Entradas/Saídas. 1. Princípios de hardware/software de E/S 2. Camadas de software de E/S 3. Relógios (Temporizadores) 4. Gestão de consumo de potência

Entradas/Saídas. 1. Princípios de hardware/software de E/S 2. Camadas de software de E/S 3. Relógios (Temporizadores) 4. Gestão de consumo de potência Entradas/Saídas 1. Princípios de hardware/software de E/S 2. Camadas de software de E/S 3. Relógios (Temporizadores) 4. Gestão de consumo de potência Organização de um Sistema Operativo System Call Handler

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas Operacionais Prof. Marcelo Sabaris Carballo Pinto Gerencia de Processos 4.1 Introdução aos Processos Gerenciamento de Processos Processo -Definição: É uma abstração do sistema

Leia mais

Modelo Genérico de Módulo de E/S Grande variedade de periféricos

Modelo Genérico de Módulo de E/S Grande variedade de periféricos Conteúdo Capítulo 7 Entrada/Saída Dispositivos externos Módulos E/S Técnicas de E/S E/S Programada E/S Conduzida por interrupções Processamento de interrupções Controlador Intel 82C59A Acesso Directo à

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 5 Estrutura de Sistemas de Computação Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso

Leia mais

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira IFPE Disciplina: Sistemas Operacionais Prof. Anderson Luiz Moreira SERVIÇOS OFERECIDOS PELOS SOS 1 Introdução O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários

Leia mais

Visão Geral de Sistemas Operacionais

Visão Geral de Sistemas Operacionais Visão Geral de Sistemas Operacionais Sumário Um sistema operacional é um intermediário entre usuários e o hardware do computador. Desta forma, o usuário pode executar programas de forma conveniente e eficiente.

Leia mais

Capítulo 8 Arquitetura de Computadores Paralelos

Capítulo 8 Arquitetura de Computadores Paralelos Capítulo 8 Arquitetura de Computadores Paralelos Necessidade de máquinas com alta capacidade de computação Aumento do clock => alta dissipação de calor Velocidade limitada dos circuitos => velocidade da

Leia mais

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Memória Secundária. Prof. Valeria M. Bastos 18/06/2012 Prof. Antonio Carlos Gay Thomé

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Memória Secundária. Prof. Valeria M. Bastos 18/06/2012 Prof. Antonio Carlos Gay Thomé UFRJ IM - DCC Sistemas Operacionais I Unidade IV Gerência de Memória Secundária Prof. Valeria M. Bastos 18/06/2012 Prof. Antonio Carlos Gay Thomé 1 ORGANIZAÇÃO DA UNIDADE Gerência de Entrada e Saída Gerência

Leia mais

Recursos. Um recurso é ou um dispositivo físico (dedicado) do hardware, ou Solicitar o recurso: esperar pelo recurso, até obtê-lo.

Recursos. Um recurso é ou um dispositivo físico (dedicado) do hardware, ou Solicitar o recurso: esperar pelo recurso, até obtê-lo. Um recurso é ou um dispositivo físico (dedicado) do hardware, ou um conjunto de informações, que deve ser exclusivamente usado. A impressora é um recurso, pois é um dispositivo dedicado, devido ao fato

Leia mais

Estruturas do Sistema de Computação

Estruturas do Sistema de Computação Estruturas do Sistema de Computação Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto Faculdade de Tecnologia de Americana Centro Paula Souza Estruturas do Sistema de

Leia mais

Sistema Operacional. Processo e Threads. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais

Sistema Operacional. Processo e Threads. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais Sistema Operacional Processo e Threads Introdução a Processos Todos os computadores modernos são capazes de fazer várias coisas ao mesmo tempo. Enquanto executa um programa do usuário, um computador pode

Leia mais

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional O conteúdo deste documento tem por objetivo apresentar uma visão geral

Leia mais

Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto

Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto Introdução É preciso conhecer a estrutura de um sistema de computação antes que possamos explorar os detalhes de sua operação.

Leia mais

Entrada e Saída. Interface entre periféricos, processador e memória. Fonte: Minho - Portugal 1

Entrada e Saída. Interface entre periféricos, processador e memória. Fonte: Minho - Portugal 1 Entrada e Saída Interface entre periféricos, processador e memória Fonte: Minho - Portugal 1 Ligação Processador/Memória - Periférico Processador Memória Controlo Dados Controlador Fonte: Minho - Portugal

Leia mais

Capítulo 5 Entrada/Saída

Capítulo 5 Entrada/Saída Capítulo 5 Entrada/Saída 5.1 Princípios do hardware de E/S 5.1.1 Dispositivos de E/S Os dispositivos de E/S podem ser divididos em duas categorias: Dispositivos de bloco Armazena informações em blocos

Leia mais

ROM-BIOS Inicialização Sistemas de Arquivos Formatação

ROM-BIOS Inicialização Sistemas de Arquivos Formatação ROM-BIOS Inicialização Sistemas de Arquivos Formatação 1 ROM-BIOS ROM-BIOS Basic Input/Output System (Sistema Básico de Entrada/Saída). O termo é incorretamente conhecido como: Basic Integrated Operating

Leia mais

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Conceitos básicos e serviços do Sistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Tipos de serviço do S.O. O S.O.

Leia mais

Arquitetura dos Sistemas Operacionais

Arquitetura dos Sistemas Operacionais Arquitetura dos Sistemas Operacionais Arquitetura de um Sistema Operacional Basicamente dividido em shell é a interface entre o usuário e o sistema operacional é um interpretador de comandos possui embutido

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 SISTEMA DE INTERCONEXÃO (BARRAMENTOS) Prof. Luiz Gustavo A. Martins Arquitetura de von Newmann Componentes estruturais: Memória Principal Unidade de Processamento Central

Leia mais

Arquitetura de Computadores. Tipos de Instruções

Arquitetura de Computadores. Tipos de Instruções Arquitetura de Computadores Tipos de Instruções Tipos de instruções Instruções de movimento de dados Operações diádicas Operações monádicas Instruções de comparação e desvio condicional Instruções de chamada

Leia mais

Unix: Sistema de Arquivos. Geraldo Braz Junior

Unix: Sistema de Arquivos. Geraldo Braz Junior Unix: Sistema de Arquivos Geraldo Braz Junior 2 Arquivos Um arquivo é visto pelo SO apenas como uma seqüência de bytes: nenhuma distinção é feita entre arquivos ASCII, binários, etc.; Muitos programas

Leia mais

Sistemas Operacionais. Alexandre Meslin meslin@inf.puc-rio.br

Sistemas Operacionais. Alexandre Meslin meslin@inf.puc-rio.br Sistemas Operacionais Alexandre Meslin meslin@inf.puc-rio.br Ementa Apresentação do curso Cap1 - Visão Geral Cap2 - Conceitos de Hardware e Software Cap3 - Concorrência Cap4 - Estrutura do Sistema Operacional

Leia mais

SO - Conceitos Básicos. Introdução ao Computador 2010/01 Renan Manola

SO - Conceitos Básicos. Introdução ao Computador 2010/01 Renan Manola SO - Conceitos Básicos Introdução ao Computador 2010/01 Renan Manola Definição de SO É uma camada de software que opera entre o hardware e os programas aplicativos voltados ao usuário final. É uma estrutura

Leia mais

FACENS Engenharia Mecatrônica Sistemas de Computação Professor Machado. Memória Armazenamento Sistema de Arquivos

FACENS Engenharia Mecatrônica Sistemas de Computação Professor Machado. Memória Armazenamento Sistema de Arquivos FACENS Engenharia Mecatrônica Sistemas de Computação Professor Machado Memória Armazenamento Sistema de Arquivos 1 Hierarquia de Memórias 2 Partes físicas associadas à memória Memória RAM Memória ROM Cache

Leia mais

Entrada/Saída. E/S Mapeada na Memória. Dispositivos de E/S. FACENS - Faculdade de Engenharia de Sorocaba. emitir comandos para os dispositivos

Entrada/Saída. E/S Mapeada na Memória. Dispositivos de E/S. FACENS - Faculdade de Engenharia de Sorocaba. emitir comandos para os dispositivos FACENS - Faculdade de Engenharia de Sorocaba Entrada/Saída Entrada/Saída emitir comandos para os dispositivos interceptar interrupções e tratar erros fornecer interface entre os dispositivos e o restante

Leia mais

Sistemas Operacionais. Roteiro. Hardware. Marcos Laureano

Sistemas Operacionais. Roteiro. Hardware. Marcos Laureano Sistemas Operacionais Marcos Laureano 1/25 Roteiro Estrutura de um sistema operacional Interrupções Proteção do núcleo Níveis de privilégio Chamadas de sistema 2/25 Mono-processadores atuais seguem um

Leia mais

Fundamentos de Sistemas Computacionais Introdução

Fundamentos de Sistemas Computacionais Introdução Fundamentos de Sistemas Computacionais Introdução Prof. Eduardo Alchieri Sistema Computacional Hardware Software Usuários Um ou mais processadores, memória, discos, impressoras, teclado, mouse, monitor,

Leia mais

Gerenciamento de Entrada e Saída (E/S)

Gerenciamento de Entrada e Saída (E/S) Gerenciamento de Entrada e Saída (E/S) Adriano J. Holanda http://adrianoholanda.org Depto Computação e Matemática FFCLRP USP 02/06/2014 Entrada e Saída: E/S teclado mouse impressora disco rígido monitor

Leia mais

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Sistemas Operacionais Aula 03: Estruturas dos SOs Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com OBJETIVOS Descrever os serviços que um sistema operacional oferece aos usuários e outros sistemas

Leia mais

Sistemas Operacionais

Sistemas Operacionais 7 Sistemas Operacionais 7.1 Fundamentos da ciência da computação Cengage Learning Objetivos 7.2 Compreender o papel do sistema operacional. Compreender o processo de inicialização para carregar o sistema

Leia mais

1- Questão. a) 12 M b) 22 M c) 18 M d) 14 M e) 36 M. Resposta: e

1- Questão. a) 12 M b) 22 M c) 18 M d) 14 M e) 36 M. Resposta: e 1- Questão A figura acima representa um esquema de memória, onde as regiões em cinza correspondem a blocos alocados e as regiões em branco, a áreas livres. O último bloco alocado é mostrado na figura.

Leia mais

Infraestrutura de Hardware. Entrada/Saída: Armazenamento

Infraestrutura de Hardware. Entrada/Saída: Armazenamento Infraestrutura de Hardware Entrada/Saída: Armazenamento Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é entendido e executado pelo HW? Qual

Leia mais

Prof.: Roberto Franciscatto. Capítulo 1.1 Introdução

Prof.: Roberto Franciscatto. Capítulo 1.1 Introdução Sistemas Operacionais Prof.: Roberto Franciscatto Capítulo 1.1 Introdução Tipos de Sistemas Operacionais Sistemas Monoprogramáveis / Monotarefa Voltados tipicamente para a execução de um único programa.

Leia mais

Mecanismo de Interrupção

Mecanismo de Interrupção Mecanismo de Interrupção Paralelismo de Operação Num sistema multiprogramado a CPU está sempre apta a compartilhar o seu tempo entre os vários programas e os diferentes dispositivos periféricos que necessitam

Leia mais

Setores Trilhas. Espaço entre setores Espaço entre trilhas

Setores Trilhas. Espaço entre setores Espaço entre trilhas Memória Externa Disco Magnético O disco magnético é constituído de um prato circular de metal ou plástico, coberto com um material que poder magnetizado. Os dados são gravados e posteriormente lidos do

Leia mais

Sistemas Operacionais Aula 14: Sistema de Arquivos. Ezequiel R. Zorzal ezorzal@unifesp.br www.realidadeaumentada.com.br

Sistemas Operacionais Aula 14: Sistema de Arquivos. Ezequiel R. Zorzal ezorzal@unifesp.br www.realidadeaumentada.com.br Sistemas Operacionais Aula 14: Sistema de Arquivos Ezequiel R. Zorzal ezorzal@unifesp.br www.realidadeaumentada.com.br Introdução O sistema de arquivos é a parte mais vísivel do sistema operacional Cria

Leia mais

Componentes básicos de um sistema computacional. Cap. 1 (Stallings)

Componentes básicos de um sistema computacional. Cap. 1 (Stallings) Componentes básicos de um sistema computacional Cap. 1 (Stallings) 1 Sistema de Operação Explora recursos de hardware de um ou mais processadores Provê um conjunto de serviços aos utilizadores Gerencia

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Comunicação Inter-Processos Sockets e Portas Introdução Sistemas distribuídos consistem da comunicação entre processos

Leia mais

Arquitetura de Computadores. Sistemas Operacionais IV

Arquitetura de Computadores. Sistemas Operacionais IV Arquitetura de Computadores Sistemas Operacionais IV Introdução Multiprogramação implica em manter-se vários processos na memória. Memória necessita ser alocada de forma eficiente para permitir o máximo

Leia mais

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula 5 PROCESSOS 1. INTRODUÇÃO Em sistemas distribuídos é importante examinar os diferentes tipos de processos e como eles desempenham seu papel. O conceito de um processo é originário do campo de sistemas

Leia mais

Processos e Threads (partes I e II)

Processos e Threads (partes I e II) Processos e Threads (partes I e II) 1) O que é um processo? É qualquer aplicação executada no processador. Exe: Bloco de notas, ler um dado de um disco, mostrar um texto na tela. Um processo é um programa

Leia mais

Arquitetura de Computadores. Arquitetura de Computadores 1

Arquitetura de Computadores. Arquitetura de Computadores 1 Computadores Computadores 1 Introdução Componentes: Processador; UC; Registradores; ALU s, FPU s, etc. Memória (Sistema de armazenamento de informações; Dispositivo de entrada e saída. Computadores 2 Introdução

Leia mais

Infraestrutura de Hardware. Memória Virtual

Infraestrutura de Hardware. Memória Virtual Infraestrutura de Hardware Memória Virtual Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é entendido e executado pelo HW? Qual é a interface

Leia mais

Por razões, é requerido um módulo de E/S, que deve desempenhar duas funções principais:

Por razões, é requerido um módulo de E/S, que deve desempenhar duas funções principais: Entrada e Saída Além do processador e da memória, um terceiro elemento fundamental de um sistema de computação é o conjunto de módulos de E/S. Cada módulo se conecta com o barramento do sistema ou com

Leia mais

Infraestrutura de Hardware. Entrada/Saída: Comunicação Processador, Memória e E/S

Infraestrutura de Hardware. Entrada/Saída: Comunicação Processador, Memória e E/S Infraestrutura de Hardware Entrada/Saída: Comunicação Processador, Memória e E/S Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é entendido

Leia mais

INFORMÁTICA - BICT (noturno)

INFORMÁTICA - BICT (noturno) INFORMÁTICA - BICT (noturno) Organização de Computadores Professor: Dr. Rogério Vargas 2014/2 http://rogerio.in Introdução O que é mesmo um Computador? O computador é uma máquina eletrônica que permite

Leia mais

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Estruturas de Sistemas Operacionais Um sistema operacional fornece o ambiente no qual os programas são executados. Internamente,

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 4 Tipos de SO Prof.: Edilberto M. Silva http://www.edilms.eti.br SO - Prof. Edilberto Silva Os Sistemas Operacionais podem ser assim classificados: SO - Prof. Edilberto Silva

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

Sistema de Arquivos. Ambientes Operacionais. Prof. Simão Sirineo Toscani stoscani@inf.pucrs.br www.inf.pucrs.br/~stoscani

Sistema de Arquivos. Ambientes Operacionais. Prof. Simão Sirineo Toscani stoscani@inf.pucrs.br www.inf.pucrs.br/~stoscani Sistema de Arquivos Ambientes Operacionais Prof. Simão Sirineo Toscani stoscani@inf.pucrs.br www.inf.pucrs.br/~stoscani Gerência de Arquivos É um dos serviços mais visíveis do SO. Arquivos são normalmente

Leia mais

Evaristo Wychoski Benfatti Fernando Nunes Bonifácio ARMAZENAMENTO EM DISCO, ESTRUTURAS BASICAS DE ARQUIVOS E HASHING

Evaristo Wychoski Benfatti Fernando Nunes Bonifácio ARMAZENAMENTO EM DISCO, ESTRUTURAS BASICAS DE ARQUIVOS E HASHING Evaristo Wychoski Benfatti Fernando Nunes Bonifácio ARMAZENAMENTO EM DISCO, ESTRUTURAS BASICAS DE ARQUIVOS E HASHING CONTEÚDO Introdução Armazenamento de dados Dispositivo de armazenamento Buffering de

Leia mais

Universidade Tuiuti do Paraná UTP Faculdade de Ciências Exatas - FACET Tecnologia de Análise e Desenvolvimento de Sistemas. Hardware de Computadores

Universidade Tuiuti do Paraná UTP Faculdade de Ciências Exatas - FACET Tecnologia de Análise e Desenvolvimento de Sistemas. Hardware de Computadores Universidade Tuiuti do Paraná UTP Faculdade de Ciências Exatas - FACET Tecnologia de Análise e Desenvolvimento de Sistemas Hardware de Computadores 1 O disco rígido, é um sistema de armazenamento de alta

Leia mais

Dispositivos de Armazenamento. Prof. Flávio Humberto Cabral Nunes

Dispositivos de Armazenamento. Prof. Flávio Humberto Cabral Nunes Dispositivos de Armazenamento Prof. Flávio Humberto Cabral Nunes Conteúdo 1. Discos 2. Fitas magnéticas 3. CD-ROM Capítulo: 2 (APOSTILA). Dispositivos de Armazenamento Armazenamento permanente Custo menor

Leia mais