Buscar

Aula 2

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN
19
GERENCIAMENTO DE DISPOSITIVO
Em um sistema de computação existem alguns elementos básicos que fazem com 
que o computador interaja de maneira agradável e fácil com o usuário. A princípio existe 
a CPU e depois os controladores que se comunicam através de barramentos (bus). Cada 
controlador tem a responsabilidade sobre um tipo de dispositivo, que podem ser dispositivos 
de áudio ou dispositivos de vídeo. A implementação desse sistema é feita através de 
Aula 02
GERENCIAMENTO
DE DISPOSITIVO E 
ARQUITETURAS RISC E CISC
Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN
20
camadas. Como exemplo geral podemos citar que as camadas de nível mais baixo 
escondem características dos dispositivos das camadas superiores, assim propiciando 
ao usuário uma interface mais simples e agradável. Esse sistema de camadas tem uma 
função muito importante, a de separar a complexidade dos dispositivos físicos, tornando 
o sistema operacional mais flexível e permitindo a comunicação das aplicações com 
qualquer tipo de periférico.
Os dispositivos como impressora, placa gráfica e outros necessitam de um 
software que lhes suporte. Esses softwares são chamados de Device Driver ou somente 
Driver. Driver é o aplicativo que liga o sistema ao dispositivo de hardware e tem 
a função de fazer a comunicação entre o subsistema de I/O com os dispositivos. É 
comum encontrar esses drivers para sistemas mais populares, mas para outros mais 
modernos que vão surgindo no decorrer do tempo muitas vezes há certa demora no seu 
desenvolvimento. À medida que o sistema vai se popularizando, também surgem os 
drives para gerenciamento. 
Existe uma grande preocupação nos sistemas operacionais que é a de proteger 
o seu kernel. Por exemplo: pode ocorrer de uma aplicação que tenha acesso ao kernel 
(núcleo) execute uma operação que altere a integridade do sistema operacional, 
deixando-o totalmente comprometido. Por isso, os principais modos de segurança 
de sistemas operacionais se utilizam de um mecanismo existente no hardware dos 
processadores. Tal sistema é conhecido como modo de acesso. Os processadores 
possuem dois modos de acesso, modo de usuário e modo kernel ou (modo núcleo). 
No modo usuário, as aplicações só podem executar instruções conhecidas como não-
privilegiadas e têm acesso a um número reduzido de instruções. Já no modo kernel 
ou núcleo, as aplicações têm acesso ao conjunto total de instruções. Há sempre 
um grande cuidado com o acesso a instruções privilegiadas, e estas não devem ser 
utilizadas de maneira indiscriminada pelas aplicações, porque isso pode ocasionar 
sérios problemas ao sistema. 
Um exemplo bem simples é o do Windows XP cujos processos de modo usuário 
interagem com um subsistema de ambiente (com subsistema Win32) e não diretamente 
com componentes de modo núcleo. Os subsistemas de ambiente passam requisições 
de E/S para o gerenciador de E/S, que interage com drivers de dispositivo para tratar 
essas requisições. (Sistemas operacionais: terceira edição/H.M. Deitel, P.J. Deitel, 
D.R. Choffnes, 2005).
 
Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN
21
Podemos dividir os dispositivos de E/S (I/O) em duas categorias: dispositivos 
de bloco e dispositivos de caractere. O dispositivo de bloco, como o próprio nome diz, 
armazena informações em bloco e com tamanho fi xo, e cada um com o seu endereço. 
Uma propriedade do dispositivo de bloco é que cada bloco pode ser lido ou escrito 
independentemente de todos os outros. Um dos dispositivos de bloco mais comuns são os 
discos. Cada bloco tem o tamanho que varia de 512 bytes a 32 768 bytes. O dispositivo de 
caractere não é endereçável e, como exemplo, são impressoras, interfaces de redes, mouses 
e a maioria dos dispositivos que são diferentes dos discos e que podem ser considerados 
dispositivos de caractere. Veja na tabela 1, a seguir, a taxa de dados de cada dispositivo. 
Esse componente é chamado de controlador de dispositivo ou adaptador. Em alguns 
computadores ele se apresenta como uma placa controladora que pode ser adicionada em 
um conector. 
Figura 1
Dispositivo Taxa de dados
Teclado 10 bytes/s
Mouse 100 bytes/s
Modem 56k 7 KB/s
Canal telefônico 8 KB/s
Linhas ISDN dual 16 KB/s
Impressora a laser 100 KB/s
Scanner 400 KB/s
Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN
22
Para que o computador comece o seu funcionamento, obviamente, o primeiro 
passo é ligá-lo. Logo após, para que ele comece a operar, é preciso ter um programa. 
Esse programa pode ser chamado de programa inicial ou simplesmente de boostrap e, em 
geral, é armazenado na memória ROM ou EEPROM. A função do programa é inicializar 
todos as partes do sistema dos registradores da CPU, correspondentes aos controladores de 
dispositivos e aos conteúdos da memória. O programa carrega o sistema operacional e, para 
isso, ele aloca e carrega na memória o kernel do sistema operacional. Carregado, o sistema 
operacional fi ca em espera, aguardando que algum evento ocorra.
A ocorrência de eventos pode ser causada por hardware ou por software. O hardware 
pode causar um evento a qualquer momento, mandado um sinal até a CPU, através do bus. 
Já o software causa uma interrupção quando executa uma operação conhecida por chamada 
de sistema ou chamada de monitor.
As interrupções é o que aciona o sistema operacional para executar algo. Na falta 
de processos para executar dispositivos de I/O, o sistema operacional fi ca inativo, ou seja, 
fi ca na espera.
Para cada tipo de interrupção, há uma definição de ação do sistema operacional 
que decide que ação será tomada. Assim, forma uma rotina responsável por lidar com 
a determinada interrupção que foi gerada. Quando a CPU é interrompida, ela para o 
que está fazendo e, de imediato, aciona toda a execução para a localização fixa. Esse 
endereço normalmente está localizado no início da rotina de serviço para determinada 
Ethernet clássica 1,25 MB/s
USB (universal serial bus) – barramento serial universal 1,5 MB/s
Câmara de vídeo digital 4 MB/s
Disco IDE 5 MB/s
CD-ROM 40x 6 MB/s
Ethernet rápida 12,5 MB/s
Barramento ISA 16,7 MB/s
Disco EIDE (ATA-2) 16,7 MB/s
FireWire (IEEE 1394) 50 MB/s
Monitor XGA 60 MB/s
Rede SONET OC-12 78 MB/s
Disco SCSI Ultra 2 80 MB/s
Ethernet Gigabit 125 MB/s
Dispositivo de fi ta Ultrium 320 MB/s
Barramento PCI 528 MB/s
Barramento da Sun Gigaplane XB 20 GB/s
Tabela 1
Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN
23
interrupção. Uma interrupção pode ser gerada como o resultado de instruções de um 
processo. Nesse caso, é considerado como sendo um desvio ou chamado de trap e é 
considerado como síncrona em relação à operação do processo. Um exemplo é quando 
um processo tenta realizar uma operação ilegal, isto é, uma interrupção síncrona; 
interrupções causadas por algum evento não relacionado com a instrução corrente do 
processo são chamadas de assíncronas.
BUFFERING
 
