Entradas/Saídas. Modelo Conceptual Gestor de Periféricos Unix E/S Windows 2000 E/S. 8/28/2003 Sistemas Operativos. Introdução

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

Download "Entradas/Saídas. Modelo Conceptual Gestor de Periféricos Unix E/S Windows 2000 E/S. 8/28/2003 Sistemas Operativos. Introdução"

Transcrição

1 Entradas/Saídas Modelo Conceptual Gestor de Periféricos Unix E/S Windows 2000 E/S Introdução Parte do SO que permite a um programa interagir com o ambiente que o rodeia. Cria canais virtuais entre os programas e os periféricos. Programa Word Programa Paint Sistema Opetativo E/S Fax Printer Scanner Video 1

2 Periféricos O número de periféricos tem vindo a aumentar significativamente Teclado, rato, microfone, joystick, leitor de cartões, mesa gráfica, scanner, câmera de video, altifalantes, impressora, display, DVD, disco, disquete, etc. Redes de computadores com diferentes meios físicos: ethernet, wi-fi, gprs, umts, wimax Diferentes características dos periféricos operações aceites: só leitura, só escrita, ambas unidade de transferência de informação: carácter, cadeias de caracteres, blocos de dimensão fixa, etc. velocidade de transferência: de alguns bytes por segundo até aos milhões de bytes por segundo representação de dados: ASCII, EBCDIC, UNICODE, Little Endian, Big Endian, etc. acção em caso de erro: parar e dar erro, alertar operador, insistir, etc. Objectivos das Entradas/Saídas Estender o núcleo do sistema operativo permitindo a inclusão de periféricos Modelo de programação das Entradas/saídas uniforme, evitando que os programadores de aplicações tenham de lidar como detalhe dos diferentes periféricos Modelos de programação dos gestores de periféricos que simplifique a programação, a torne mais robusta e promova a reutilização 2

3 Modelo Computacional das E/S Objectivos Uniformização da designação. Uniformização do acesso. Independência do periférico do SO não deve ser necessário redesenhar o núcleo para cada novo tipo de periférico. Redirecção das E/S. Adaptação automática a novos periféricos Soluções Conceito de periférico virtual Decomposição da iteracção com os periféricos. Uniformização entre os mecanismos de comunicação e E/S Carregamento dinâmico de módulos no núcleo. Entidades do Modelo de E/S Periféricos virtuais: entidades abstractas sobre as quais se realizam todas as operações de E/S - files (Multics, UNIX, Windows), data sets (IBM) Funções de E/S: conjunto reduzido e uniforme de funções necessárias à interacção com qualquer periférico. Gestores de periféricos (GP) (device drivers ou device handlers): componente do modelo (processo autónomo ou parte do programa do sistema operativo) que efectua a interacção real com o periférico 3

4 Diagrama do Modelo de E/S Programa do utilizador Funções de E/S Periférico Virtual Programa do utilizador Funções de E/S Periférico Virtual Barramento de E/S (ex.: USB, SCSI, IDE, RS232, Firewire, etc.) SO Gestor de periférico Controlador hardware Periférico físico - Interrupções - Escrita / leitura de registos - Transferência de dados Exemplo das interrupções GUI GP 3 Barramento E/S CPU TI Controlador do Rato x, y, botões Acorda um processo ou envia uma mensagem ou... (depende do OS) Rotina de tratamento de interrupção Usualmente esta rotina não é invocada directamente. É o gestor de interrupções que analisa o tipo de interrupção e a invoca. Sinaliza uma interrupção Envia 40 vezes/seg { x, y, botões} x, y (mickey = 0.1mm) Botões (1-pressionado, 0-não pressionado) 4

5 Modelo Computacional O periférico virtual é idêntico a um canal de comunicação que é: explicitamente estabelecido sobre o qual são trocadas informações entre o processo utilizador e o gestor de periférico Associação ao periférico virtual: estabelecimento de um canal de comunicação entre o processo e o gestor de periférico: IdCanal = AbrirCanal ( Nome ) FecharCanal ( IdCanal ) Designação dos periféricos: varia consoante os sistemas em Windows (NT/2000/XP) os nomes são mantidos por um gestor de nomes autónomo em UNIX são identificados como ficheiros (especiais, tipo caracter ou bloco) Modelo Computacional(cont.) função de E/S: suporte de vários tipos de sincronização associados à operação suporte de dois tipos de interface para a transferência de dados: sequências de caracteres de dimensão variável (byte stream) blocos de dados de tamanho fixo EfectuaES (IdCanal, Operação, EndereçoDados, Dimensão, Semáforo) sincronização: escrita: o processo cliente fica bloqueado até que os dados tenham sido transferidos para o periférico ou para estruturas de dados internas ao sistema operativo (cache) leitura: o processo cliente fica normalmente bloqueado até que os dados pedidos lhe tenham sido transferidos; no entanto, há sistemas que permitem evitar tal bloqueio e efectuar leituras assíncronas à posteriori 5

6 Utilização dos Periféricos As aplicações podem, se tiverem privilégios para tal, usar directamente os periféricos, abrindo o respectivo canal e efectuando as leituras e escritas necessárias Contudo, muitos periféricos são partilhados (ex.: discos, redes) razão pela qual não são utilizados directamente pelas aplicações mas acedidos através de outros módulos do sistema operativo Partilha de Periféricos Se o processo necessitar de utilização exclusiva de um periférico tal implica a abri-lo em exclusão mútua reservando a sua utilização: bandas magnéticas Os processos usam os periférico de memória de massa para guardar informação mas a sua utilização não obriga a abri-los porque são partilhados através do sistema de ficheiros Discos, memory pen Alguns periféricos são usados em exclusividade durante um certo período de tempo por um processo, mas a optimização da gestão do periférico faz com que sejam controlados por um servidor como qual os restantes processos interactuam impressoras 6

7 Partilha Indirecta de Periféricos de Utilização Exclusiva (spooling) Processo utilizador (1) Escreve o ficheiro (2) (3) Lê o ficheiro Processo servidor de impressão Gestor da impressora (4) Imprime o ficheiro Unix E/S 7

8 Classificação - Localização A maioria dos GPs em Unix são módulos que fazem parte do núcleo. São excepção os gestores de periférico da interface gráfica X Os gestores integrados no núcleo Podem seguir o modelo computacional dos ficheiros, onde se designam como ficheiros e são manipulados essencialmente pelas mesmas funções Podem ter um modelo próprio, estão neste caso os periféricos de controlo das redes Tipos de GPs em Unix Gestor de Periféricos UNIX Nucleo Fazem parte do código do núcleo Utilizador Executam-se num processo previligiado Localização Lista própria Enumeração por tipo de device Sistema de Ficheiros Hirarquia de nomes dos ficheiros Nome Caracter Bloco de caracteres de tamanho variável Bloco Blocos de dados Transferência de dados Intefaces de rede eth0, eth1,... Impressora, teclado Disco Drivers X Gerem a placa gráfica 8

9 Classificação Espaço de Nomes A maioria dos periféricos geridos por gestores no núcleo têm o seu nome no directório /dev As placas de rede têm um espaço de nomes próprio # ifconfig #ls l /dev eth0 Link encap:ethernet HWaddr 00:01:03:04:4F:1B inet Acedido addr: crw-rw-rw- através 1 root do Bcast: comando root 5, ifconfig. 0 Aug Mask: tty UP BROADCAST crw--w---- NOTRAILERS 1 root root RUNNING 4, MTU: Mar Metric:1 tty0 collisions:0 crw txqueuelen:100 1 root root 4, 1 Oct 6 14:42 tty1 Interrupt:7 crw--w---- Base address:0x root tty 4, 10 Aug tty10 crw--w root tty 4, 11 Aug tty11 lo Link encap:local... Loopback inet addr: brw-rw root Mask: floppy 2, 0 Aug fd0 UP LOOPBACK brw-rw---- RUNNING 1 root MTU:16436 floppy 2, Metric:1 4 Aug fd0compaq collisions:0 brw-rw---- txqueuelen:0 1 root floppy 2, 4 Aug fd0d360 brw-rw root floppy 2, 12 Aug fd0d Periféricos no /dev (I) A comunicação faz-se através das mesmas primitivas utilizadas nos sistemas de ficheiros. Tal permite a redirecção fácil das E/S de um periférico para um ficheiro, e vice versa. fd = open( /dev/tty0, O_RDWR); write(fd,&buffer,size); read(fd,&buffer,size); 9

