Drivers para Mac OS X Pedro Alós Bianchi & Tomás Grimm

Slides:



Advertisements
Apresentações semelhantes
AUTOMAÇÃO DE ESCRITÓRIOS
Advertisements

AUTOMAÇÃO DE ESCRITÓRIOS
Noções de Sistemas Operacionais
Arquiteturas de Barramento
Infra-Estrutura de TI: Hardware e Software
Rede Local - Instalação
Arquitectura de Computadores II Paulo Marques Departamento de Eng. Informática Universidade de Coimbra 2004/ Tendências Actuais.
Arquitectura de Computadores II Paulo Marques Departamento de Eng. Informática Universidade de Coimbra 2004/ BUS e Armazenamento.
ELEMENTOS DA INFORMÁTICA
Sistemas Operacionais de Rede Professor: João Paulo de Brito Gonçalves
Pof. Marcelo.
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais
Introdução à Informática
Sistema para Gerenciamento de Redes Baseado em Agentes Móveis
1.
ODBC.
Maria Aparecida Castro Livi
Device Drivers no Windows e Linux Visão Geral e Boas Práticas
Silberschatz and Galvin Operating System Concepts Unidade 1: Introdução O que é um sistema operacional? Systemas simples em lote (batch) Sistemas.
Concepts and Capabilities
Sistemas Operacionais
Lucas Augusto Scotta Merlo
III – Aplicações – Teleconferência Escola Politécnica da USP MBA EPUSP em Gestão e Engenharia do Produto EP-018 – O Produto Internet e suas Aplicações.
Professor Victor Sotero
Curso Técnico em Manutenção e Suporte em Informática
09/03/10 20:13 Claudio de Oliveira – 1/21.
Sistemas Operacionais de Rede
Sistemas Operacionais SISTEMA DE ENTRADA E SAÍDA
1 Felipe L. SeverinoPOD XtremWeb Felipe L. Severino Programação com Objetos Distribuídos paralela e.
Curso Técnico de Informática Disciplina: Hardware
Professor Robson Campos
Camada de Transporte: Portas, Sockets, Aplicações em Rede
Arquitetura de Computadores
Sistemas Operacionais
Discos SCSI Fonte de alimentação Controlador SCSI Disco SAS
CURSO: INFORMÁTICA PARA CONCURSOS
Arquitetura de Sistemas Operacionais – Machado/Maia 12/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Capítulo 12 Gerência.
METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala 1.
9º ANO INTRODUÇÃO ÀS TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO
PnP – Plug And Play Fernando Witzke Luiz Mello
Sistemas Operacionais
Sistemas Operacionais
Protocolo DHCP Willamys Araújo.
Noções de Software Escola Almirante Soares Dutra
Abner C. Barros GRECO – Grupo de Engenharia da Computação CIn –UFPE
Sistemas Operacionais
© 2004 by Pearson Education Computadores: Ferramentas para a Era da Informação Tema 0 PARTE A.
Nome alunos 1 Título UC. Título – slide 2 Conteúdo Conteúdo 2.
Configuração do Ambiente de programação
Aula 5 Redes de Computadores – Parte 2
Capítulo 5 Entrada/Saída 5.1 Princípios do hardware de E/S
Componentes básicos de um computador
Aula 1 – Introdução a Redes de Computadores
Sistemas Operacionais
SENAC - Faculdade de Tecnologia - Pelotas Curso de Análise e Desenvolvimento de Sistemas Introdução a Informática Interfaces – SCSI Acadêmico: William.
Componentes básicos de um computador
MEMÓRIAS Memória SIMM - 72 vias Memória DIMM vias
DISCIPLINA INFORMÁTICA MÉDICA Prof. Eliane
 O que são ‘drivers do computador’ ? (no sentido de arquivos que permitem que o sistema operacional acesse os recursos de hardware)  Drivers são arquivos.
Montagem e Configuração de Computadores
WINDOWS SMALL BUSINESS SERVER 2011 VISÃO GERAL. Agenda Visão Geral SBS 2011 Versões do SBS 2011 O que há de novo – Essentials O que há de novo – Standard.
Ligações de Periféricos ou dispositivos de I/O
Escola Secundaria Sebastião da Gama
INTRODUÇÃO À COMPUTAÇÃO
Tipos de Sistemas Operacionais
O que são drivers de computador? É uma forma de um dispositivo e a central de processamento de um computador se “ligarem”, é mais uma comunicação entre.
Administração de Sistemas Operacionais Escola Técnica Estadual Maria Eduarda Ramos de Barros Curso Técnico em Redes de Computadores Professor Emerson Felipe.
Sistemas Operacionais de Redes
Transcrição da apresentação:

Drivers para Mac OS X Pedro Alós Bianchi & Tomás Grimm Programação de Periféricos - FACIN Pontifícia Universidade Católica do Rio Grande do Sul - Porto Alegre

Definição Drivers são arquivos carregados no kernel de um sistema para que os dispositivos ligados ao computador consigam fazer a comunicação dispositivo <=> computador com a maior eficiência possível, uma vez que os drivers são proprietários na maior parte dos casos. 2

Arquitetura do Mac OS X 3

Núcleo MAC OS X Darwin é o núcleo do sistema operacional Mac OS X da Apple, e roda em um kernel Open Source chamado XNU. Trata-se de um kernel híbrido que integra código do kernel Mach e também do FreeBSD. 4

Processos do kernel São os processos criados e administrados em modo root, os quais fazem parte do gerenciamento dos recursos da máquina. Exemplos: update, securityd, notifyd, hidd, kernel_task, coreaudiod, configd, 5

Processos de usuário Criados pelos usuários ou pela aplicações abertas. Fazem parte deste grupo todos os aplicativos disponíveis para os usuários e também todos os processos criados por eles. 6

I/O kit É um framework open-source do kernel que ajuda no desenvolvimento de device drivers para o MAC OS X. 7

Recursos disponibilizados no I/O Kit Acessibilidade Airport / 802.11 ATA Audio Bluetooth Ethernet Fibra Óptica FireWire Mac OS X Server Serial Armazenamento USB Bonjour Gráficos e Imagens Hardware Apple Segurança Redes Open Firmware PCI e PC card Desempenho Impressoras QuickTime Scanners SCSI 8

Estrutura I/O kit 9

Kernel Extension O KEXT funciona como o carregador e linkador do kernel. Quando um dispositivo é ligado, o I/O Kit procura o driver certo pra ele e o KEXT carrega pro kernel que carrega todas as bibliotecas que o driver (ou a extensão) precisam. 10

Kernel Extension Kextload – Carrega uma kernel extension (driver). Kextunload – Se possível, descarrega uma kernel extension. Kextstat – informa as características dos drivers ou outras kernel extensions que estão carregados. 11

Drivers e Nubs A estrutura chamada NUB funciona como um host do barramento, seja ele PCI, USB, SCSI, ou qualquer outro, e ele faz a intermediação do hardware com o driver do dispositivo. 12

Drivers e Nubs 13

Drivers e Nubs IONetworkStack (interface managing object) - Connects I/O Kit objects to the BSD networking facilities. IOEthernetInterface (nub) - Manages device- independent data transmission and reception. Controller Driver (driver) - Operates the Ethernet controller through the IOPCIDevice object. This object inherits from a networking family class called IOEthernetController. 14

Drivers e Nubs IOPCIDevice (nub) - Match point for the controller; provides basic PCI bus interaction to the controller. IOPCIBridge (driver) - Manages the PCI bus. (Other objects provide services to the IOPCIBridge; their specific identities depend on the hardware configuration.) 15

Drivers e Nubs (Exemplo) 16

Drivers e Nubs (Exemplo) 1. The PCI bus controller driver, a member of the PCI family, discovers a PCI device and announces its presence by creating a nub (IOPCIDevice). 2. The nub identifies (matches) an appropriate device driver—in this case, a SCSI controller driver—and requests that it be loaded. Loading the SCSI controller driver causes the SCSI Parallel family, and all families that it depends on, to be loaded as well. The SCSI controller driver is given a reference to the IOPCIDevice nub. 17

Drivers e Nubs (Exemplo) 3. The SCSI controller driver, which is a client of the PCI family and a provider of SCSI Parallel family services, scans the SCSI bus for devices that might be clients of these services. Upon finding such a device (a disk), the driver announces the device’s presence by creating a nub (IOSCSIDevice). 4. The nub, by going through the matching procedure, finds a device driver (a disk driver) that is appropriate for the device and requests that this driver be loaded. Loading the disk driver causes the Storage family, and all families that it depends on, to be loaded as well. The disk driver is now a client of the SCSI Parallel family and a member of the Storage family. The disk driver is given a reference to the IOSCSIDevice nub. 18

Referências 19 Website da Apple Developers Connection: http://developer.apple.com/documentation/DeviceDrivers Biblioteca para desenvolvimento I/O kit 19