Uma das técnicas utilizadas para transferência de dados para a memória principal 
é o buffering. Ele utiliza uma área na memória principal chamada de buffer, onde os dados 
são armazenados. Assim, o dispositivo de entrada e saída (I/O) fi ca liberado para realizar 
outra tarefa, isto é quando o processador executa o que está no buffer, o dispositivo pode 
fazer uma outra leitura ou gravação. A função do buffering é manter o processador e os 
dispositivos de I/O o mais ocupados possível. A unidade de transferência utilizada no 
buffering é o registro. Isso pode variar, pois pode ser uma linha gerada por uma impressora 
ou por uma aplicação qualquer.
SPOOLING
Spooling (simultaneous peripheral operation on-line). Imagine que a velocidade 
dos processadores é maior que a dos dispositivos de E/S. Então é comum a CPU fi car ociosa 
na espera das atividade dos dispositivos de E/S. Pense em uma CPU na espera do término 
de uma impressão. Para resolveresse tipo de problema, foi desenvolvida a técnica de spool, 
em que vários programas e seus dados são armazenados. Esses dados e programas são os 
chamados Jobs. Antes eram armazenados e guardados em fi tas magnéticas, para depois 
serem processados. Assim, o processador executa sequencialmente cada processo ou job. 
Com isso, tem-se a diminuição do tempo de processamento e de transição entre eles. Com 
os trabalhos de impressão eles são gravados em fi ta em vez de serem gravados diretamente 
na impressora. Após a gravação do job na fi ta, ele é impresso integralmente. A essa forma 
de processamento dá-se o nome de spooling.
Com o uso de fita os processos são estritamente obrigados a serem sequenciais. 
Assim, o primeiro trabalho gravado na fita era o primeiro a ser impresso ou processado. 
Um trabalho muito extenso, que antecedesse outros menores, deixaria os menores com 
um tempo de resposta bem maior que o esperado e os seus tempos de resposta ficariam 
comprometidos em virtude desse trabalho maior. Já com o surgimento dos dispositivos 
de acesso direto, como os discos, há a possibilidade de os processamentos não serem 
obrigados a receber tratamento como sequenciais, tornando a técnica de spooling mais 
eficiente. A técnica de spooling é muito semelhante à de buffer. A grande diferença é 
Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN
24
que o spool é gravado e lido no disco como se fosse um grande buffer, e os programas 
podem ser executados concorrentemente. Essa técnica de spooling é muito utilizada, 
na maioria dos sistemas operacionais, no gerenciamento de impressão. Na hora em que 
um trabalho é impresso, o arquivo é gravado em disco. E quando é feito outro pedido 
de impressão, este segundo fica na fila à espera, também gravado em disco. Veja uma 
simples ilustração na figura 2.
 