10 Periféricos no /dev (II) Cada gestor de periféricos pode gerir mais do que um periférico. O gestor de periféricos para um terminal é igual para todos. Cada periférico é identificado por dois números Major number Identifica o gestor do periférico Minor number Identifica o periférico no domínio dos periféricos geridos pelo mesmo gestor. O nome do periférico só é importante para as aplicações não para o núcleo Periféricos no /dev (III) #ls l /dev crw-rw-rw- 1 root root 5, 0 Aug tty crw--w root root 4, 0 Mar tty0 crw root root 4, 1 Oct 6 14:42 tty1 crw--w root tty 4, 10 Aug tty10 crw--w root tty 4, 11 Aug tty11... brw-rw root floppy 2, 0 Aug fd0 brw-rw root floppy 2, 4 Aug fd0compaq brw-rw root floppy 2, 4 Aug fd0d360 brw-rw root floppy 2, 12 Aug fd0d Major Numbers Majors diferentes = gestores diferentes. Majors iguais = mesmo gestor Minor Numbers Minors diferentes = periféricos diferentes Minors iguais e majors diferentes = periféricos diferentes Majors e Minors iguais = mesmo periférico 10

11 Periféricos no /dev (IV) Os periféricos podem ser divididos em Tipo bloco. Tipo caracter. Os periféricos de tipo bloco permitem a transferência de blocos de dados entre a memória e o periférico. Discos, disquetes, etc. Os periféricos de tipo caracter transferem caracter a caracter. Teclado, Écran, Impressora, rato, etc. Instalação de um GP 1. Inserir o GP na tabelas do Kernel root# insmod./new-driver.o 2. Obter o major em que ficou #root ls /proc/devices Character devices: 1 mem 2 pty 3 ttyp 4 ttys 5 cua 190 new-driver Block devices: 2 fd 3 ide0 22 ide1 3. Criação de i-node Associa um nome ao major number Nome mknod /dev/scull0 c Tipo Caracter Minor Major 11

12 Periféricos no /dev (V) Modo caracter #ls l /dev crw-rw-rw- 1 root root 5, 0 Aug tty crw--w root root 4, 0 Mar tty0 crw root root 4, 1 Oct 6 14:42 tty1 crw--w root tty 4, 10 Aug tty10 crw--w root tty 4, 11 Aug tty11... brw-rw root floppy 2, 0 Aug fd0 brw-rw root floppy 2, 4 Aug fd0compaq brw-rw root floppy 2, 4 Aug fd0d360 brw-rw root floppy 2, 12 Aug fd0d Modo bloco GPs de rede Não são acedidos directamente pelo utilizador. O utilizador acede a uma camada do protocolo (ex. Sockets INET) que passa a outra (ex.: TCP) e a outra (ex.: IP) e por fim ao GP. Todas as camadas estão no núcleo pelo que as funções do GP são acedidas directamente. A informação recebida da rede é colocada num tampão denominado sk_buf e colocado no fila backlog. Sendo posteriormente removida por um processo que se executa periodicamente e encaminha o tampão para o protocolo respectivo 12

13 Instalação de um GP de rede A instalação é semelhante Também pode ser um módulo A função init_module é chamada para iniciar o módulo Quatro diferenças: As funções open/read/write/close foram substituídas por outras mais apropriadas; As tarefas dessas funções são muito diferentes; No registo da tabela de funções não se obtém um número (major); Não é necessário criar um i-node para associar um nome a um número, os nomes são dados implicitamente no código do GP ou em sequência começando em eth0, eth1... Gestores de Periféricos fora do Núcleo O único caso notável que se executa num processo autónomo é a classe de gestores de placas gráficas utilizados pelo sistema X. Estes gestores executam-se no mesmo processo que o servidor X. O servidor X é um processo com privilégios de superutilizador A interface destes gestores é definida pelo servidor X, não pelo sistema operativo. 13

14 Windows 2000 E/S História NT Configuração inicial Dois pontos de viragem das E/S na Gestores de periféricos carregáveis dinamicamente. evolução da plataforma NT. Gestores separados em várias camadas Suporte para vários sistemas de ficheiros. Cada sistema de ficheiros é um gestor de periféricos. NT 4.0 Mudança do gestor de gráficos para o interior do núcleo. Windows 2000 WDM (Windows Driver Model) - gestores de periféricos devem conter mais funções específicas de plug-and-play. Gestores de bus não estão incorporados no HAL menor número de alterações à HAL. Nota: vamos seguir o modelo do Windows

15 Gestor de objectos identifica o periférico. Gestor de E/S controla os pedidos de entradas saídas. Gestores de periféricos contém as funções de manipulação dos periféricos. Gestor de Plug & Play detecta e instala novos periféricos. HAL (Hardware Abstraction Layer) isola os restantes gestores de variações do Hardware. Entidades do Modelo Gestor de Plug & Play Win32 API DLL Gestor de Objectos Gestor de E/S Gestores Gestores de de Periféricos Gestores de Periféricos Periféricos HAL Gestor de Objectos O gestor de objectos mantém todos os objectos do núcleo, incluindo os relativos às entradas saídas Ex.: objectos ficheiro, objectos gestor, objectos periférico. O gestor de objectos traduz um nome para um objecto. Frequentemente o nome utilizado pelos programadores é diferente do nome interno pelo que o gestor de objectos tem que fazer uma tradução inicial. COM1 \Device\Serial0 Device Object c:\foo\bar.txt GLOBAL??\c:\foo\bar.txt \Device\Harddisk0\Partition1\foo\bar.txt Device object [\foo\bar.txt] 15

16 Gestores de periféricos Aplicação MS-DOS GP virtual VDM Win32 API DLL Aplic. Win32 Windows Executive KDD Kernel-mode Device Driver Subsistema Win32 GDI (motor gráfico) GP de Vídeo GP de impressora Spooler GP de núcleo (KDD) GP de núcleo (KDD) Mini gestor de vídeo (KDD) porta paralela (KDD) Tipos de GPs GPs virtuais Utilizados para emular aplicações MS-DOS. Traduzem referências para portos MS-DOS para referências nativas Win32. GPs de Vídeo e Impressora Traduzem ordens de desenho gerais para ordens de desenho específicas para um periférico. GP de núcleo (KDD Kernel-mode device driver) Satisfaz uma interface específica definida pelo WDM (Windows Driver Model). Acede ao hardware. 16

17 Nome do dispositivo no espaço de nomes do Object Manager Permite que a função NTOpenFile seja independente do espaço de nomes utilizado Modelo Computacional RtlInitUnicodeString(&UnicodeString, L \\Device\Harddisk0\DR0 ); InitializeObjectAttributes(&ObjectAttributes, &UnicodeString, OBJ_CASE_INSENSITIVE, NULL, NULL ); Status = NtOpenFile(&Handle, SYNCHRONIZE FILE_READ_DATA FILE_WRITE_DATA, &ObjectAttributes, &IoStatusBlock, FILE_SHARE_WRITE FILE_SHARE_READ); A função de abertura de canal é genérica para qualquer tipo de espaço de nomes e dispositivo NtWriteFile(Handle, NULL, NULL, NULL, &IoStatusBlock, msg, strlen(msg), 0, 0); Espaço de nomes de objectos Nome do dispositivo aberto no código do slide anterior 17

18 Funções de E/S avançadas Funções para além das normais open, close, read, write: E/S Assíncronas Aumenta o desempenho: o processo pode continuar em paralelo com a E/S O programador tem que o especificar aquando da criação do canal. O programador é responsável pela verificação de fim da operação. Internamente todas as operações são assíncronas Se a operação for síncrona, o processo é bloqueado no núcleo Caso contrário o núcleo retorna ao código do utilizador. Para verificar o fim das operações de E/S: Executa-se a função: HasOverlappedIOCompleted() Instalação de um GP Local onde está o código do GP Define a ordem de carregamento dentro do grupo 0x1 - GP de núcleo 0x2 - Sistema de Ficheiros 0x10, 0x40 Serviço 0x0 Boot Start 0x1 System Start (depois dos 0x0) 0x2 Auto Load (system start em paralelo) 0x3 Load on Demand 0x4 - Disable 18

19 Programação de GPs Unix E/S Windows 2000 E/S Arquitectura de comunicação no GP System call Núcleo IORB GP Instruções de I/O ou memória Controlador hardware Bus de E/S ex.: USB Periférico 19

