• Nenhum resultado encontrado

Sistemas de Informação. Sistemas Operacionais

N/A
N/A
Protected

Academic year: 2021

Share "Sistemas de Informação. Sistemas Operacionais"

Copied!
65
0
0

Texto

(1)

Sistemas de Informação

(2)

DISPOSITIVOS DE

ENTRADA E SAÍDA

SUMÁRIO

8. DISPOSITIVOS DE ENTRADA/SAÍDA:

8.1 Introdução;

8.2 Subsistema de Entrada e Saída;

8.3 Acesso ao Subsistema de Entrada e Saída;

8.4 Princípios do Hardware de E/S;

8.5 Princípios do Software de E/S;

8.6 Camadas do Software de E/S;

8.7 Discos;

(3)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.1 Introdução

A Gerência de Dispositivos de entrada/saída é uma das principais e mais complexas funções de um Sistema Operacional. Sua implementação é estruturada através de camadas.

As camadas de mais baixo nível escondem características dos dispositivos das camadas superiores, oferecendo uma interface simples e confiável ao usuário e suas aplicações.

(4)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.1 Introdução

As camadas são divididas em dois grupos, onde o primeiro grupo visualiza os diversos tipos de dispositivos do sistema de um modo único (Fig. a), enquanto o segundo é específico para cada dispositivo (Fig. b).

A maior parte das camadas trabalha de forma independente do dispositivo.

(5)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.2 Subsistema de Entrada e Saída

O subsistema de E/S é responsável por realizar as funções comuns a todos os tipos de dispositivos.

É a parte do Sistema Operacional que oferece uma interface uniforme com as camadas superiores.

Independência de Dispositivos: Cada dispositivo trabalha com unidades de

informação de tamanhos diferentes, como caracteres ou blocos.

O subsistema de E/S é responsável por criar uma unidade lógica de transferência do dispositivo e repassá-la para os níveis superiores, sem o conhecimento do conteúdo da informação.

(6)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.2 Subsistema de Entrada e Saída

Tratamento de Erros: Normalmente, o tratamento de erros nas operações

de E/S é realizado pelas camadas mais próximas ao hardware.

Existem, porém, certos erros que podem ser tratados e reportados de maneira uniforme pelo sistema de arquivos, independentemente do dispositivo.

Exemplos: Erros como a gravação em dispositivos de entrada, leitura em

dispositivos de saída e operações em dispositivos inexistentes podem ser tratados nesse nível.

(7)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.2 Subsistema de Entrada e Saída

Compartilhamento: Todos os dispositivos de E/S são controlados, com o

objetivo de obter o maior compartilhamento possível entre os diversos usuários de forma segura e confiável.

Alguns dispositivos podem ser compartilhados simultaneamente, outros, como a impressora, devem ter acesso exclusivo, e o sistema deve controlar seu compartilhamento de forma organizada.

É responsável também por implementar todo um mecanismo de proteção de acesso aos dispositivos.

(8)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.2 Subsistema de Entrada e Saída

Bufferização: Essa técnica permite reduzir o número de operações de E/S,

utilizando uma área de memória intermediária chamada de buffer.

Exemplo: Quando um dado é lido do disco, o sistema traz para a área de buffer não só o dado solicitado, mas um bloco de dados.

Caso haja uma solicitação de leitura de um novo dado que pertença ao bloco anteriormente lido, não existe a necessidade de uma nova operação de E/S, melhorando desta forma a eficiência do sistema.

Interface Padronizada: O subsistema de E/S deve oferecer uma interface

padronizada que permita a inclusão de novos drivers sem a necessidade de alteração da camada de subsistema de E/S.

(9)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.3 Acesso ao Subsistema de Entrada e Saída

O Sistema Operacional deve tornar as operações de E/S o mais simples possível para o usuário e suas aplicações. Para isso, o sistema possui um conjunto de rotinas, denominado rotinas de entrada/saída, que faz parte do subsistema de E/S e permite ao usuário realizar operações de E/S sem se preocupar com detalhes do dispositivo que está sendo acessado.

