Entradas/Saídas. Modelo Conceptual Gestor de Periféricos Unix E/S Windows 2000 E/S. 8/28/2003 Sistemas Operativos. Introdução
|
|
- Júlio de Oliveira
- 5 Há anos
- Visualizações:
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 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 maisEntradas/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 maisInput/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 maisSistemas 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 maisMó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 maisIntroduçã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 maisUFRJ 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 maisEntrada 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 maisGerê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 maisEntrada/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 maisSistemas 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 maisInfra-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 maisEstruturas 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 maisFunçã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 maisSeguranç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 maisCaching. 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 maisOrganizaçã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 maisCap. 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 maisUniversidade 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 maisPCS-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 maisSistemas 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 maisSistemas 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 maisOrganizaçã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 maisCapí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 maisInformá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 maisSSC0611 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 maisSistemas 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 maisLEIC/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 maisSistemas 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 maisSistemas 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 maisGerê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 maisLABORATÓ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 maisArquitetura 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 mais2 - 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 maisSumá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 maisIntroduçã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 maisJoã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 maisSistemas 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 maisSSC0640 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 maisSISTEMAS 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 maisIntroduçã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 maisGestã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 mais2.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 maisFCA - 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 maisProcesso. 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 maisProcesso. 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 maisOrganizaçã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 maisIntroduçã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 maisOrganizaçã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 maisSistemas 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 maisInstalaçã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 maisSumá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 maisNotas 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 maisLEIC/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 maisBarramento. 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 maisOrganizaçã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 maisEntrada 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 maisDispositivos 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 maisGerê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 maisEntrada 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 maisDispositivos 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 mais1/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 maisLEIC/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 maisProgramaçã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 maisEntrada 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 maisEstrutura 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 maisSistemas 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 maisMICROPROCESSADORES. 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 maisIntroduçã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 maisAula 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 maisSeguranç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 maisTecnologias 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 maisPerifé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 maishttp://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 maisProgramaçã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 maisSistemas 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 maisEntradas/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 maisSistemas 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 maisParte 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 maisFundamentos 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 maisArquitectura 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 maisSistemas 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 maisArquitectura 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 maisSistemas 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 maisFundamentos 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 maisArquitetura 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 maisEscola 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 maisSistemas 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 maisGestor 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 maisO 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 maisTI 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 maisCapí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 maisNí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 maisUniversidade 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 maisArquitectura 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 maisArquitetura 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 maisDispositivos 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 maisProblemas 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 maisMontagem 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