20 Input/Output Request Block (IORB) os IORB são gerados pelas funções de E/S após a validação possível da coerência dos parâmetros: validade do modo de operação pedido (leitura, escrita, etc.) validade do modo de transmissão (cadeias de caracteres, blocos, etc.) um IORB é uma mensagem normalizada que transmite informação para um gestor de periférico: o gestor está normalmente à espera dos IORB e, quando os recebe, desencadeia a operação pedida introduzindo a sequência de controlo adequada no controlador do periférico a partilha de um periférico por vários utilizadores (externos ou módulos do núcleo) pode-se realizar através de uma fila de mensagens onde o gestor recebe os diversos IORB Programa do utilizador Funções de E/S Arquitectura de E/S Programa do utilizador Funções de E/S System Call (ex.: Em Windows int 2Eh ) Gestão de canais virtuais Input Output Request Block (IORB) Leitura/escrita no controlador ou instruções de in/out Gestor de periférico Controlador hardware Barramento de E/S (ex.: USB, SCSI, IDE, RS232, Firewire, etc.) Periférico 8/28/2003 físicosistemas Operativos Gestor de periférico Controlador hardware Periférico físico Interrupções 20

21 Funções do GP esperar por um IORB validar os parâmetros dependentes do periférico programar o controlador do periférico de acordo com o pedido expresso no IORB esperar pela conclusão da operação e analisar ou processar o resultado da mesma: normalmente a conclusão é assinalada por uma interrupção no entanto, as rotinas de interrupção devem executar um conjunto reduzido de instruções durante o mais curto espaço de tempo possível tratamento das condições de erro se necessário transferir dados entre tampões próprios e o espaço de endereçamento do processo do utilizador avisar o processo utilizador da conclusão da operação Programação de um GP Armazenamento temporário de dados: conjunto fixo ou variável de tampões tendo em conta um fluxo médio expectável ou a optimização de transferências regulação de fluxo Interacção com a gestão de memória: fixação de páginas dos processos utilizadores na memória principal utilização de endereços reais em vez de endereços virtuais Rotina de interrupção: determinar a causa da interrupção executar as operações necessárias assinalar ao gestor o respectivo acontecimento (normalmente usando mecanismos especiais e não semáforos) 21

22 GPs no núcleo ou fora do núcleo Processo independente: maior flexibilidade (teoricamente). necessidade de privilégios especiais que permitam ultrapassar as protecções habituais (alta prioridade, controlo de interrupções, gestão de memória, etc.). isolamento de espaços de endereçamento entre os gestores e o núcleo do sistema operativo. Ex.: servidor X na maioria dos sistemas Unix. Integrado no núcleo : poupa o tempo gasto na comutação entre processos. maior simplicidade e redução das operações do núcleo do sistema operativo. Caso mais comum. GP Integrado no Núcleo Utilizador Sistema Interrupção Efectua E/S: - Validação inicial - Função sistema - Validação - Iniciar operação - Esperar (periférico) - Pós-processamento - Tratamento dos valores a retornar Gestor de periférico - Tratamento da interrupção - Assinalar (Periférico) 22

23 GP como Tarefa Independente Utilizador Efectua E/S Função de E/S Gestor de Periférico Rotina de Interrupção Validação Inicial Chamada Sistema Esperar (SemUtil) - Validação - Inicialização do IORB Esperar (SemGestor) Seleccionar IORB - Colocar o IORB na fila do dispositivo - Assinalar (SemGestor) - Retorno Inicializar Operação Esperar (SemPerif) - Pós-processamento - Tratamento dos parâmetros de saída Tratamento da Interrupção Assinalar (SemPerif) - Assinalar (SemUtil) Acesso do SO aos controladores Portabilidade do sistema operativo Virtualização do hardware Acesso ao Hardware (ex.: registos, portos, controladores, etc.) através de uma camada reduzida usualmente escrita em assembly. Em Windows chama-se HAL (Hardware Abstraction Layer) Em Linux, não tem nome mas existem um conjunto de funções que são de utilização recomendável e que efectuam essa abstracção. Estas camadas dificultam a utilização de potencialidades específicas dos processadores. 23

24 Acesso do processador ao controlador Instruções específicas de entradas saídas Alguns processadores possuem instruções específicas para acesso ao espaço de endereçamento de E/S ex.: in R1,300h lê para R1 o valor no endereço 300h do espaço de endereçamento de E/S Este acesso é ortogonal ao acesso a memória pelo que não interfere com os mecanismos de memória virtual. Estas instruções não são normalmente geradas pelos compiladores de linguagens de alto nível pelo que é necessário programá-las em assembly. E/S mapeadas em memória Memória do controlador mapeada no espaço de endereçamento físico do processador. Nos sistemas operativos com memória virtual são necessárias funções que asseguram que determinados endereços virtuais correspondes a endereços físicos. É necessário possuir mecanismos que indiquem que a memória mapeada nestes endereços não é passível de ser colocada em cache. Mesmo em processadores com instruções específicas de entradas saídas este é o método mais utilizado para comunicação com os controladores. Modos de transferência de dados E/S programáticas O processador executa um conjunto de instruções do gestor de periféricos que escrevem/lêem para/do o periférico. Direct Memory Access (DMA) Unidade de hardware especializada que transfere blocos de dados da memória para a memória do periférico. Presente na maioria do computadores. Permite libertar o processador para computação interna e com acesso à cache, mas usualmente não permite o acesso à memória. Processador de periféricos Processador especializado que partilha a memória com o processador principal e gere o acesso aos controladores. Muito pouco comum (ex.: CDC6600) 24

25 Arquitectura do Computador com DMA CPU Cache Barramento do CPU Em simultâneo com a transferência de DMA Bridge Barramento da Memória Memória DMA Bridge e.g. PCI Controlador Rato Controlador Disco Sincronização Os GPs têm de sincronizar o acesso aos dados globais. A execução de um GP pode ser interrompida para dar lugar a uma tarefa de maior prioridade (preempção) O código pode ser executado por mais do que um processador em simultâneo Soluções Aumentar o nível da interrupção Spinlocks 25

26 Unix E/S Estruturas do núcleo - /dev - Rede Sincronização Periféricos no /dev Realização de uma operação num periférico Localização do periférico Agulhagem da operação/interrupção Criação de um periférico 26

27 Localização do Major/Minor a partir do descritor de ficheiros P0 Pn Tabela de ficheiros abertos Write(fd,...); fd índice da tabela de descritores de ficheiros inode... Major Minor... Localização do Major/Minor a partir do descritor de ficheiros A abertura de um periférico é feita com o comando open tal como para um ficheiro Facilita o redirecionamento O método de abertura é semelhante Depois de aberto a tabela de ficheiros abertos fica com uma nova entrada que aponta para um i-node. O i-node contém o major e o minor do periférico (veremos à frente como criar esse i-node especial). 27

28 Agulhagem das funções Tabela de Despacho Major N open close read write ioctl 0 conopen conclose conread conwrite conioctl 1 syopen nulldev syread sywrite syioctl Arquitectura Interna das Entradas/Saídas open close read write ioctl open/mount close/unmount read write cache Tabela de Despacho para Dispositivos Carácter Tabela de Despacho para Dispositivos Bloco Rotina dos Gestores de Periféricos Rotina de Interrupção Rotina dos Gestores de Periféricos Rotina de Interrupção Vector de Interrupção Vector de Interrupção Agulhagem das funções Existe uma tabela com todos os gestores de periféricos. Cada GP tem as suas funções específicas. Essas funções são apontadas pela tabela e indexadas pelo major. Com o major obtido no passo anterior é possível chamar a função respectiva e passar-lhe o minor. 28

29 Criação de um GP Carregamento do módulo com o GP Registo das funções Registo da interrupção Reserva de memória Operações realizadas pelo código do GP Carregamento de um módulo O linux suporta carregamento de módulos: #define MODULE #include <linux/module.h> int init_module(void) { printk("<1>hello, world\n"); return 0; } void cleanup_module(void) { printk("<1>goodbye cruel world\n"); } Para carregar um módulo root# gcc -c hello.c root# insmod./hello.o Hello, world root# rmmod hello Goodbye cruel world root# 29

