Você está na página 1de 11

Unidade I - Gerenciamento de I/O

Dispositivos de I/O
Verifica-se que existe uma grande diversidade de dispositivos de entrada e saída para computadores.
Diante desta variedade, podemos fazer algumas classificações:

Quanto a função

Armazenamento
Os dispositivos de armazenamento servem para armazenar arquivos – que representam dados de
usuários ou programas de usuários. Nesta categoria, há uma variedade bastante grande de dispositivos,
que por sua vês são encontrados em grande variedades de tipos, tamanhos, formatos. Estas
características irão variar conforme a aplicação a que dispositivos se destina, no entanto seu
funcionamento básico será sempre o mesmo. São exemplos de dispositivos de armazenamento:

 HD (disco rígido);
 Leitores de CDROM/DVDROM;
 Leitores de discos flexíveis;
 unidades de fita magnética;
 Cartões de memória.

Interface humana
Esta categoria de dispositivo tem por objetivo permitir que o usuário possa interagir com o sistema.
Esta interação pode acontecer de diversas formas e novamente irá depender do objetivo da aplicação.
São exemplos de dispositivos de interface humana:

 teclado, mouse, monitor;


 tela para touch (touch-pad, touch-screen);
 equipamentos de realidade virtual (luvas, óculos, etc);
 sistema de som (microfone, altofalantes);
 câmeras de vídeo.

Comunicação inter-máquinas
Esta categoria de dispositivo tem por objetivo viabilizar a comunicação ou a interação entre sistemas.
Uma comunicação cliente/servidor; um sistema distribuído são exemplos de aplicações destes
dispositivos. São exemplos de dispositivos de comunicação inter-máquinas:

 placa de rede (cabeada, sem fio);


 bluetooth;
 USB;
 WIMAX;
 Infra-vermelho;
 I2C.

Quanto a direção da comunicação

Outra classificação interessante é feita quanto ao sentido da comunicação.

Dispositivos de entrada
São dispositivos de entrada de informações em um sistema. Exemplo:

 teclado;
 mouse;
 microfone;
 scanner.

Dispositivos de saída
São dispositivos de saída de informações em um sistema. Exemplo:

 vídeo;
 impressora;
 alto-falantes.

Dispositivos de entrada e saída


São dispositivos que permitem tanto a entrada quanto a saída de informações em um sistema.
Exemplo:

 tela touch-screen
 placa de rede.

Quanto ao tipo de comunicação

Dentro de um computador, todas as informações (comandos ou dados) são binárias – e são expressas em
bytes (1 byte é um conjunto de 8 bits). Tipicamente, computadores modernos trabalham com larguras
de barramento de 64bits ou 32bits.

Nossos dispositivos também podem ser classificados (separados) quanto a forma com que estes bits são
transportados entre o dispositivo e o computador. Os dois principais tipos de comunicação de
dispositivos com o computador são:

Paralelo – neste tipo de comunicação os bits são enviados em paralelo (simultaneamente) por um
caminho chamado barramento. Todas os bits saem e chegam ao mesmo tempo no no device.
 Maior interferência e ruídos;
 Curtas distâncias
 Baixas frequências;

São exemplos de dispositivos paralelos:

 Impressora com interface paralela;


 HD's PATA (antigos)
 HD's SCSI (antigos)
 Controladora de vídeo PCI, AGP;

Serial – neste tipo de comunicação os dados da comunicação são postos em uma “fila” e enviados um
após o outro em um único fio (meio de comunicação);

 Menor ruído e interferências (varia conforme a distância);


 Maiores distâncias;
 Maiores frequências;

São exemplos de dispositivos seriais:

 Impressora com interface serial ou USB;


 HD's SATA (atuais)
 HD's SAS (atuais)
 Controladoras de vídeo PCI-X
Unidade I - Gerenciamento de I/O
Dispositivos de I/O
Verifica-se que existe uma grande diversidade de dispositivos de entrada e saída para computadores.
Diante desta variedade, podemos fazer algumas classificações:

Quanto a função