REENTRÂNCIA
Código reentrante - muitos usuários usam o mesmo programa e muitas vezes 
até ao mesmo tempo. Isso em sistemas multiusuário. Imagine se cada um dos usuários 
colocasse uma cópia do programa aplicativo de editor de texto, de planilha ou qualquer 
outro aplicativo, na memória principal. Isso ocasionaria uma perda imensa de memória. 
Com a reentrância, podemos colocar apenas uma cópia do aplicativo onde vários usuários 
utilizam e compartilham o aplicativo. A reentrância permite que cada usuário possa estar 
em um ponto diferente do código reentrante, manipulando os próprios dados.
PIPELINING 
Com esse modelo, o processador pode executar várias tarefas paralelamente em 
tempos diferentes. Por exemplo: enquanto um processo está no meio, ele pode iniciar outro, 
em outra área. Quando este segundo está pela metade o processador pode iniciar outro, e 
assim por diante. Esse modelo é muito parecido com uma linha de montagem, onde a tarefa 
é dividida em uma sequência de subtarefas.
Este método faz com que o processador não fi que ocioso, pois assim que vai 
Figura 2
Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN
25
terminando um processo já inicia outro. As instruções são executadas paralelamente e com 
várias tarefas ao mesmo tempo, mas em fases diferentes. O sistema pode ser empregado 
com um ou mais processadores em diversos níveis. 
ARQUITETURAS RISC E CISC
Todo processador tem um conjunto de instruções que são defi nidas por seus 
fabricantes, chamadas linguagem de máquina. A linguagem de máquina pode ser executada 
diretamente no processador. O programa que é produzido especifi camente para um 
determinado processador não pode ser executado em outra máquina que tenha uma estrutura 
diferente, ou seja, em uma outra máquina que tenha uma arquitetura diferente. Podemos 
perceber que o conjunto de instruções é desenvolvido de acordo com as características do 
processador, respeitando-se a sua arquitetura.
Os processadores de arquitetura RISC (Reduced Instruction Set Computer) são 
conhecidos por terem poucas instruções de máquina e serem bastante simples porque são 
executadas diretamente no hardware. A maioria dessas instruções não acessa a memória 
principal, pois nessa arquitetura existe um grande número de registradores. Em função 
disso, as instruções trabalham com os registradores, não acessando a memória principal.
Já os processadores de arquitetura CISC (Complex Instrution Set Computers) não 
têm um grande número de registradores. Suas instruções são traduzidas por microprogramas 
e qualquer instrução pode referenciar a memória principal. Nesse tipo de arquitetura a 
implementação do pipelining torna-se mais difícil. A tabela 2 mostra algumas diferenças 
entre as arquiteturas RISC e CISC.
RISC CISC
Poucas instruções Muitas instruções.
Instruções executadas pelo hardware Instruções executadas por microcódigo.
Instruções com formato fi xo Instruções com diversos formatos.
Instruções que usam pouco ciclo de máquina. Instruções que utilizam muitos ciclos.
Instruções com pouco modo de endereçamento. Instruções com diversos modos de endereçamento.
Arquitetura com muitos registradores. Arquitetura com poucos registradores.
Arquitetura pipelining Pouco uso da técnica de pipelining.
Alguns processadores são chamados de microprogramáveis. São aqueles que 
permitem a inserção de novas instruções de máquina através do desenvolvimento de 
microprogramas.
Alguns equipamentos não dispõem desse recurso, pois os microprogramas vêm 
gravados em memória do tipo ROM.
Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN
26
ATIVIDADES 
As atividades referentes a esta aula estão disponibilizadas na ferramenta 
“Atividades”. Após respondê-las, envie-nas por meio do Portfólio- ferramenta do 
ambiente de aprendizagem UNIGRAN Virtual. Em caso de dúvidas, utilize as ferramentas 
apropriadas para se comunicar com o professor.

Outros materiais