30 Insmod Obtém a tabela de símbolos do Kernel para resolver as chamadas do módulo ao kernel (ex.. printk) Chama a função sys_init_module que: Reserva memória para o módulo Copia o código para a memória reservada Resolve as chamadas ao kernel Chama a rotina de inicialização do módulo (int init_module(void)) Registo das funções struct file_operations scull_fops = { llseek: scull_llseek, read: scull_read, write: scull_write, ioctl: scull_ioctl, open: scull_open, release: scull_release, }; Funções definidas anteriormente Chamada pelo int init_module(void) {... cmd insmod /* Register your major, and accept a dynamic number. */ result = register_chrdev(scull_major, "scull", &scull_fops); if (result < 0) { printk(kern_warning "scull: can't get major %d\n",scull_major) return result; } if (scull_major == 0) scull_major = result; /* dynamic */ 30

31 Registro de interrupções if (short_irq >= 0) { result = request_irq(short_irq, short_interrupt, SA_INTERRUPT, "short", NULL); if (result) { printk(kern_info "short: can t get assigned irq %i\n", short_irq); short_irq = -1; } else { /* actually enable it -- assume this *is* a parallel port */ outb(0x10,short_base+2); } } ls /proc/interrupts Memória E/S (PCI/ISA mem) Dependendo da arquitectura o acesso ao hardware dos periféricos pode ser efectuado por: Instruções de in e out específicas Memória paginada Memória não paginada Para garantir independência da arquitectura o acesso é feito através de funções específicas. 31

32 Memória E/S (PCI/ISA mem) if (check_mem_region(mem_addr, mem_size)) { printk("drivername: memory already in use\n"); return -EBUSY; } request_mem_region(mem_addr, mem_size, "drivername"); [...] unsigned readb(address); unsigned readw(address); unsigned readl(address); void writeb(unsigned value, address); void writew(unsigned value, address); void writel(unsigned value, address); [...] release_mem_region(mem_addr, mem_size); Sincronização I Activação/Desactivação de interrupções Sti() / Cli() Não aconselhável porque reduz o desempenho e em multiprocessadores não funciona Spinlock spinlock_t my_lock = SPIN_LOCK_UNLOCKED; spin_lock_init(&my_lock); spin_unlock(spinlock_t *lock); [...] /* Outras variantes */ 32

33 Sincronização II Variáveis de sincronização Bits Inteiros /* try to set lock */ while (test_and_set_bit(nr, addr)!= 0) wait_for_a_while(); /* do your work */ /* release lock, and check... */ if (test_and_clear_bit(nr, addr) == 0) something_went_wrong(); /*already released: error*/ int atomic_inc_and_test(atomic_t *v); int atomic_dec_and_test(atomic_t *v); int atomic_add_and_test(int i, atomic_t *v); int atomic_sub_and_test(int i, atomic_t *v); Windows 2000 E/S 33

34 Tipos de GPs de núcleo Sistema de ficheiros. Aceita pedidos para ficheiros e emite pedidos para periféricos. Gestor intermédio. Intercepta pedidos de E/S e executa processamento adicional. Gestor de periféricos. Realiza as E/S para um conjunto de periféricos semelhante. Mini gestor. Gestor reduzido que utiliza a funcionalidades de um gestor genérico. Utilizado para simplificar o desenvolvimento de GPs. Gestor de barramento. Gere a comunicação com os periféricos de um barramento. Identifica novos periféricos (Plug and Play) e passa essa informação ao Gestor de Plug and Play. Relações entre GPs de núcleo Interface do subsistema de E/S SF de CD-ROM GP de CD-ROM NTFS Gestor de bus FAT Disco virtual (redundância e uniformização) Gestor de Disco Mini gestor de bus Sistemas de ficheiros (têm que ser os primeiros gestores) Gestor intermédio de cima (seria debaixo se fosse colocado depois do gestor de periférico) Gestores de periférico (podem incluir mini gestores) Gestor de barramento. Comunica directamente com o HAL ou com outro gestor intermédio ou de barramento. Mini gestor. Podem existir minigestores noutros tipos de gestores, e.g. gestor da placa gráfica. 34

35 Permite a escrita em vários discos em simultâneo Gestor de redundância Inserção de um GP intermédio Gestor de E/S NtWriteFile(fh,buffer) Serviços Sistema Escreve buffer a partir de uma posição de um ficheiro Utilizador Núcleo Sistema de ficheiros Traduz deslocamento no ficheiro para deslocamento relativo no disco Gestor de disco Traduz deslocamento relativo do disco para localização física e escreve buffer. Gestor de bus Elimina pedido Estrutura de um GP WDM DriverEntry é invocada sempre que um gestor de periféricos é inicializado. AddDevice é invocada sempre que o gestor de Plug&Play encontra um novo periférico. As funções de despacho são as usuais de read/write/ioctl/create/close. A rotina unload é invocada para remover o gestor. A rotina de serviço de interrupção é executada aquando de uma interrupção; envia uma DPC. A rotina de serviço da DPC efectua o trabalho da interrupção. DriverEntry AddDevice Funções de despacho Unload Rotina de serviço de interrupção Rotina de serviço de DPC Outras opcionais Obrigatórias Opcionais Deferred Procedure Call Reduz a dimensão da rotina de interrupção de modo a promover a interactividade. 35

36 Modelo Funcional A informação sobre os periféricos, os gestores de periféricos, e os canais abertos entre utilizadores e periféricos são mantidos em objectos do núcleo. Os objectos do núcleo Windows são simples estruturas de dados com vários campos que descrevem o objecto. Existem quatro tipos de objecto manipulados pelo subsistema de E/S Ficheiro. Gestor de periférico. Periférico. Pedido de E/S. Modelo Funcional - Tipos de Objectos Objecto ficheiro Representa um ficheiros aberto, ou um canal para um dispositivo. Ex.: Nome, Tipo de acesso (exclusivo, partilhado), ponteiro para o objecto do periférico. Objecto periférico Representa um periférico físico ou lógico. Descreve várias características do dispositivo e mantém as filas de pedidos pendentes e de DPCs pendentes. Objecto gestor de periférico. Representa um GP Contém referências para as funções de um gestor. 36

37 Gestor de E/S Entrega os pacotes com os pedidos de E/S aos GPs (IRPs I/O request packets). Fornece algumas funções de suporte utilizadas pelos GPs, de modo a simplificar os GPs. Permite que um GP comunique com outro GP de forma padronizada. Gere os tampões de entrada saída Gestor de E/S Cria um IRP para cada E/S. Entrega o IRP ao respectivo GP. Recebe o IRP do GP. Entrega o IRP a outro GP ou Apaga o IRP. GP Recebe IRP. Executa o pedido. Entrega o IRP ao Gestor de E/S Modelo Funcional Relações entre objectos Objecto gestor de periférico DriverEntry AddDevice Read Write Objecto Ficheiro O gestor de objectos começa por obter um ponteiro para o Objecto ficheiro a partir do nome. A partir desse ponteiro é invocada a função respectiva tendo como parâmetros o objecto periférico e o objecto com o pedido de E/S Objecto periférico Objecto periférico Objecto periférico 37

38 Modelo Funcional Acesso a um GP Gestor de E/S cria objecto pedido com um pedido para o sistema de ficheiros. Pedido esse que contém um apontador para um objecto ficheiro. Obtém o endereço do objecto gestor a partir do objecto ficheiro e invoca a função respectiva. Utiliza o resultado do pedido anterior para efectuar o pedido seguinte. Gestor de E/S Objecto periférico Serviços Sistema Objecto gestor do Sistema de ficheiros Objecto gestor de disco Gestor de bus NtWriteFile(fh,buffer) Objecto ficheiro Utilizador Núcleo Cabeçalho Do Objecto Pedido p/ o Sistema de ficheiros Pedido p/ o disco Pedido p/ o barramento Elimina o objecto pedido. Funções de E/S avançadas (II) E/S rápidas (Fast I/O) Não gera os IRPs. Vai directamente à cache do sistema. Ficheiros mapeados em memória (Mapped File I/O) CreateFileMapping()/MapViewOfFile(). Utilizado pelos gestores de sistemas de ficheiros. A cache cresce dinamicamente. 38

39 Acesso aos Periféricos E/S programadas O código do gestor é que comanda a transferência. Acesso: memória partilhada; registo partilhado; instruções de E/S. E/S por DMA Controlam o barramento onde está o periférico. Podem aceder directamente à memória principal. Acesso aos periféricos Espalha/Reagrupa (Scatter/Gather) Método de E/S avançado fornecido pela HAL Utilizado para escrever/ler tampões virtuais espalhados por várias páginas físicas. Se possível utiliza o encadeamento de pedidos no DMA. Nalgumas arquitectura (alpha) utiliza a UGM existente entre barramentos para que o DMA aceda a memória virtual e não física. Nas arquitecturas x86 a sua utilização é discutível porque a HAL fornece ao DMA uma zona contígua e depois tem de efectuar outra cópia para as páginas finais. 39

40 Sincronização No Kernel do NT são utilizados dois mecanismos de sincronização Elevação do IRQL (só em uniprocessadores) SpinLock (em multiprocessadores) 4) É criado um novo objecto para o periférico e é lhe pedido para devolver a sua configuração. Objecto do novo periférico Plug&Play Gestor Plug&Play Gestor Plug&Play utilizador núcleo 6) Finalmente obtém o gestor do periférico e instala-o 5) Como ainda não existe gestor específico para o periférico quem responde é o gestor de barramento Gestor de 3) É pedida uma nova Barramento lista de periféricos no barramento. 2) O gestor de barramento envia uma mensagem de lista de objectos no barramento inválida. 1) O gestor de barramento detecta um novo periférico (dependente do barramento) 40