Armazenamento
Os dispositivos de armazenamento servem para armazenar arquivos – que representam dados de
usuários ou programas de usuários. Nesta categoria, há uma variedade bastante grande de dispositivos,
que por sua vês são encontrados em grande variedades de tipos, tamanhos, formatos. Estas
características irão variar conforme a aplicação a que dispositivos se destina, no entanto seu
funcionamento básico será sempre o mesmo. São exemplos de dispositivos de armazenamento:

 HD (disco rígido);
 Leitores de CDROM/DVDROM;
 Leitores de discos flexíveis;
 unidades de fita magnética;
 Cartões de memória.

Interface humana
Esta categoria de dispositivo tem por objetivo permitir que o usuário possa interagir com o sistema.
Esta interação pode acontecer de diversas formas e novamente irá depender do objetivo da aplicação.
São exemplos de dispositivos de interface humana:

 teclado, mouse, monitor;


 tela para touch (touch-pad, touch-screen);
 equipamentos de realidade virtual (luvas, óculos, etc);
 sistema de som (microfone, altofalantes);
 câmeras de vídeo.

Comunicação inter-máquinas
Esta categoria de dispositivo tem por objetivo viabilizar a comunicação ou a interação entre sistemas.
Uma comunicação cliente/servidor; um sistema distribuído são exemplos de aplicações destes
dispositivos. São exemplos de dispositivos de comunicação inter-máquinas:

 placa de rede (cabeada, sem fio);


 bluetooth;
 USB;
 WIMAX;
 Infra-vermelho;
 I2C.

Quanto a direção da comunicação

Outra classificação interessante é feita quanto ao sentido da comunicação.

Dispositivos de entrada
São dispositivos de entrada de informações em um sistema. Exemplo:

 teclado;
 mouse;
 microfone;
 scanner.

Dispositivos de saída
São dispositivos de saída de informações em um sistema. Exemplo:

 vídeo;
 impressora;
 alto-falantes.

Dispositivos de entrada e saída


São dispositivos que permitem tanto a entrada quanto a saída de informações em um sistema.
Exemplo:

 tela touch-screen
 placa de rede.

Quanto ao tipo de comunicação

Dentro de um computador, todas as informações (comandos ou dados) são binárias – e são expressas em
bytes (1 byte é um conjunto de 8 bits). Tipicamente, computadores modernos trabalham com larguras
de barramento de 64bits ou 32bits.

Nossos dispositivos também podem ser classificados (separados) quanto a forma com que estes bits são
transportados entre o dispositivo e o computador. Os dois principais tipos de comunicação de
dispositivos com o computador são:

Paralelo – neste tipo de comunicação os bits são enviados em paralelo (simultaneamente) por um
caminho chamado barramento. Todas os bits saem e chegam ao mesmo tempo no no device.
 Maior interferência e ruídos;
 Curtas distâncias
 Baixas frequências;

São exemplos de dispositivos paralelos:

 Impressora com interface paralela;


 HD's PATA (antigos)
 HD's SCSI (antigos)
 Controladora de vídeo PCI, AGP;

Serial – neste tipo de comunicação os dados da comunicação são postos em uma “fila” e enviados um
após o outro em um único fio (meio de comunicação);

 Menor ruído e interferências (varia conforme a distância);


 Maiores distâncias;
 Maiores frequências;

São exemplos de dispositivos seriais:

 Impressora com interface serial ou USB;


 HD's SATA (atuais)
 HD's SAS (atuais)
 Controladoras de vídeo PCI-X