Nesse caso, quando um usuário cria um arquivo em disco, não lhe interessa como é a formatação do disco, nem em que trilha ou setor o arquivo será gravado.

As operações de E/S devem ser realizadas através de chamadas de sistemas que chamam as rotinas de E/S do núcleo do Sistema Operacional.

(10)

Capítulo 8 - Dispositivos

de Entrada e Saída

(11)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.3 Acesso ao Subsistema de Entrada e Saída

A maneira mais simples de ter acesso a um dispositivo é através de comandos de leitura/gravação e chamadas a bibliotecas de rotinas oferecidas por linguagens de alto nível, como a linguagem C.

A comunicação entre os comandos de E/S oferecidos pelas linguagens de programação de alto nível e as chamadas de sistema de E/S é feita simplesmente através de passagem de parâmetros.

(12)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.3 Acesso ao Subsistema de Entrada e Saída

Um dos objetivos principais das chamadas de sistema de E/S é simplificar a interface entre as aplicações e os dispositivos.

Com isso, elimina-se a necessidade de duplicação de rotinas idênticas nos diversos aplicativos, além de esconder do programador características específicas associadas à programação de cada dispositivo.

(13)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.4 Princípios de Hardware de E/S

Dispositivos de blocos

 Armazenam informações em blocos endereçáveis de tamanho fixo (512 a 32.768 bytes, tipicamente);

 Cada bloco pode ser lido ou escrito de forma independente.

(14)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.4 Princípios de Hardware de E/S

Dispositivos de caracteres

 Recebem/enviam fluxo de caracteres (sem estrutura de blocos);

 Sem endereçamento e sem operação de posicionamento.

(15)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.4 Princípios de Hardware de E/S

Relógios (clocks): geram interrupções em intervalos bem definidos: não se classificam muito bem em nenhuma das categorias acima.