Entradas/Saídas. Introdução

Entradas/Saídas. Introdução Entradas/Saídas Modelo Conceptual Gestor de Periféricos Unix E/S Windows 2000 E/S Introdução Parte do SO que permite a um programa interagir com o ambiente que o rodeia. Cria canais virtuais entre os programas

Leia mais

Entradas/Saídas Modelo Conceptual Gestor de Periféricos Unix E/S Windows 2000 E/S

Entradas/Saídas Modelo Conceptual Gestor de Periféricos Unix E/S Windows 2000 E/S Entradas/Saídas Modelo Conceptual Gestor de Periféricos Unix E/S Windows 2000 E/S Introdução Parte do SO que permite a um programa interagir com o ambiente que o rodeia. Cria canais virtuais entre os programas

Leia mais

Input/Output. Hardware de I/O. Dispositivos de bloco ou caracter Software de I/O deve suportar velocidades diferentes

Input/Output. Hardware de I/O. Dispositivos de bloco ou caracter Software de I/O deve suportar velocidades diferentes Input/Output 1 Hardware de I/O Dispositivos de bloco ou caracter Software de I/O deve suportar velocidades diferentes 2 1 Controlador de Dispositivo Dispositivos de I/O têm 2 componentes: Componente mecânico

Leia mais

Sistemas Operativos I/O. Rui Maranhão

Sistemas Operativos I/O. Rui Maranhão Sistemas Operativos I/O Rui Maranhão (rma@fe.up.pt) I/O (E/S)? Parte do SO que permite interagir (convenientemente) com o ambiente que o rodeia Cria canais virtuais entre os programas e os periféricos

Leia mais

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

Módulo 3 - Estrutura e configuração de Sistemas Operativos monoposto Módulo 3 - Estrutura e configuração de Sistemas Operativos monoposto 20-05-2009 - Aula nº 121,122 Funções de um Sistema Operativo Gestão do processador ao nível da sua planificação Gestão da Memória Gestão

Leia mais

Introdução aos Sistemas Operacionais. Subsistema de Entrada e Saída

Introdução aos Sistemas Operacionais. Subsistema de Entrada e Saída Introdução aos Sistemas Operacionais Subsistema de Entrada e Saída Eleri Cardozo FEEC/Unicamp Entrada e Saída O subsistema de entrada e saída é responsável pela interface entre o sistema operacional e

Leia mais

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

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos UFRJ IM - DCC Sistemas Operacionais I Unidade IV Gerência de Recursos Entrada e Saída 02/12/2014 Prof. Valeria M. Bastos 1 ORGANIZAÇÃO DA UNIDADE Gerência de Entrada e Saída Fundamentos Evolução Estrutura

Leia mais

Entrada e Saída e Dispositivos

Entrada e Saída e Dispositivos Entrada e Saída e Dispositivos Uma das funções do Sistema Operacional é: - Gerência de dispositivos de E/S. Operações: - Tratamento de interrupções - Tratamento erros - Interfaceamento entre os dispositivos

Leia mais

Gerência de Entrada e Saída

Gerência de Entrada e Saída Gerência de Entrada e Saída Dispositivos de Entrada e Saída (1) Constituídos de 2 partes: Mecânica Eletrônica Controladora ou Adaptadora Controladora Placa ligada a um slot livre, ou inserida diretamente

Leia mais

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

Entrada/Saída. Capítulo 5. Sistemas Operacionais João Bosco Junior - Capítulo 5 Afirmações Entrada/Saída Introdução Processos se comunicam com o mundo externo através de dispositivos de E/S. Processos não querem ou não precisam entender como funciona o hardware. Função

Leia mais

Sistemas de Entrada e Saída

Sistemas de Entrada e Saída Sistemas de Entrada e Saída Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Maio, 2016 1 / 33 Sumário 1 Dispositivos de E/S 2 Interrupções 3 Software de E/S 2

Leia mais

Infra-Estrutura de Software

Infra-Estrutura de Software Infra-Estrutura de Software Entrada / Saída Diversidade de dispositivos Hardware de E/S Características de dispositivos Caracter: transferem bytes um a um. Ex.terminal Bloco: transferem bytes em bloco.

Leia mais

Estruturas de Sistemas Operacionais

Estruturas de Sistemas Operacionais Estruturas de Sistemas Operacionais Sistemas Operacionais - Tópicos Componentes do Sistema Serviços de Sistemas Operacionais Chamadas ao Sistema Estrutura do Sistema Máquinas Virtuais Chamadas ao Sistema

Leia mais

Função Fundamental do SO

Função Fundamental do SO Função Fundamental do SO Gestão do Hardware Uma das funções fundamentais do sistema operativo é gerir os recursos do hardware de um modo o mais transparente possível ao utilizador Recursos principais a

Leia mais

Segurança em Sistemas Operativos

Segurança em Sistemas Operativos Segurança em Sistemas Operativos André Zúquete Segurança Informática e nas Organizações 1 Sistema Operativo Servidor Aplicação modo utilizador: Execução no modo normal do CPU, sem acesso a instruções privilegiadas

Leia mais

Caching. Caches do Sistema de Ficheiros

Caching. Caches do Sistema de Ficheiros Caching Caches do Sistema de Ficheiros Acessos aos dispositivos de memória de massa: 4 a 5 ordens de grandeza mais lentos que os acessos a memória, Como usar caches para reduzir peso das escritas e leituras

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Entrada e Saída Slide 1 Entrada e Saída Dispositivos Externos E/S Programada Organização e Arquitetura de Computadores I Sumário E/S Dirigida por Interrupção

Leia mais

Cap. 12 Gerência de Dispositivos 1

Cap. 12 Gerência de Dispositivos 1 Arquitetura de Sistemas Operacionais Técnico em Informática MBI-1 e NBI-1 Gerência de Dispositivos Cap. 12 Gerência de Dispositivos 1 Introdução Sumário Acesso ao Subsistema de Entrada e Saída Subsistema

Leia mais

Universidade Federal de Minas Gerais. Sistemas Operacionais. Aula 19. Sistema de Entrada/Saída

Universidade Federal de Minas Gerais. Sistemas Operacionais. Aula 19. Sistema de Entrada/Saída Aula 19 Sistema de Entrada/Saída Sistema de E/S Por que estudar? Essenciais! Muitos tipos: - mouse - discos - impressora - scanner - rede - modem Cada fabricante complica de um jeito diferente. Tempos

Leia mais

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

PCS-2529 Introdução aos Processadores. Prof. Dr. Paulo Sérgio Cugnasca PCS-2529 Introdução aos Processadores Prof. Dr. Paulo Sérgio Cugnasca 1 2 Existem 4 esquemas diferentes de E/S possíveis, cada um se aplicando em uma determinada situação. E/S Programada. E/S Acionada

Leia mais

Sistemas Opera r cionais Sistemas de E/S 1

Sistemas Opera r cionais Sistemas de E/S 1 Sistemas Operacionais Sistemas de E/S 1 Hardware I/O Grande variedade de dispositivos I/O: Dispositivos de memória (discos, cd-rom, fitas) Dispositivos de transmissão (placas de rede e modems) Dipositivos

Leia mais

Sistemas Operacionais. Sistema de entrada e Saída

Sistemas Operacionais. Sistema de entrada e Saída Sistemas Operacionais Sistema de entrada e Saída Sistema de Entrada e Saída I/O É uma das principais tarefas de um sistema computacional Como máquina abstrata o S.O. deve oferecer uma visão padronizada

Leia mais

Organização de Computadores

Organização de Computadores Organização de Computadores Aula 23 Entrada e Saída (I/O) Rodrigo Hausen 03 de novembro de 2011 http://cuco.pro.br/ach2034 1/62 Apresentação 1. Bases Teóricas 2. Organização de computadores... 2.3. Estruturas

Leia mais

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