4. DESENVOLVIMENTO DE APLICAÇÕES MÓVEIS
4.2. Arquiteturas de Aplicação Móvel
4.2.2. Clientes
4.2.2.1. Clientes Magros (Thin Clients)
O termo cliente magro refere-se à camada de software, que suporta uma interface local
para o usuário, baseada em janelas no dispositivo, enquanto a execução da aplicação
é feita em um computador remoto, afirma (Coulouris et al., 2001).
De acordo com JavaFree (2005), o cliente magro está restrito essencialmente à
funcionalidade da interface com o usuário. Assim, nesse tipo de cliente, a parte da
lógica de negócio e da persistência fica no servidor.
Os clientes magros têm pouca capacidade de processamento, fazendo com que as
aplicações executadas nos clientes sejam processadas no servidor. Tais dispositivos
clientes não possuem armazenamento local, pelo fato de haver pouco
processamento. Esses dispositivos trazem a vantagem de não necessitar de instalação
local de software, uma vez que o servidor provê o sistema operacional, aplicativos e
dados. Entretanto, como o processamento é realizado no servidor, o mesmo deve ser
capaz de suportar o processamento dos dispositivos clientes magros a ele conectados
(MetaSys, 2006).
Os clientes magros não possuem código da aplicação personalizado e dependem
completamente do servidor para sua funcionalidade (Figura 4-1). Tais clientes
utilizam navegadores Web amplamente disponíveis e navegadores WAP (Wireless
Application
Protocol) para exibir os seguintes tipos de páginas de conteúdo de aplicação: i) Web
(HTML, XML); e ii) WAP (WML).
Por exemplo, se páginas Web não são exibidas, um Pocket PC pode exibi-las por meio
do Microsoft Pocket Internet Explorer, enquanto um Tablet PC e um laptop podem
exibi-las no Microsoft Internet Explorer ou no Netscape Navigator. De
maneira semelhante, um navegador WAP de um telefone celular pode exibir páginas
WML.
No entanto, o problema dos clientes magros é estarem em comunicação constante com
o servidor, pois ele é a sua fonte para atualizar e obter dados. Outra dificuldade desta
arquitetura é quando se tem alta atividade de interação gráfica na qual as demoras
experimentadas pelos usuários aumentam com a necessidade de transferir imagens e
informações vetoriais entre o cliente magro e o processo da aplicação (Coulouris et al.,
2001).
As aplicações de cliente magro são muito menos dependentes de dispositivos e de
sistemas operacionais específicos do que os clientes gordos (Lee et al., 2005).
Isso acontece porque o código de aplicação personalizado não é instalado no
dispositivo móvel. Em vez disso, os usuários acessam a aplicação do servidor através
de software padrão da indústria, com um navegador Web ou WAP.
No entanto, mesmo que os clientes magros sejam menos dependentes de dispositivos
e de sistemas operacionais específicos, há algumas dependências de dispositivo a
considerar, como o tamanho da área de exibição e as linguagens de marcação que os
navegadores podem interpretar. Portanto, tem-se ainda que decidir a quais dispositivos
móveis específicos precisa dar suporte e renderizar o conteúdo de página apropriado a
tais dispositivos de maneira correspondente.
As páginas podem ser geradas pelo uso de um renderizador. Trata-se de um programa
que atua na camada de apresentação do servidor cuja finalidade é receber dados de
uma fonte de dados e os renderizar ou gravar em vários formatos
diferentes dependendo do tipo específico do dispositivo móvel (Lee et al., 2005)
(Figura 4-2).
Além disso, um navegador Web pode suportar linguagem de criação de scripts do lado
do cliente como JavaScript ou VBScript para validação de formulários. O servidor tem
um mecanismo de renderização como parte de sua camada de apresentação sendo
capaz de exibir o conteúdo apropriado para aquele dispositivo móvel (Figura 4-3).
Figura 4-2 – Criando conjuntos separados de páginas com o renderizador
(Fonte: Lee et al., 2005)
Figura 4-3 – Arquitetura de Aplicação – Cliente Magro (Fonte: Lee et al., 2005)
4.2.2.2. Clientes Gordos (Fat Clients)
Em uma arquitetura cliente-servidor, um cliente gordo é um dispositivo cliente que
executa parte do processamento, com participação do servidor. O cliente trata da
apresentação e das funções e o servidor gerencia os dados e os acessa (NetPedia,
2005).
Segundo DecisProj (2006), o cliente gordo é aquele que congrega a funcionalidade de
interface do usuário com a lógica da aplicação. Neste caso, o servidor é
essencialmente um provedor e armazenador de dados.
Os clientes gordos possuem de uma a três camadas de código da aplicação e podem
operar independentemente de um servidor por certo período. São mais úteis em
situações em que não há garantia de comunicação permanente entre o cliente e
o servidor (Lee et al., 2005). Por exemplo, uma aplicação de cliente gordo pode ser
capaz de aceitar entrada de usuário e dados de um banco de dados local até que a
conectividade seja restabelecida e os dados possam ser movidos para o servidor. Isso
permite que o usuário continue trabalhando, mesmo se estiver sem contato com o
servidor.
No entanto, tais clientes dependem muito do sistema operacional e do tipo de
dispositivo móvel; por isso, pode ser difícil liberar e distribuir o código e ser necessário
dar suporte a várias versões de código para diversos dispositivos.
Os clientes gordos podem ser implementados utilizando-se uma, duas ou três camadas
de código da aplicação. Entretanto, se for utilizada somente uma camada, é
extremamente difícil isolar as áreas de funcionalidade individuais, de forma a reutilizar
e distribuir o código em diversos tipos de dispositivos (Figura 4-4). Portanto,
segundo Lee et al. (2005), é melhor utilizar duas camadas (Figura 4-5) ou, de
preferência, três camadas (Figura 4-6), de modo que se possa reutilizar o que for
possível do código da aplicação.
Pode-se dizer, como ressalva, em se utilizar tal tipo de cliente, que o volume de dados
trafegado entre o cliente e o servidor no cliente gordo é muito maior que no cliente
magro. Porém, clientes gordos fazem menos acessos ao servidor do que clientes
magros (GISPuc, 2005).
Figura 4-5 – Cliente Gordo (2 Camadas) (Fonte: Lee et al., 2005)
Por exemplo, uma aplicação construída para um Pocket PC não trabalha em
um dispositivo RIM (Research In Motion) nem em um Tablet PC. Ao utilizar
determinada plataforma, deve-se garantir reutilização de objetos construídos, como
padrão de bom desenvolvimento.
Há várias formas de uso que são comuns para muitas indústrias, incluindo as áreas de
saúde, governo, finanças e ciências, a saber:
• Login. A maioria das aplicações móveis tem algum tipo de mecanismo de login. Isso
é uma importante consideração de segurança para aplicações móveis, pois um
desses dispositivos pode facilmente ser perdido ou roubado;
• Seleção de tarefa. Uma vez que um usuário tenha efetuado login na
aplicação, provavelmente desejará exibir alguma espécie de formulário ou menu que
permita a ele selecionar uma tarefa a ser realizada. Vale ressaltar que esse menu de
seleção de tarefa deve ser sensível ao contexto;
• Edição local de dados. A aplicação pode permitir a um usuário pesquisar, adicionar e
editar dados locais. Esses requisitos específicos irão variar
significativamente dependendo dos requisitos da aplicação;
• Upload de alterações. Quando um usuário se reconecta à rede, é necessário permitir
que ele faça carga de dados. Devem-se carregar os dados ou permitir que o
usuário selecione certos itens a serem carregados para o servidor.
Embora utilizem tecnologias diferentes, há diretrizes de arquitetura comuns que os
variados dispositivos devem seguir. A aplicação de cliente gordo contém os
seguintes itens: i) windows forms; ii) objetos de negócios; iii) objeto de acesso a dados;
e iv) banco de dados (Figura 4-7).
Destacando a arquitetura de aplicações de cliente gordo com três camadas, tem- se:
• Camada de Apresentação. Consiste nos windows forms e utilizará
controles tradicionais como caixas de texto, caixas de listagem, caixas de combinação
e botões de opção a fim de exibir e reunir dados do usuário;
• Camada de Negócios. Consiste em um conjunto de objetos que contém negócio e
lógica de aplicação. Algumas considerações ao desenvolver objetos de negócio
incluem: i) reutilização de objetos; ii) projeto de objetos; e iii) propriedades comuns de
objeto e métodos. Cada objeto pode ter um conjunto de propriedades, que
representam as características de um objeto, e um conjunto de métodos, que
são representados utilizando-se Diagramas de Classe UML;
• Camada de Acesso a Dados. Consiste no objeto de acesso a dados e no
próprio banco de dados. Alguns pontos a serem considerados ao desenvolver a
camada de acesso a dados são: i) o objeto de acesso a dados; ii) o banco de dados
local; e iii) a sincronização de banco de dados.
Figura 4-7 – Arquitetura de aplicação móvel – Cliente Gordo (Fonte: Lee et
al., 2005)

Você também pode gostar