Taxas de transferências de dados de alguns dispositivos de E/S (fonte:

(16)

Capítulo 8 - Dispositivos

de Entrada e Saída

(17)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.4.1 Controladores de Dispositivos

Unidades de E/S: componente mecânico + componente eletrônico (chamado de "controlador de dispositivo").

Os controladores recebem os comandos do SO e disponibilizam ao SO uma interface mais simples do que aquela do dispositivo em si.

(18)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.4.2 E/S Mapeada na Memória

Comunicação entre a CPU e os controladores:

Registradores do controlador: estado do dispositivo (read) +

comandos (write);

(19)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.4.2.1 Portas (memória e E/S separadas)

Registradores do controlador são associados as portas de E/S (8

ou 16 bits).

O espaço das portas (conjunto de todas as portas de E/S) é

protegido do usuário comum.

Instruções especiais (REG = registrador interno da CPU /

(20)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.4.2.1 Portas (memória e E/S separadas)

Desvantagens: drivers escritos (pelo menos em parte) diretamente em

(21)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.4.2.2 E/S mapeadas na memória

Todos os registradores de controle mapeados no espaço de endereçamento da memória.

Registradores de controle: endereços únicos de memória ao qual nenhuma memória é associada (geralmente no topo do espaço de endereçamento).

(22)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.4.2.2 E/S mapeadas na memória

Vantagens:

 Controladores de dispositivo são "variáveis" na memória: desnecessário IN e OUT;

 Outras instruções assembly de acesso à memória também podem ser usadas (por exemplo, TEST – verifica se uma palavra de memória é

zero), melhorando o desempenho do sistema;

 Drivers podem ser escritos inteiramente em linguagens de mais alto nível (C, C++);

 Desnecessário também mecanismo especial de proteção (usa-se o mecanismo já disponível de proteção de memória).

(23)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.4.2.3 Esquema Híbrido

 Buffers de dados de E/S: mapeados na memória;

 Portas de E/S separadas para registradores de controladores.

Ao se fazer uma requisição de escrita ou leitura: o dispositivo adequado ou memória respondem à requisição, dependendo do endereço solicitado.

Não há ambiguidades pois não existem endereços associados simultaneamente à memória e a alguma porta de E/S.

(24)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.4.2.3 Esquema Híbrido

Desvantagens de E/S mapeadas na memória:

Cache: acessos consecutivos = cópia na memória cache (solução: HW

com capacidade de desabilitar seletivamente a cache => complexidade).

Único Barramento: cada dispositivo precisa ler cada endereço colocado

(25)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.4.3 Acesso Direto à Memória (DMA)

Para evitar que a CPU perca muito tempo requisitando byte a byte os dados de um controlador de E/S: DMA (Direct Memory Access) .

DMA:

 Acesso ao barramento independente da CPU;  Registradores: programáveis pela CPU;

 Porta de E/S;

 Direção de transferência (leitura/escrita);  Número de bytes a serem transferidos;  Destino na memória principal.

(26)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.4.3 Acesso Direto à Memória (DMA)

Sem DMA:

1. CPU programa controlador;

2. Controlador lê bloco do dispositivo => buffer do controlador; 3. Verifica se houve erro de leitura (checksum);

4. Interrupção CPU => SO;

(27)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.4.3 Acesso Direto à Memória (DMA)

Com DMA:

1. CPU programa controlador de DMA (o que transferir e para onde) e aciona controlador do disco solicitando leitura e verificação;

2. DMA emite ao controlador requisição de leitura do buffer;

3. Dados são transferidos do buffer do controlador para a memória; 4. Controlador informa fim da transferência para a memória;

5. (repetem-se os passos 2, 3 e 4 até que todos os dados tenham sido lidos);

6. DMA envia interrupção à CPU indicando o fim da transferência do bloco solicitado.

(28)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.5 Princípios de Software de E/S

Princípios gerais:

Princípio da independência de dispositivo: Exemplo: programas que

lêem/escrevem em arquivos do HD, disquete, CD-ROM, sem ter que modificar o programa para cada dispositivo diferente;

Tratamento de erros: o mais próximo possível do hardware. Somente

passar às camadas superiores o que não for possível tratar nas inferiores;

Tipos de transferência: assíncrona (com interrupção após o término);

(29)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.5.1 E/S Programadas

 CPU faz todo o trabalho copiando byte a byte da memória para o controlador ou vice-versa.

(30)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.5.1 E/S Programadas

Exemplo de impressão:

(31)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.5.2 E/S Orientadas a Interrupção

Vamos agora considerar o caso da impressão em uma impressora que não armazena os caracteres mas imprime-os um a um à medida que chegam. Se a impressora pode imprimir cem caracteres por segundo, cada caractere leva 10 ms para ser impresso.

Isso significa que, após cada caractere ser escrito no registrador de dados da impressora, a CPU permanece em um laço ocioso durante 10 ms esperando a permissão para a saída do próximo caractere.

Isso é mais do que o tempo necessário para fazer um chaveamento de contexto e executar algum outro processo durante os 10 ms que de outra maneira seriam perdidos.

(32)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.5.2 E/S Orientadas a Interrupção

(33)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.5.3 Usando uma DMA

Uma desvantagem óbvia do mecanismo de E/S orientada à interrupção é a ocorrência de uma interrupção para cada caractere. Interrupções levam tempo, de modo que esse esquema desperdiça tempo de CPU.

Uma solução é usar o acesso direto à memória (DMA). A ideia é fazer o controlador de DMA alimentar os caracteres para a impressora um por vez, sem que a CPU seja perturbada.

Na verdade, o DMA executa E,/S programada, em que somente o controlador de DMA faz todo o trabalho, em vez da CPU principal.

(34)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.5.3 Usando uma DMA

A grande vantagem do DMA é reduzir o número de interrupções impresso de um por caractere para um por buffer se existem muitos caracteres e as interrupções são lentas, esse sistema pode significar urna melhoria substancial.

Por outro lado, o controlador de DMA é em geral muito mais lento do que a CPU principal.

Se o controlador de DMA não é capaz de dirigir o dispositivo em velocidade máxima ou a CPU não tem nada para fazer enquanto espera pela interrupção do DMA, então a E/S orientada à interrupção ou mesmo a E/S programada podem ser mais vantajosas.

(35)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.5.3 Usando uma DMA

(36)

Capítulo 8 - Dispositivos

de Entrada e Saída

(37)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.6.1 Tratadores de Interrupções

Para esconder interrupções das camadas superiores:

Bloquear driver que iniciou operação de E/S (por exemplo, fazendo down em semáforo) até que se complete a E/S e ocorra interrupção;

Ao ocorrer interrupção: tratá-la e desbloquear (fazer up) no driver.

Tratadores de interrupção: salvam registradores, criam pilhas, escolhem próximo processo, ajustam tabela MMU, etc. (tarefa complexa).

(38)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.6.2 Drivers de dispositivos

Há grande variação no número de registradores por dispositivo e a natureza dos comandos de dispositivo para dispositivo.

DRIVER: código específico para controlar cada dispositivo de E/S ligado ao

computador.

Deve existir um driver para cada tipo de dispositivo ou um driver para uma classe de dispositivos muito similares.

O driver deve ser parte do núcleo do SO para que possa acessar o hardware do dispositivo (i.e. os registradores do controlador do dispositivo).

Categorias de drivers: (a) drivers de dispositivos de blocos; (b) drivers de dispositivos de caracteres.

(39)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.6.2 Drivers de dispositivos

Funções do driver:

 Aceitar/executar requisições abstratas;

 Iniciar dispositivo;

 Registrar eventos do dispositivo.

Controlar dispositivo = emitir uma sequência de comandos para ele (determinada no driver).

Em geral: driver se auto-bloqueia esperando final da atividade do controlador que envia interrupção para acordá-lo.

Drivers devem ser "re-entrantes", e podem ser chamados uma 2a vez mesmo

antes da conclusão de uma 1a chamada anterior. Para tanto, tipicamente os

(40)

Capítulo 8 - Dispositivos

de Entrada e Saída

(41)

Capítulo 8 - Dispositivos

de Entrada e Saída

(42)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.6.3 Software de E/S Independente de Dispositivo

Drivers: Específicos do dispositivo.

(43)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.6.3.1 Interface Uniforme p/ os Drivers do Dispositivo

Para evitar com que o SO precise ser modificado cada vez que um novo dispositivo apareça.

Nomes para dispositivos: /dev

Proteção: dispositivos aparecem no sistema de arquivos como objetos

nomeados com suas respectivas regras de proteção ajustáveis pelo administrador do sistema.

(44)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.6.3.2 Utilização do buffer (Fila)

Para acelerar entrada e saída assíncronas, evitando que processos fiquem aguardando pelos dispositivos (ou vice-versa).

Por várias razões, a utilização de buffer é uma questão importante para ambos os dispositivos de blocos e caracteres. Para conhecer uma delas, considere um processo que quer ler dados de um modem.

Uma estratégia possível para o tratamento dos caracteres que chegam é o usuário fazer uma chamada ao sistema read e bloquear-se à espera de um caractere. Cada caractere que chega causa uma interrupção.

A rotina de tratamento da interrupção passa o caractere para o processo do usuário e o desbloqueia. Após colocar o caractere em algum lugar, o processo lê outro caractere e bloqueia-se novamente.

(45)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.6.3.2 Utilização do buffer (Fila)

A rotina de tratamento da interrupção passa o caractere para o processo do usuário e o desbloqueia. Após colocar o caractere em algum lugar, o processo lê outro caractere e bloqueia-se novamente. Esse modelo é indicado na Figura baixo:

(46)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.6.3.2 Utilização do buffer (Fila)

A desvantagem desse método é que o processo do usuário precisa ser iniciado para cada caractere que chega. Permitir que um processo execute muitas vezes durante curtos intervalos de tempo é ineficiente, de modo que esse projeto não é uma boa opção.

(47)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.6.3.3 Reserva/liberação de dispositivos dedicados

Exemplo: O SO deve rejeitar o acesso ao gravador de CD-ROM solicitado

por processo, se já estiver sendo usado por outro processo.

Alguns dispositivos, tais como gravadores de CD-ROM, podem ser usados Por apenas um único processo em um dado momento. O sistema operacional deve ser capaz de examinar as requisições de uso do dispositivo, podendo aceitá-las ou rejeitá-las, dependendo da disponibilidade do dispositivo.

Uma maneira simples de tratar essas requisições é fazer com que os processos executem chamadas ao sistema open para a abertura de arquivos especiais, os quais são associados diretamente aos dispositivos.

(48)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.6.3.3 Reserva/liberação de dispositivos dedicados

Se o dispositivo não está disponível, o open falha. Com isso, o fechamento desse dispositivo dedicado implica a liberação do mesmo.

Uma estratégia alternativa é ter mecanismos especiais para a requisição e liberação de dispositivos. Tentar adquirir um dispositivo que não esteja disponível bloqueia o processo chamador em vez de causar una falha.

Os Processos bloqueados são colocados em uma fila. Mais cedo ou mais tarde, o dispositivo solicitado torna-se disponível e ao primeiro processo da fila é dado o direito de adquirir o dispositivo e prosseguir em sua execução.

(49)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.7 Discos

Hardware de discos magnéticos:

Organização:

 Cilindros;

 Trilhas (1-16/cilindro);

(50)

Capítulo 8 - Dispositivos

de Entrada e Saída

(51)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.7 Discos

Evolução em 2 Décadas:

(52)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.7 Discos

A geometria especificada (usada pelo driver) pode ser diferente da geometria do formato físico do disco.

 Discos antigos: mesmo número de setores por trilha;

(53)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.7 Discos

Geometria física x virtual (mesmo número de setores):

Controlador de disco: mapeamento [cilindro (C); trilha (T); setor (S)] (virtuais) em posicionamento real no dispositivo físico.

(54)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.7 Discos

Mídias CD-R e CD-RW: como funcionam?

O CD-R usa um tipo material que quando queimado pelo laser do gravador de CD sofre uma transformação que não permite mais alterá-lo, deixando a mídia como um CD-ROM comum.

As mídias de CD são constituídas por camadas. O material usado nelas é o que forma a cor da mídia (prateado, dourado, azul, verde, etc). No caso do CD-R são usadas, basicamente, cinco camadas:

(55)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.7 Discos

Mídias CD-R

Camada 1: Superfície para proteção - camada usada para proteger os dados gravados, como uma espécie de "capa protetora". Mídias muito baratas (baixa qualidade) nem sempre possuem esse material;

Camada 2: Laqueamento - também tem a função de proteger os dados, ficando logo abaixo da camada de proteção e servindo de complemento a esta. Sendo assim, as mídias baratas também podem não ter esta camada; Camada 3: Camada reflexiva - como o nome indica, esta camada é responsável por refletir o raio laser emitido pelo canhão do aparelho gravador. De acordo com a intensidade do laser, a camada de gravação (camada 4) sofre alterações que caracterizam a gravação de dados;

(56)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.7 Discos

Mídias CD-R

Camada 4: Camada de gravação - o reflexo vindo da camada 3 queima esta parte formando alterações variáveis no material, o que constituem os dados armazenados na mídia;

Camada 5: Base plástica - é uma camada de policarbonato, que forma a base para todo o CD. Com espessura de 1,2 mm, tal camada é a mais grossa e é constituída como um espiral.

(57)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.7 Discos

Mídias CD-RW

O CD-RW possui 6 camadas e substitui as camadas reflexivas e de gravação por um material capaz de alterar sua forma através de aplicação de calor, permitindo a regravação dos dados. Sua cor é um pouco mais escura que o prateado do CD comum:

Camada 1: Superfície de proteção - tem a função de proteger os dados gravados;

Camada 2: Laqueamento - também tem a função de proteger os dados, ficando logo abaixo da camada de proteção e servindo de complemento a esta;

(58)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.7 Discos

Mídias CD-RW

Camada 3: Camada dielétrica - reveste a camada de gravação (camada 4) eliminando o excesso de calor durante o processo de gravação;

Camada 4: Camada de gravação - consiste num material que mistura prata, antimônio e telúrio. Através do calor emitido pelo canhão laser do aparelho gravador, os dados são registrados nesta camada. Numa determinada temperatura, esta camada volta ao seu estado normal. Através de uma temperatura baixa é que os aparelhos leem os dados gravados;

Camada 5: Camada dielétrica - idem à camada 3, com a diferença de ficar por baixo da camada de gravação;

(59)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.7 Discos

Mídias CD-RW

Camada 6: Base plástica - é uma camada de policarbonato, que forma a base para todo o CD. Com espessura de 1,2 mm, tal camada é a mais grossa e é constituída como uma espiral.

(60)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.8 Relógios

Relógios - também chamados de temporizadores (timers) - são essenciais para o funcionamento de qualquer sistema multiprogramado devido a uma variedade de razões.

Entre outras coisas, eles mantêm a hora do dia e evitam que um processo monopolize a CPU. O programa do relógio pode tomar a forma de um driver de dispositivo, muito embora um relógio não seja nem um dispositivo de bloco, como um disco, nem um dispositivo de caractere, como um mouse.

(61)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.8.1 Hardware

 Quando o contador chega a zero, uma interrupção ("tique") é enviada pelo relógio.

 500 MHz: pulso a cada 2ns => Registrador de 32 bits: interrupções programadas

(62)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.8.2 Software do Relógio

Hardware: gerar interrupções a intervalos conhecidos

Software (driver do relógio):

1. Manter a hora do dia.

2. Evitar que algum Processo execute durante um tempo maior do que o tempo permitido.

3. Contabilizar o uso da CPU.

4. Tratar a chamada ao sistema call alarm feita pelos processos do usuário.

5. Fornecer temporizadores watchdog para partes do próprio sistema.

(63)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.8.2 Software do Relógio

Função data e hora

Incremento a cada tique do relógio (hardware):

 32 bits + 60 Hz = aprox. 2 anos;

 Impossível manter hora e data atuais com 32 bits guardando o número de tiques desde 01/01/1970 (ou outra referência).

(64)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.8.2 Software do Relógio

Soluções:

1. 64 bits para guardar a hora do dia em tiques. Problema: muitas atualizações.

2. 32 bits para guardar a hora do dia em segundos (~136 anos) + contador de número de tiques no segundo atual

3. 32 bits para contador de tiques (a partir do boot do sistema) + 32 bits p/ hora do boot do sistema em segundos

(65)

Capítulo 8 - Dispositivos

de Entrada e Saída

8.8.2 Software do Relógio

Evitar Monopólio da CPU por 1 único processo

Quando o processo é iniciado: escalonador inicializa contador com Q (em tiques de relógio):

Cada interrupção de relógio: contador--;. Quando (contador == 0): driver do relógio chama escalonador para escolher outro processo:

Referências

Documentos relacionados

z O autor de um documento deve especificar qual a linguagem script default de um documento usando o elemento meta. <META

Plantio: Março (sementes), outubro e novembro (estacas) Característica botânica: Planta subarbustiva, perene.. Os ramos são

O fato da contagem total de hemócitos no experimento com o agroquímico Talcord não ter sido diferente significativamente entre o controle e os dois tratamentos onde os

Inicialmente, destacamos os principais pontos de convergência: • O papel tático e operacional exercido pela área de TI dos Câmpus é claramente identificável, tanto nos

Antes de caminhar efetivamente ao encontro de métodos e mecanismos que nos levem a solucionar os problemas de ajustamento e inclusão dos jovens oriundos das “tribos” juvenis urbanas

The objective of this study was to estimate chronic kidney disease prevalence and associated factors among adults living in the Metropolitan Region of Manaus, Amazonas,

These gases are emitted into the atmosphere from natural aquatic sources, terrestrial ecosystems and anthropogenic sources (Tremblay, et al., 2011). Foram usadas as

The assemblages of immature stages of Odonata inhabiting the studied streams in the island of Santa Catarina had lower genera richness than tropical and subtropical