Capítulo 13: Sistemas de E/S. Operating System Concepts with Java 7th Edition, Nov 15, 2006 Capítulo 13: Sistemas de E/S Capítulo 13: Sistemas de E/S Hardware de E/S Interface de E/S da aplicação Subsistema de E/S do kernel Transformando requisições de E/S em operações de hardware Fluxos Desempenho

Leia mais

Informática Básica. Licenciatura em Ciência da Informação. Tito Carlos S. Vieira. Tito Carlos S. Vieira

Informática Básica. Licenciatura em Ciência da Informação. Tito Carlos S. Vieira.   Tito Carlos S. Vieira Informática Básica Licenciatura em Ciência da Informação Tito Carlos S. Vieira E-mail: tito@fe.up.pt 1 Parte II Sistemas Operativos (Utilização do Windows) 2 Sumário O que é um Sistema Operativo (SO)?

Leia mais

SSC0611 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores SSC0611 Arquitetura de Computadores 6ª Aula Entrada e Saída Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Estrutura da máquina de von Neumann Dispositivos Periféricos Interface com o mundo exterior

Leia mais

Sistemas Operacionais. Entrada/Saída

Sistemas Operacionais. Entrada/Saída Sistemas Operacionais Entrada/Saída Atualizado em 28/02/2014 Como ocorre a comunicação de E/S Aplicação Operações de E/S Chamadas de Sistema S.O. Subsistema de E/S Núcleo (Kernel) Drivers HARDWARE Controladoras

Leia mais

LEIC/LERC 2008/09 Primeiro Teste de Sistemas Operativos

LEIC/LERC 2008/09 Primeiro Teste de Sistemas Operativos Nome: Número: LEIC/LERC 008/09 Primeiro Teste de Sistemas Operativos de Novembro de 008 Duração: h0m Identifique o cabeçalho de todas as folhas da prova. O teste é resolvido no espaço dedicado ao efeito

Leia mais

Sistemas de Arquivos. (Aula 23)

Sistemas de Arquivos. (Aula 23) Sistemas de Arquivos (Aula 23) Funções de um SO Gerência de processos Gerência de memória Gerência de Arquivos Gerência de I/O Sistema de Proteção 2 Sistemas Operacionais 2008/1 Necessidade de Armazenamento

Leia mais

Sistemas Operativos. Luís Paulo Reis. Sistemas Operativos. Sumário

Sistemas Operativos. Luís Paulo Reis. Sistemas Operativos. Sumário Sistemas Operativos Luís Paulo Reis Slide Nº 1 Sistemas Operativos Sumário O que é um Sistema Operativo (SO)? Modelo em Camadas de um SO Abstracções Suportadas por um SO: Utilizador Processo Ficheiro /

Leia mais

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

Gerência de Dispositivos. Adão de Melo Neto Gerência de Dispositivos Adão de Melo Neto 1 Gerência de Dispositivos Introdução Acesso ao Subsistema de E/S Subsistema de E/S Device Drivers Controladores Dispositivos de E/S Discos Magnéticos Desempenho,

Leia mais

LABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO

LABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO LABORATÓRIO DE SISTEMAS OPERACIONAIS PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO Sistema Operacional Conteúdo retirado do livro Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo

Leia mais

Arquitetura de Sistemas Operativos

Arquitetura de Sistemas Operativos Arquitetura de Sistemas Operativos Sistemas Operativos 2011/2012 1 Introdução Gestão de Programas Introdução Os sistemas operativos gerem um conjunto de funções básicas que têm evoluído ao longo dos tempos.

Leia mais

2 - Organização do Sistema Operativo. Prof. Ricardo Silva

2 - Organização do Sistema Operativo. Prof. Ricardo Silva 2 - Organização do Sistema Operativo Prof. Ricardo Silva Sumário Principais Elementos da Arquitectura de Sistemas Operativos Núcleo Chamadas ao sistema Processos de sistema Evolução da organização do núcleo

Leia mais

Sumário. Ficheiros. Ficheiros

Sumário. Ficheiros. Ficheiros Sumário Ficheiros Motivação Operações Ficheiros de texto e binários Manipulação de ficheiros de texto Abertura Encerramento Descritores de ficheiros: stdin, stdout, stderr Escrita Leitura Outras funções

Leia mais

Introdução aos Sistemas Operativos

Introdução aos Sistemas Operativos Introdução aos Sistemas Operativos Baseado em: Andrew S. Tanenbaum. Modern Operating Systems, Prentice-Hall, 1992 FEUP/INESC http://www.fe.up.pt/~jlopes/teach/ jlopes@inescn.pt v 1.0, Outubro de 1997 Introdução

Leia mais

João Correia Lopes. v 1.0, Outubro de Introdução aos Sistemas Operativos v1.0 1

João Correia Lopes. v 1.0, Outubro de Introdução aos Sistemas Operativos v1.0 1 Introdução aos Sistemas Operativos Baseado em: Andrew S. Tanenbaum. Modern Operating Systems, Prentice-Hall, 1992 FEUP/INESC http://www.fe.up.pt/~jlopes/teach/ jlopes@inescn.pt v 1.0, Outubro de 1997 Introdução

Leia mais

Sistemas Operacionais

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

Leia mais

SSC0640 Sistemas Operacionais I

SSC0640 Sistemas Operacionais I SSC0640 Sistemas Operacionais I 20ª Aula Gerenciamento de Dispositivos de E/S Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Slides adaptados de Marcos José Santana / Regina H. C. Santana / Luciana A.

Leia mais

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar - Aula 1-1. 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 (SO) deve ser capaz de enviar comando

Leia mais

Introdução. Para que serve um Sistema Operativo? Page. Sistemas Operativos 2008 / Departamento de Engenharia Informática

Introdução. Para que serve um Sistema Operativo? Page. Sistemas Operativos 2008 / Departamento de Engenharia Informática Introdução Sistemas Operativos 2008 / 2009 Para que serve um Sistema Operativo? Para que serve um Sistema Operativo? Gerir Recursos Seria difícil às aplicações controlar todos os aspectos da máquina física

Leia mais

Gestão de Memória. Espaço de Endereçamento

Gestão de Memória. Espaço de Endereçamento Gestão de Memória Parte I Mecanismos Espaço de Endereçamento Conjunto de posições de memória que um processo pode referenciar E se referenciar outras posições de memória? HW de gestão de memória desencadeia

Leia mais

2.1 Circuitos electrónicos analógicos Circuitos electrónicos digitais...29

2.1 Circuitos electrónicos analógicos Circuitos electrónicos digitais...29 Índice Geral Agradecimentos... vii Prefácio... ix Índice Geral... xiii Índice das Simulações... xxiii Índice das Figuras... xxvii Índice das Tabelas... xli Índice dos Programas... li 1 - Introdução ao

Leia mais

FCA - Editora de Informática xv

FCA - Editora de Informática xv Índice Geral Agradecimentos ix Prefácio xi Índice das Simulações xxv 1 - Introdução ao mundo dos computadores 1 1.1 O computador como ferramenta... 2 1.2 A importância dos computadores... 4 1.3 Processamento

Leia mais

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 Processo Um programa em execução Gerência de Processos Contexto de Processo Conjunto de Informações para gerenciamento de processo CPU: Registradores Memória: Posições em uso E/S: Estado das requisições

Leia mais

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 Processo Um programa em execução Gerência de Processos Contexto de Processo Conjunto de Informações para gerenciamento de processo CPU: Registradores Memória: Posições em uso E/S: Estado das requisições

Leia mais

Organização de um computador. O que é um computador Organização de um computador Arquitectura de von Neumann

Organização de um computador. O que é um computador Organização de um computador Arquitectura de von Neumann Organização de um computador O que é um computador Organização de um computador Arquitectura de von Neumann Execução de um programa Como um computador executa um programa? O que é um computador? E um programa?

Leia mais

Introdução ao Gerenciamento de Entrada e Saída (E/S)

Introdução ao Gerenciamento de Entrada e Saída (E/S) Introdução ao Gerenciamento de Entrada e Saída (E/S) Adriano J Holanda 26/4/2016 Entrada e Saída: E/S teclado mouse impressora disco rígido monitor processador controladora controladora placa de de disco

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I BARRAMENTO Slide 1 Sumário Introdução Componentes de Computador Funções dos Computadores Estruturas de Interconexão Interconexão de Barramentos Slide 2 Introdução

Leia mais

Sistemas Operacionais Aula 15: Sistemas de I/O. Ezequiel R. Zorzal

Sistemas Operacionais Aula 15: Sistemas de I/O. Ezequiel R. Zorzal Sistemas Operacionais Aula 15: Sistemas de I/O Ezequiel R. Zorzal ezorzal@unifesp.br www.realidadeaumentada.com.br Objetivos Explorar a estrutura do subsistema de E/S de um sistema operacional Discutir

Leia mais

Instalação e Manutenção de Computadores Sandra Silva

Instalação e Manutenção de Computadores Sandra Silva Instalação e Manutenção de Computadores Sandra Silva 2010 Unicenter. Todos os direitos reservados Hardware vs software Hardware É a parte física do computador, ou seja, o conjunto de dispositivos responsáveis

Leia mais

Sumário. Sistemas Operativos 1

Sumário. Sistemas Operativos 1 Sumário Requisitos mínimos do hardware para suportar um SO protegido (ex: Windows/Linux) Mecanismos hardware de suporte nas arquitecturas x86/x64 Sequência de chamada de serviços sistema no Windows a 32

Leia mais

Notas da Aula 14 - Fundamentos de Sistemas Operacionais

Notas da Aula 14 - Fundamentos de Sistemas Operacionais Notas da Aula 14 - Fundamentos de Sistemas Operacionais 1. Dispositivos de E/S Uma operação de entrada e saída é aquela que envolve a leitura ou escrita de dados a partir de dispositivos que estão fora

Leia mais

LEIC/LERC 2011/12-1º Exame de Sistemas Operativos 16/Janeiro/2012

LEIC/LERC 2011/12-1º Exame de Sistemas Operativos 16/Janeiro/2012 Número: Nome: LEIC/LERC 2011/12-1º Exame de Sistemas Operativos 16/Janeiro/2012 Identifique todas as folhas. Responda no enunciado, apenas no espaço fornecido. Justifique todas as respostas. Duração: 2h30m

Leia mais

Barramento. Prof. Leonardo Barreto Campos 1

Barramento. Prof. Leonardo Barreto Campos 1 Barramento Prof. Leonardo Barreto Campos 1 Sumário Introdução; Componentes do Computador; Funções dos Computadores; Estrutura de Interconexão; Interconexão de Barramentos Elementos de projeto de barramento;

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 3.4 SISTEMA DE ENTRADA E SAÍDA Prof. Luiz Gustavo A. Martins Arquitetura de von Newmann: Computadores atuais Componentes estruturais: Memória Principal Unidade de Processamento

Leia mais

Entrada e Saída (E/S)

Entrada e Saída (E/S) Organização e Arquitetura de Computadores Entrada e Saída (E/S) Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Baseado no material do prof. Sílvio Fernandes

Leia mais

Dispositivos de Entrada e Saída

Dispositivos de Entrada e Saída Departamento de Ciência da Computação - UFF Dispositivos de Entrada e Saída Profa. Débora Christina Muchaluat Saade debora@midiacom.uff.br Problemas com Entrada e Saída ü Periféricos possuem características

Leia mais

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

Gerência de Dispositivos. Adão de Melo Neto Gerência de Dispositivos Adão de Melo Neto 1 Gerência de Dispositivos Gerência de Dispositivos Dispositivos de E/S Device Drivers Controladores Subsistema de E/S 2 Gerência de Dispositivos A gerência de

Leia mais

Entrada e Saída. Tópicos de E/S

Entrada e Saída. Tópicos de E/S Entrada e Saída Prof. Alexandre Beletti Cap. 3 Stallings, Cap. 10 Monteiro, Cap. 2 Tanenbaum, Cap. 15 -Weber Tópicos de E/S Introdução Tipos de E/S E/S por Programa (Programada) Interrupção DMA 1 Entrada:

Leia mais

Dispositivos de Entrada/Saída

Dispositivos de Entrada/Saída Dispositivos de Entrada/Saída Grande variedade de dispositivos de E/S: Dispositivo Taxa de transmissão Teclado 10 byte/s Rato 100 byte/s Modem 56 kbit/s Linha ISDN 128 kbit/s Impressora Laser 100 kbyte/s

Leia mais

1/24 FICHEIROS DE TEXTO

1/24 FICHEIROS DE TEXTO 1/24 FICHEIROS DE TEXTO Hardware de entrada/saída 2/24 Hardware de entrada/saída Grande variedade de dispositivos de E/S (Input/Output) - de memória: disco interno e externo, DVD, pen, CD,... - de transmissão:

Leia mais

LEIC/LERC 2010/11 2º Exame de Sistemas Operativos

LEIC/LERC 2010/11 2º Exame de Sistemas Operativos Número: Nome: LEIC/LERC 2010/11 2º Exame de Sistemas Operativos 2 de Fevereiro de 2011 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração: 2h30m Grupo I [ 2,9 valores]

Leia mais

Programação. Module Introduction. Cap. 1 Fundamentos de Computadores

Programação. Module Introduction. Cap. 1 Fundamentos de Computadores Engenharia Informática (5374) - 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) - 1º ano, 1º semestre Bioengenharia (9099) 2º ano, 1º semestre Ciências Biomédicas (10135) 2º ano, 1º semestre

Leia mais

Entrada e saída Introdução hardware de E/S

Entrada e saída Introdução hardware de E/S Introdução hardware de E/S Carlos Gustavo A. da Rocha Introdução Uma das principais funções dos SOs é controlar os dispositivos de E/S ligados ao computador O SO se comunica de fato com cada dispositivo,

Leia mais

Estrutura de Sistemas Operacionais. Capítulo 1: Introdução

Estrutura de Sistemas Operacionais. Capítulo 1: Introdução Estrutura de Sistemas Operacionais 1.1 Silberschatz, Galvin and Gagne 2005 Capítulo 1: Introdução O que faz um sistema operacional? Revisão da organização de um computador Revisão de alguns conceitos de

Leia mais

Sistemas de Entrada e Saída

Sistemas de Entrada e Saída Sistemas de Entrada e Saída Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Maio, 2016 1 / 31 Sumário 1 Interrupções 2 Camadas de Software de E/S 2 / 31 Interrupções

Leia mais

MICROPROCESSADORES. Unidade de Entrada/Saída (I/O) Nuno Cavaco Gomes Horta. Universidade Técnica de Lisboa / Instituto Superior Técnico

MICROPROCESSADORES. Unidade de Entrada/Saída (I/O) Nuno Cavaco Gomes Horta. Universidade Técnica de Lisboa / Instituto Superior Técnico MICROPROCESSADORES (I/O) Nuno Cavaco Gomes Horta Universidade Técnica de Lisboa / Instituto Superior Técnico Sumário Introdução Unidade de Processamento Unidade de Controlo Conjunto de Instruções Unidade

Leia mais

Introdução a Tecnologia da Informação

Introdução a Tecnologia da Informação Introdução a Tecnologia da Informação Arquitetura de Computadores Hardware e Software Prof. Jeime Nunes p Tipos de memória n RAM (random access memory) - memória de acesso aleatório, é volátil e permite

Leia mais

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

Aula 03 - Concorrência. por Sediane Carmem Lunardi Hernandes 1 Aula 03 - Concorrência por Sediane Carmem Lunardi Hernandes 2 1. Introdução Sistemas operacionais podem ser vistos como um conjunto de rotinas executadas concorrentemente de forma ordenada Princípio

Leia mais

Segurança em Sistemas Operativos

Segurança em Sistemas Operativos Segurança em Sistemas Operativos André Zúquete Segurança Informática e nas Organizações 1 Sistema Operativo Servidor Aplicação Função no núcleo do sistema operativo (kernel) Virtualizar o hardware Modelo

Leia mais

Tecnologias da Informação e da Comunicação

Tecnologias da Informação e da Comunicação Tecnologias da Informação e da Comunicação Escola Básica de Mourão Ano lectivo 2012/2013 Professora: Ana Chalaça Hardware e Software Os Sistemas informáticos são constituídos por: Hardware Software Hardware

Leia mais

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

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 Periféricos possuem características diferentes Geram diferentes quantidades de dados Em velocidades diferentes Em formatos diferentes Periféricos são mais lentos que UCP e Memória Necessita-se de módulos

Leia mais

http://www.ic.uff.br/~debora/fac! 1 Periféricos possuem características diferentes Geram diferentes quantidades de dados Em velocidades diferentes Em formatos diferentes Periféricos são mais lentos que

Leia mais

Programação. MEAer e LEE. Manipulação de ficheiros de texto. Bertinho Andrade da Costa. Instituto Superior Técnico. 2010/2011 1º Semestre

Programação. MEAer e LEE. Manipulação de ficheiros de texto. Bertinho Andrade da Costa. Instituto Superior Técnico. 2010/2011 1º Semestre Programação MEAer e LEE Bertinho Andrade da Costa 2010/2011 1º Semestre Instituto Superior Técnico Manipulação de ficheiros de texto Programação 2010/2011 IST-DEEC Manipulação de Ficheiros 1 Sumário Ficheiros

Leia mais

Sistemas Distribuídos Aula 2

Sistemas Distribuídos Aula 2 Sistemas Distribuídos Aula 2 Aula passada Logísitica Regras do jogo Definição e características Exemplos Aula de hoje Processos IPC Características Ex. sinais, pipes, sockets Objetivos Processos O que

Leia mais

Entradas/Saídas (I/O) Dispositivos de entrada/saída (periféricos) Barramento (Bus) Endereçamento de dispositivos entrada/saída

Entradas/Saídas (I/O) Dispositivos de entrada/saída (periféricos) Barramento (Bus) Endereçamento de dispositivos entrada/saída Entradas/Saídas (I/O) Dispositivos de entrada/saída (periféricos) Barramento (Bus) Endereçamento de dispositivos entrada/saída Dispositivos de entrada/saída Componentes da arquitectura de Von Neumann Grande

Leia mais

Sistemas Operacionais II Unix: Memória e E/S. Geraldo Braz Junior

Sistemas Operacionais II Unix: Memória e E/S. Geraldo Braz Junior Sistemas Operacionais II Unix: Memória e E/S Geraldo Braz Junior Gerenciamento de Memória Gerenciamento de Memória Espaço de Endereçamento 1. Segmento de código Instruções de máquina que formam o código

Leia mais

Parte I Multiprocessamento

Parte I Multiprocessamento Sistemas Operacionais I Estrutura dos SO Prof. Gregorio Perez gregorio@uninove.br 2004 Parte I Multiprocessamento Roteiro 1 Multiprocessadores em Sistemas Fortemente Acoplados 1.1 1.2 1.3 Processamento

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 14: Entrada e Saída: Dispositivos e Tipos de Acesso Diego Passos Dispositivos de E/S Operação de E/S É qualquer operação que mova dados do contexto do processador

Leia mais

Arquitectura de Computadores MEEC (2013/14 2º Sem.)

Arquitectura de Computadores MEEC (2013/14 2º Sem.) Arquitectura de Computadores MEEC (2013/14 2º Sem.) Unidades de Entrada/Saída (I/O) Prof. Nuno Horta PLANEAMENTO Introdução Unidade de Processamento Unidade de Controlo Arquitectura do Conjunto de Instruções

Leia mais

Sistemas de Entrada e Saída

Sistemas de Entrada e Saída Sistemas de Entrada e Saída Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Junho, 2017 1 / 44 Sumário 1 Dispositivos de E/S 2 Interrupções 3 Camadas de Software

Leia mais

Arquitectura de Computadores MEEC (2013/14 2º Sem.)

Arquitectura de Computadores MEEC (2013/14 2º Sem.) Arquitectura de Computadores MEEC (2013/14 2º Sem.) Unidades de Entrada/Saída (I/O) Prof. Nuno Horta PLANEAMENTO Introdução Unidade de Processamento Unidade de Controlo Arquitectura do Conjunto de Instruções

Leia mais

Sistemas Operacionais Aula 15: Sistemas de I/O. Ezequiel R. Zorzal

Sistemas Operacionais Aula 15: Sistemas de I/O. Ezequiel R. Zorzal Sistemas Operacionais Aula 15: Sistemas de I/O Ezequiel R. Zorzal ezorzal@unifesp.br Objetivos Explorar a estrutura do subsistema de E/S de um sistema operacional Discutir os princípios do hardware de

Leia mais

Fundamentos da Informática Aula 03 - Sistemas operacionais: Software em segundo plano Exercícios Professor: Danilo Giacobo

Fundamentos da Informática Aula 03 - Sistemas operacionais: Software em segundo plano Exercícios Professor: Danilo Giacobo Fundamentos da Informática Aula 03 - Sistemas operacionais: Software em segundo plano Exercícios Professor: Danilo Giacobo Múltipla escolha 1. Em que consiste um sistema operacional: a. Um conjunto de

Leia mais

Arquitetura de Sistemas Operativos

Arquitetura de Sistemas Operativos Arquitetura de Sistemas Operativos Sistemas Operativos 2011/2012 1 Threads Conceito Um processo é um programa em execução. A execução de um processo é sequencial: pode-se caracterizar um processo pelo

Leia mais

Escola Secundária de Emídio Navarro

Escola Secundária de Emídio Navarro Escola Secundária de Emídio Navarro Curso Secundário de Carácter Geral (Agrupamento 4) Introdução às Tecnologias de Informação Bloco I 11.º Ano Ficha de avaliação sumativa n.º 1 Duração: 50 min. + 50 min.

Leia mais

Sistemas Operacionais

Sistemas Operacionais Introdução Inst tituto de Info ormátic ca - UF FRGS Sistemas Operacionais i Subsistema de Entrada e Saída Aula 22 Todo sistema computacional necessita prover Comunicação com o exterior Dispositivos iti

Leia mais

Gestor de Processos. Gestor de Processos

Gestor de Processos. Gestor de Processos Gestor de Processos Núcleo do Sistema Operativo Gestor de Processos Entidade do núcleo responsável por suportar a execução dos processos Gestão das Interrupções Multiplexagem do Processador Despacho efectua

Leia mais

O estudo da arquitectura de computadores efectua-se com recurso à Abstracção

O estudo da arquitectura de computadores efectua-se com recurso à Abstracção ARQUITECTURA DE COMPUTADORES O estudo da arquitectura de computadores efectua-se com recurso à Abstracção Podemos ver um computador de várias formas. Para um utilizador normalmente o computador é a aplicação

Leia mais

TI SO do Ponto de Vista do Programador de Aplicações

TI SO do Ponto de Vista do Programador de Aplicações TI SO do Ponto de Vista do Programador de Aplicações SO do Ponto de Vista do Programador de Aplicações Interface Coerente para as Aplicações Especialmente importante se: Há várias plataformas hardware

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.2 Princípios do software de E/S 5.3 Camadas do software de E/S 5.4 Discos 5.5 Relógios 5.6 Terminais com base em caracteres 5.7 Interfaces gráficas

Leia mais

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

Nível da Arquitetura do Conjunto das Instruções Fluxo Seqüencial de Controle e Desvios (1) Nível da Arquitetura do Conjunto das Instruções (Aula 13) Fluxo de Controle Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 2007/2 Fluxo

Leia mais

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

Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação. Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização e Arquitetura Básicas

Leia mais

Arquitectura de Computadores (ACom)

Arquitectura de Computadores (ACom) Arquitectura de Computadores (ACom) MEAer Acetatos das Aulas Teóricas Versão 4.0 - Português Aula N o 23: Título: Sumário: Memória paginada; Tabela de páginas; Tabela de páginas hierárquica. 2014/2015

Leia mais

Arquitetura de Computadores Unidade 2 Organização Funcional dos Sistemas de Computação tópico 2.3 Subsistemas de E/S

Arquitetura de Computadores Unidade 2 Organização Funcional dos Sistemas de Computação tópico 2.3 Subsistemas de E/S Arquitetura de Computadores Unidade 2 Organização Funcional dos Sistemas de Computação tópico 2.3 Subsistemas de E/S Prof. Dr. Eng. Fred Sauer http://www.fredsauer.com.br fsauer@gmail.com TÓPICOS - FUNÇÕES

Leia mais

Dispositivos de Entrada e Saída

Dispositivos de Entrada e Saída Departamento de Ciência da Computação - UFF Dispositivos de Entrada e Saída Prof. Marcos A. Guerine mguerine@ic.uff.br 1 Dipositivos periféricos ou simplesmente periféricos permitem a comunicação da máquina

Leia mais

Problemas com Entrada e Saída

Problemas com Entrada e Saída Problemas com Entrada e Saída Periféricos possuem características diferentes Geram diferentes quantidades de dados Em velocidades diferentes Em formatos diferentes Periféricos são mais lentos que UCP e

Leia mais

Montagem e Manutenção de Computadores

Montagem e Manutenção de Computadores Montagem e Manutenção de Computadores Organização dos Computadores Aula de 04/03/2016 Professor Alessandro Carneiro Introdução Um computador consiste de vários dispositivos referidos como hardware: o teclado,

Leia mais