SlideShare uma empresa Scribd logo
1 de 47
Baixar para ler offline
Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e
Dispositivos de Entrada e Sa´ıda
Norton Trevisan Roman
23 de outubro de 2017
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 1 / 45
Pagina¸c˜ao
Endere¸cos de disco usados para armazenar p´aginas
que n˜ao est˜ao na mem´oria n˜ao fazem parte da
tabela de p´aginas
A tabela cont´em apenas a informa¸c˜ao que o hardware
precisa para traduzir endere¸co virtual em f´ısico
Onde ent˜ao colocar as p´aginas no disco, quando
retiradas da mem´oria?
E como saber onde est˜ao? Como gerenciar isso?
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 2 / 45
Pagina¸c˜ao – Parti¸c˜ao de Swap
A solu¸c˜ao mais simples ´e ter uma parti¸c˜ao especial
de swap
Solu¸c˜ao do Unix e Linux
N˜ao possui um sistema de arquivos normal
S˜ao usados n´umeros de blocos relativos ao in´ıcio da parti¸c˜ao
Quando o SO inicia, a parti¸c˜ao est´a vazia
Representada na mem´oria como uma ´unica entrada
contendo sua localiza¸c˜ao e tamanho
`A medida em que processos s˜ao iniciados, o SO reserva um
peda¸co da ´area de swap do tamanho do processo
Quando terminam, o espa¸co ´e liberado
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 3 / 45
Pagina¸c˜ao – Parti¸c˜ao de Swap
A ´area de troca ´e gerenciada como uma lista de
espa¸cos dispon´ıveis
H´a algoritmos melhores, mas que n˜ao ser˜ao discutidos
Associado a cada processo est´a o endere¸co no disco
de sua ´area de swap
Mantido na tabela de processos
C´alculo do endere¸co para escrever uma p´agina:
Adicione o endere¸co-base da p´agina em seu espa¸co de
endere¸camento virtual ao endere¸co inicial da ´area de swap associada
ao processo
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 4 / 45
Pagina¸c˜ao – Parti¸c˜ao de Swap
Problema: antes de um processo iniciar, a ´area de
swap deve ser inicializada
Possibilidade A – Assim que o processo ´e criado, ele ´e
copiado todo para sua ´area de troca no disco, sendo
carregado para mem´oria quando necess´ario
Alternativamente, podemos copi´a-lo todo para a mem´oria, deixando
que suas p´aginas sejam derrubadas se necess´ario
Problema: processos podem aumentar de tamanho enquanto
executam (pilha e dados)
Solu¸c˜ao: reservar ´areas de troca diferentes para c´odigo, dados e
pilha, permitindo que elas consistam de mais de um bloco no disco
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 5 / 45
Pagina¸c˜ao – Parti¸c˜ao de Swap
Possibilidade A:
Basta saber o endere¸co do
in´ıcio da ´area de swap do
processo → As p´aginas
s˜ao espelhadas no disco
A ´area de swap ´e t˜ao grande
quanto o espa¸co de
endere¸camento virtual do
processo
´Area de troca (swap)
est´atica
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 6 / 45
Pagina¸c˜ao – Parti¸c˜ao de Swap
Possibilidade B – Nada ´e alocado antecipadamente.
Espa¸co ´e alocado em disco quando a p´agina for enviada para
l´a e desalocado quando o processo termina
Aloca¸c˜ao feita a cada p´agina
P´aginas “somente leitura” e as nunca modificadas s˜ao re-lidas dos
arquivos originais, n˜ao ficando no swap
Assim, o processo na RAM n˜ao fica “amarrado” a uma ´area
de swap espec´ıfica
Desvantagem: precisamos manter na mem´oria o endere¸co de
cada p´agina armazenada em disco
Deve haver uma tabela para cada processo dizendo onde cada
p´agina est´a no disco (se estiver l´a)
Antes, bastava saber onde o processo iniciava no disco
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 7 / 45
Pagina¸c˜ao – Parti¸c˜ao de Swap
Possibilidade B:
As p´aginas n˜ao tˆem endere¸co
fixo
Quando uma p´agina ´e
derrubada, uma vazia em disco
´e escolhida e o mapa atualizado
P´aginas na mem´oria n˜ao tˆem
c´opia em disco (a n˜ao ser que
tenha sido modificada em algum
momento da execu¸c˜ao)
´Area de troca dinˆamica
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 8 / 45
Pagina¸c˜ao – Swap em Arquivo
E quando n˜ao podemos ter parti¸c˜ao de swap?
Podemos usar um ou mais arquivos grandes,
pr´e-alocados, dentro do sistema de arquivos normal
Usado no Windows e em celulares (Linux tamb´em suporta)
Windows 10:
C:pagefile.sys
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 9 / 45
Pagina¸c˜ao – Swap em Arquivo
Permite otimiza¸c˜oes:
Uma vez que o texto do programa veio de algum execut´avel,
podemos usar o execut´avel como ´area de swap para o texto
O mesmo esquema pode ser usado com bibliotecas
compartilhadas (shared libraries)
Lembre que o c´odigo ´e em geral read-only (n˜ao precisa ser
devolvido da mem´oria para o disco)
Problem´aticas em caso de falta de energia → o
sistema de arquivos pode ficar inconsistente
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 10 / 45
Segmenta¸c˜ao
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 11 / 45
Segmenta¸c˜ao
A mem´oria virtual ´e unidimensional
Endere¸cos virtuais v˜ao de 0 a um m´aximo
Considere agora o problema de compartilhamento
de partes do c´odigo
Como fazer? Compartilhar cada p´agina necess´aria? E
quando o c´odigo est´a dentro da p´agina, mas n˜ao a ocupa
inteira?
E se algum trecho precisar crescer?
Como fazer? Deslocar as demais p´aginas?
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 12 / 45
Segmenta¸c˜ao
Solu¸c˜ao: Segmentos
Espa¸cos de endere¸camento independentes e
separados
Sequˆencia linear de endere¸cos, de 0 a um m´aximo
Seu tamanho est´a entre 0 e esse m´aximo
Podem ter tamanhos diferentes, e o tamanho pode
variar durante a execu¸c˜ao
Ainda assim, at´e um m´aximo → pode “encher”
Especifica¸c˜ao de endere¸co feita em 2 partes:
N´umero do segmento e o endere¸co dentro do segmento
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 13 / 45
Segmenta¸c˜ao
Segmentos s˜ao entidades l´ogicas, e assim s˜ao vistos
pelo programador
Podem conter uma rotina, um arranjo, uma cole¸c˜ao de
vari´aveis, pilha etc
Ex: alguns object files (.o) s˜ao segmentados conforme o tipo de dado
Normalmente n˜ao contˆem misturas de tipos
O usu´ario tem a ilus˜ao de que todos os segmentos est˜ao na
mem´oria principal, o tempo todo
Diferem-se da pagina¸c˜ao em que os segmentos n˜ao
possuem tamanho fixo, enquanto que p´aginas
possuem
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 14 / 45
Segmenta¸c˜ao
Implementa¸c˜ao
Tabelas de segmentos com n linhas, cada qual
apontando para um segmento de mem´oria
V´arios espa¸cos de endere¸camento
Aloca¸c˜ao de segmentos segue os algoritmos j´a vistos
FIRST-FIT, BEST-FIT, NEXT-FIT, WORST-FIT,
QUICK- FIT
MMU tamb´em ´e utilizada para mapeamento entre
os endere¸cos l´ogicos e f´ısicos
Tabela de segmentos informa qual o endere¸co da
mem´oria f´ısica do segmento e seu tamanho
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 15 / 45
Segmenta¸c˜ao – Implementa¸c˜ao
Suporte do hardware:
M´ultiplos pares base/limite, um por segmento
Armazenados na tabela de segmentos
O n´umero do segmento ´e usado como ´ındice na tabela
H´a um n´umero fixo desses pares
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 16 / 45
Segmenta¸c˜ao – Implementa¸c˜ao
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 17 / 45
Segmenta¸c˜ao: Problemas Encontrados
Embora haja espa¸co na mem´oria, n˜ao h´a espa¸co
cont´ıguo:
Pol´ıtica de realoca¸c˜ao: um ou mais segmentos s˜ao
realocados para abrir espa¸co cont´ınuo
Pol´ıtica de compacta¸c˜ao: todos os espa¸cos s˜ao compactados
Pol´ıtica de bloqueio: fila de espera
Pol´ıtica de troca: substitui¸c˜ao de segmentos
N˜ao possui fragmenta¸c˜ao interna, embora sofra de
fragmenta¸c˜ao externa
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 18 / 45
Segmenta¸c˜ao: Vantagens
Facilita prote¸c˜ao dos dados
Diferentes segmentos podem possuir diferentes tipos de
prote¸c˜ao
Facilita compartilhamento de procedimentos e dados
entre processos (Ex: bibliotecas compartilhadas)
Ex: Suponha que cada rotina ocupe um segmento
A rotina inicia no endere¸co (n,0) → (segmento, deslocamento)
Se mudamos a rotina em (5,0) e a recompilamos, nada mais
tem que ser mudado (n˜ao mudamos nenhum outro
segmento)
Em um esquema unidimensional, ao aumentarmos uma rotina,
podemos mudar o endere¸co inicial da outra (podemos ter que rever
todo o c´odigo)
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 19 / 45
Segmenta¸c˜ao Paginada
Segmentos grandes podem n˜ao caber na mem´oria
Devemos pagin´a-los (Ex: pentium)
Espa¸co l´ogico ´e formado por segmentos
Cada segmento ´e dividido em p´aginas l´ogicas
Cada segmento possui uma tabela de p´aginas
Usada para mapear o endere¸co de p´agina l´ogica do segmento em
endere¸co de p´agina f´ısica
No endere¸camento, a tabela de segmentos indica, para cada
segmento, onde sua respectiva tabela de p´aginas est´a
Semelhante `a pagina¸c˜ao multin´ıvel
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 20 / 45
Segmenta¸c˜ao Paginada
Ao referenciar um endere¸co de mem´oria:
Endere¸co virtual: N´umero do segmento + N´umero da p´agina
+ Deslocamento
Verifica se a p´agina do segmento est´a na mem´oria
Bit de residˆencia
Sen˜ao estiver → page fault
Obt´em, na tabela de segmentos, o endere¸co da tabela de
p´aginas para aquele segmento
Usa o endere¸co da p´agina virtual como offset nessa tabela
Da tabela de p´aginas, obt´em o endere¸co f´ısico da moldura
Age como em pagina¸c˜ao
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 21 / 45
Segmenta¸c˜ao Paginada
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 22 / 45
Segmenta¸c˜ao Paginada
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 23 / 45
Entrada e Sa´ıda
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 24 / 45
Entrada e Sa´ıda
Fun¸c˜oes espec´ıficas do S.O.:
Enviar sinais para os dispositivos
Atender interrup¸c˜oes
Gerenciar comandos aceitos e funcionalidades (servi¸cos
prestados)
Tratar poss´ıveis erros
Prover interface entre os dispositivos e o sistema
Geralmente, o c´odigo para tratamento da entrada e
sa´ıda representa uma fra¸c˜ao significativa do sistema
operacional total
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 25 / 45
Entrada e Sa´ıda
Classifica¸c˜ao quanto ao Tipo de Transferˆencia
Dispositivos de bloco (Block devices):
Armazenam informa¸c˜ao em blocos de tamanho fixo, cada
um com seu pr´oprio endere¸co
Os tamanhos dos blocos variam de 512 B a 32 KB
Transferˆencias s˜ao feitas com um ou mais blocos
consecutivos
Cada bloco ´e lido ou escrito independentemente dos demais
Ex: HD, CD-ROM, Bast˜ao USB
O sistema de arquivos, por exemplo, trata com dispositivos de bloco
abstratos
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 26 / 45
Entrada e Sa´ıda
Classifica¸c˜ao quanto ao Tipo de Transferˆencia
Dispositivos de caractere (Character devices)
Enviam ou recebem um fluxo de caracteres, sem considerar
qualquer estrutura de bloco
N˜ao s˜ao endere¸c´aveis e n˜ao possuem qualquer opera¸c˜ao de
posicionamento (“seek operation”)
Ex: impressoras, interfaces de rede, mouses
Este esquema de classifica¸c˜ao n˜ao ´e perfeito
O timer (clock) n˜ao se encaixa em nenhuma categoria dessas
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 27 / 45
E/S: Princ´ıpios de Hardware
O S.O. sempre trata com a controladora, n˜ao com
os dispositivos
A Comunica¸c˜ao entre CPU e controladoras ´e feita atrav´es de
barramentos comuns (interface de alto n´ıvel)
Interface entre controladora e dispositivo: baixo n´ıvel
Mainframes: m´ultiplos barramentos e processadores
especializados em E/S (canais de E/S).
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 28 / 45
Princ´ıpios de Hardware: Controladores
Cada controladora possui registradores, usados para
comunica¸c˜ao com a CPU
Ao escrever nesses registradores, o SO pode comandar o
dispositivo
Executa E/S escrevendo comandos (e seus parˆametros, se existirem)
nesses registradores
Quando um comando ´e aceito, a CPU pode deixar que a
controladora trabalhe sozinho, indo executar outra tarefa.
Quando o dispositivo termina, avisa a CPU atrav´es de uma
interrup¸c˜ao.
Ao ler desses registradores, o SO pode saber o estado do
dispositivo etc
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 29 / 45
Princ´ıpios de Hardware: Controladores
Muitos dispositivos possuem tamb´em um buffer,
que o SO pode ler (ou escrever)
Ex: mem´oria de v´ıdeo
Como a CPU se comunica com esses registradores e
buffers de dados?
Necessidade de associa¸c˜ao de endere¸cos a estes dispositivos
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 30 / 45
Comunica¸c˜ao CPU – Controladores
Existem 2 formas de interpreta¸c˜ao desses endere¸cos
pelo m´odulo de E/S quando o barramento ´e
compartilhado:
Mapeado em mem´oria ou em E/S
Ambos implementados pelo hardware
Mapeado em Mem´oria:
O m´odulo de E/S opera dentro do espa¸co
de endere¸camento de mem´oria, usando um
conjunto de endere¸cos reservados
(registradores s˜ao tratados como posi¸c˜oes
de mem´orias)
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 31 / 45
Comunica¸c˜ao CPU – Controladores
Mapeado em Mem´oria:
Mapeia todos os registradores de controle no
espa¸co de mem´oria
Usa o mesmo barramento para endere¸car mem´oria e
dispositivos
Cada registrador de controle recebe um
endere¸co de mem´oria ´unico
Geralmente o topo do espa¸co de endere¸cos
Nenhuma mem´oria ´e associada a esses endere¸cos
Quando um endere¸co de mem´oria correspondente a
um registrador ´e usado, a CPU faz o desvio
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 32 / 45
Comunica¸c˜ao CPU – Controladores
Mapeado em Mem´oria – Vantagens:
N˜ao h´a a necessidade de instru¸c˜oes especiais de E/S
A intera¸c˜ao se d´a como se fosse uma posi¸c˜ao de mem´oria comum
Para impedir que determinados usu´arios acessem o
dispositivo, basta n˜ao mapear as p´aginas em seu espa¸co de
endere¸camento virtual
Desvantagens:
Consome parte do espa¸co de endere¸camento
Permitir o uso da cache para os registradores de controle
pode ser desastroso
O hardware deve poder desabilitar a cache seletivamente (em cada
p´agina, por exemplo)
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 33 / 45
Comunica¸c˜ao CPU – Controladores
Mapeado em E/S ou E/S isolada (I/O Ports):
Cada registrador de controle recebe um n´umero de porta de
E/S (inteiro de 8 ou 16 bits)
Acessada via instru¸c˜oes especiais (Intel), usadas apenas pelo
SO
IN REG, PORT → leia do
registrador de controle PORT e
armazene no registrador REG da
CPU
OUT PORT,REG → caminho
inverso de IN
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 34 / 45
Comunica¸c˜ao CPU – Controladores
Mapeado em E/S:
Espa¸cos de endere¸cos diferentes
para mem´oria e E/S
Existe um espa¸co de endere¸camento
independente para os dispositivos de
E/S
IN RO,4 → lˆe da porta de E/S 4
para RO
MOV RO,4 → lˆe do endere¸co 4 da
RAM para RO
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 35 / 45
Comunica¸c˜ao CPU – Controladores
Mapeado em E/S – Vantagens:
N˜ao gasta espa¸co de endere¸camento
N˜ao sofre com o uso da Cache
Desvantagens:
Requer instru¸c˜oes especiais para acesso
Drivers necessariamente tem que usar algum assembly para acessar
as instru¸c˜oes
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 36 / 45
Comunica¸c˜ao CPU – Controladores
Sistemas h´ıbridos
Buffers de dados de E/S mapeados na
mem´oria
Portas de E/S para os registradores de
controle
Ex: Pentium
Portas de E/S de 0 a 64K-1
Endere¸cos de 640K a 1M-1 reservados aos
buffers (experimente ver o gerenciador de
recursos (mem´oria) do Windows ou o
resultado de free do Linux)
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 37 / 45
Comunica¸c˜ao CPU – Funcionamento
Quando a CPU quer ler uma palavra (E/S ou
RAM):
Coloca o endere¸co nas linhas de endere¸co do barramento
Emite um sinal READ sobre uma linha de controle do
barramento
Em uma segunda linha de sinal informa se o espa¸co ´e de E/S
ou de mem´oria
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 38 / 45
E/S – Princ´ıpios de Software: Objetivos
Independˆencia de dispositivo
O programador n˜ao deve se preocupar com o tipo de
dispositivo (CD, HD etc)
Cabe ao SO cuidar das idiossincrasias
Nomenclatura uniforme
O nome de um dispositivo deve ser um string ou inteiro,
independente do dispositivo
Tratamento de erro
Erros deveriam ser tratados o mais pr´oximo do hardware
poss´ıvel, sem que o usu´ario tome conhecimento
Ex: repetindo a opera¸c˜ao
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 39 / 45
E/S – Princ´ıpios de Software
Modos de execu¸c˜ao de E/S:
Os dispositivos de E/S podem operar de 3 modos
b´asicos:
E/S programada
E/S via Interrup¸c˜oes
E/S via Acesso Direto `a Mem´oria
O que distingue as trˆes formas ´e a participa¸c˜ao da
CPU e a utiliza¸c˜ao das interrup¸c˜oes
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 40 / 45
E/S – Princ´ıpios de Software
E/S programada
Forma mais simples de E/S → tudo ´e feito pela
CPU
Os dados s˜ao trocados entre a CPU e o dispositivo
A CPU executa um programa que:
Verifica o estado do dispositivo de E/S, preparando-o para a
opera¸c˜ao
Se necess´ario, envia o comando que deve ser executado;
aguardando o resultado deste, para ent˜ao efetuar a
transferˆencia entre o dispositivo de E/S e algum registrador
da CPU
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 41 / 45
E/S – Princ´ıpios de Software
E/S programada
Ex: imprimir “ABCDEFGH” na impressora
Monta-se o string em um buffer, no espa¸co do usu´ario
O processo ent˜ao det´em a impressora (via chamada de
sistema – open)
Uma vez obtida a impressora, o
processo diz ao SO para imprimir
(write – chamada ao sistema)
O SO copia o string a um arranjo no
espa¸co do kernel
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 42 / 45
E/S – Princ´ıpios de Software
E/S programada
Assim que a impressora ´e liberada, o SO copia
o primeiro caractere ao registrador de dados da
impressora
O primeiro caractere ´e impresso
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 43 / 45
E/S – Princ´ıpios de Software
E/S programada
Assim que a impressora ´e liberada, o SO copia
o primeiro caractere ao registrador de dados da
impressora
O primeiro caractere ´e impresso
O SO marca o pr´oximo caractere, verifica
novamente se a impressora est´a pronta (via
registrador de status) para receber outro
Se pronta, o novo caractere ´e enviado
Continua at´e imprimir todo o string
S´o ent˜ao o controle volta ao processo
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 43 / 45
E/S – Princ´ıpios de Software
E/S programada
Desvantagem:
CPU ´e ocupada o tempo todo at´e que a
E/S seja feita
CPU continuamente verifica se o
dispositivo est´a pronto para aceitar outro
caractere → espera ocupada (tamb´em
chamado de polling)
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 44 / 45
E/S – Princ´ıpios de Software
E/S programada
Desvantagem:
CPU ´e ocupada o tempo todo at´e que a
E/S seja feita
CPU continuamente verifica se o
dispositivo est´a pronto para aceitar outro
caractere → espera ocupada (tamb´em
chamado de polling)
Outro exemplo: Leitura de E/S
Escrita ´e semelhante
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 44 / 45
Referˆencias Adicionais
https://www.kernel.org/doc/gorman/html/
understand/understand014.html
http:
//en.wikipedia.org/wiki/Memory-mapped_I/O
http://docstore.mik.ua/orelly/linux/run/
ch06_02.htm
Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 45 / 45

Mais conteúdo relacionado

Mais procurados

(ACH2044) Sistemas Operacionais - Aula 15
(ACH2044) Sistemas Operacionais - Aula 15(ACH2044) Sistemas Operacionais - Aula 15
(ACH2044) Sistemas Operacionais - Aula 15Norton Trevisan Roman
 
(ACH2044) Sistemas Operacionais - Aula 04
(ACH2044) Sistemas Operacionais - Aula 04(ACH2044) Sistemas Operacionais - Aula 04
(ACH2044) Sistemas Operacionais - Aula 04Norton Trevisan Roman
 
(ACH2044) Sistemas Operacionais - Aula 03
(ACH2044) Sistemas Operacionais - Aula 03(ACH2044) Sistemas Operacionais - Aula 03
(ACH2044) Sistemas Operacionais - Aula 03Norton Trevisan Roman
 
(ACH2044) Sistemas Operacionais - Aula 16
(ACH2044) Sistemas Operacionais - Aula 16(ACH2044) Sistemas Operacionais - Aula 16
(ACH2044) Sistemas Operacionais - Aula 16Norton Trevisan Roman
 
(ACH2044) Sistemas Operacionais - Aula 02
(ACH2044) Sistemas Operacionais - Aula 02(ACH2044) Sistemas Operacionais - Aula 02
(ACH2044) Sistemas Operacionais - Aula 02Norton Trevisan Roman
 
(ACH2044) Sistemas Operacionais - Aula 11
(ACH2044) Sistemas Operacionais - Aula 11(ACH2044) Sistemas Operacionais - Aula 11
(ACH2044) Sistemas Operacionais - Aula 11Norton Trevisan Roman
 
(ACH2044) Sistemas Operacionais - Aula 07
(ACH2044) Sistemas Operacionais - Aula 07(ACH2044) Sistemas Operacionais - Aula 07
(ACH2044) Sistemas Operacionais - Aula 07Norton Trevisan Roman
 
(ACH2044) Sistemas Operacionais - Aula 10
(ACH2044) Sistemas Operacionais - Aula 10(ACH2044) Sistemas Operacionais - Aula 10
(ACH2044) Sistemas Operacionais - Aula 10Norton Trevisan Roman
 
(ACH2044) Sistemas Operacionais - Aula 22
(ACH2044) Sistemas Operacionais - Aula 22(ACH2044) Sistemas Operacionais - Aula 22
(ACH2044) Sistemas Operacionais - Aula 22Norton Trevisan Roman
 
(ACH2044) Sistemas Operacionais - Aula 05
(ACH2044) Sistemas Operacionais - Aula 05(ACH2044) Sistemas Operacionais - Aula 05
(ACH2044) Sistemas Operacionais - Aula 05Norton Trevisan Roman
 
(ACH2044) Sistemas Operacionais - Aula 09
(ACH2044) Sistemas Operacionais - Aula 09(ACH2044) Sistemas Operacionais - Aula 09
(ACH2044) Sistemas Operacionais - Aula 09Norton Trevisan Roman
 
(ACH2044) Sistemas Operacionais - Aula 06
(ACH2044) Sistemas Operacionais - Aula 06(ACH2044) Sistemas Operacionais - Aula 06
(ACH2044) Sistemas Operacionais - Aula 06Norton Trevisan Roman
 
(ACH2044) Sistemas Operacionais - Aula 12
(ACH2044) Sistemas Operacionais - Aula 12(ACH2044) Sistemas Operacionais - Aula 12
(ACH2044) Sistemas Operacionais - Aula 12Norton Trevisan Roman
 
3929 linux passo a passo 1
3929 linux passo a passo 1 3929 linux passo a passo 1
3929 linux passo a passo 1 Márcio Roberto
 
Redes prática - NFS
Redes prática - NFSRedes prática - NFS
Redes prática - NFSLuiz Arthur
 
Ligacao Em Rede A Outros Sistemas Operativos
Ligacao Em Rede A Outros Sistemas OperativosLigacao Em Rede A Outros Sistemas Operativos
Ligacao Em Rede A Outros Sistemas Operativosarturramisio
 
Linux Ubuntu 14.04 Desktop - Particoes
Linux Ubuntu 14.04 Desktop - ParticoesLinux Ubuntu 14.04 Desktop - Particoes
Linux Ubuntu 14.04 Desktop - ParticoesRui Lopes
 
Artigo Denis Rebelo
Artigo Denis RebeloArtigo Denis Rebelo
Artigo Denis RebeloDenis Rebelo
 
Guia com mais de 500 comandos do linux
Guia com mais de 500 comandos do linuxGuia com mais de 500 comandos do linux
Guia com mais de 500 comandos do linuxKalanzans
 

Mais procurados (20)

(ACH2044) Sistemas Operacionais - Aula 15
(ACH2044) Sistemas Operacionais - Aula 15(ACH2044) Sistemas Operacionais - Aula 15
(ACH2044) Sistemas Operacionais - Aula 15
 
(ACH2044) Sistemas Operacionais - Aula 04
(ACH2044) Sistemas Operacionais - Aula 04(ACH2044) Sistemas Operacionais - Aula 04
(ACH2044) Sistemas Operacionais - Aula 04
 
(ACH2044) Sistemas Operacionais - Aula 03
(ACH2044) Sistemas Operacionais - Aula 03(ACH2044) Sistemas Operacionais - Aula 03
(ACH2044) Sistemas Operacionais - Aula 03
 
(ACH2044) Sistemas Operacionais - Aula 16
(ACH2044) Sistemas Operacionais - Aula 16(ACH2044) Sistemas Operacionais - Aula 16
(ACH2044) Sistemas Operacionais - Aula 16
 
(ACH2044) Sistemas Operacionais - Aula 02
(ACH2044) Sistemas Operacionais - Aula 02(ACH2044) Sistemas Operacionais - Aula 02
(ACH2044) Sistemas Operacionais - Aula 02
 
(ACH2044) Sistemas Operacionais - Aula 11
(ACH2044) Sistemas Operacionais - Aula 11(ACH2044) Sistemas Operacionais - Aula 11
(ACH2044) Sistemas Operacionais - Aula 11
 
(ACH2044) Sistemas Operacionais - Aula 07
(ACH2044) Sistemas Operacionais - Aula 07(ACH2044) Sistemas Operacionais - Aula 07
(ACH2044) Sistemas Operacionais - Aula 07
 
(ACH2044) Sistemas Operacionais - Aula 10
(ACH2044) Sistemas Operacionais - Aula 10(ACH2044) Sistemas Operacionais - Aula 10
(ACH2044) Sistemas Operacionais - Aula 10
 
(ACH2044) Sistemas Operacionais - Aula 22
(ACH2044) Sistemas Operacionais - Aula 22(ACH2044) Sistemas Operacionais - Aula 22
(ACH2044) Sistemas Operacionais - Aula 22
 
(ACH2044) Sistemas Operacionais - Aula 05
(ACH2044) Sistemas Operacionais - Aula 05(ACH2044) Sistemas Operacionais - Aula 05
(ACH2044) Sistemas Operacionais - Aula 05
 
(ACH2044) Sistemas Operacionais - Aula 09
(ACH2044) Sistemas Operacionais - Aula 09(ACH2044) Sistemas Operacionais - Aula 09
(ACH2044) Sistemas Operacionais - Aula 09
 
(ACH2044) Sistemas Operacionais - Aula 06
(ACH2044) Sistemas Operacionais - Aula 06(ACH2044) Sistemas Operacionais - Aula 06
(ACH2044) Sistemas Operacionais - Aula 06
 
(ACH2044) Sistemas Operacionais - Aula 12
(ACH2044) Sistemas Operacionais - Aula 12(ACH2044) Sistemas Operacionais - Aula 12
(ACH2044) Sistemas Operacionais - Aula 12
 
3929 linux passo a passo 1
3929 linux passo a passo 1 3929 linux passo a passo 1
3929 linux passo a passo 1
 
Redes prática - NFS
Redes prática - NFSRedes prática - NFS
Redes prática - NFS
 
Ligacao Em Rede A Outros Sistemas Operativos
Ligacao Em Rede A Outros Sistemas OperativosLigacao Em Rede A Outros Sistemas Operativos
Ligacao Em Rede A Outros Sistemas Operativos
 
Linux Ubuntu 14.04 Desktop - Particoes
Linux Ubuntu 14.04 Desktop - ParticoesLinux Ubuntu 14.04 Desktop - Particoes
Linux Ubuntu 14.04 Desktop - Particoes
 
Comandos do linux
Comandos do linuxComandos do linux
Comandos do linux
 
Artigo Denis Rebelo
Artigo Denis RebeloArtigo Denis Rebelo
Artigo Denis Rebelo
 
Guia com mais de 500 comandos do linux
Guia com mais de 500 comandos do linuxGuia com mais de 500 comandos do linux
Guia com mais de 500 comandos do linux
 

Semelhante a (ACH2044) Sistemas Operacionais - Aula 17

Amostra Resolucao da Prova Sefaz 2007 Prof Jaime
Amostra   Resolucao da Prova Sefaz 2007   Prof JaimeAmostra   Resolucao da Prova Sefaz 2007   Prof Jaime
Amostra Resolucao da Prova Sefaz 2007 Prof JaimeWalter Cunha
 
Gerência de Memória: Memória Principal
Gerência de Memória: Memória PrincipalGerência de Memória: Memória Principal
Gerência de Memória: Memória PrincipalAlexandre Duarte
 
Tutorial de discos
Tutorial de discosTutorial de discos
Tutorial de discosTiago
 
AULA SOBRE PARTICOES 20.01.2023.pptx
AULA SOBRE PARTICOES 20.01.2023.pptxAULA SOBRE PARTICOES 20.01.2023.pptx
AULA SOBRE PARTICOES 20.01.2023.pptxADASVIEIRAArmazmPara
 
Resumos sobre tecnologias de informação e conceitos basicos
Resumos sobre tecnologias de informação e conceitos basicosResumos sobre tecnologias de informação e conceitos basicos
Resumos sobre tecnologias de informação e conceitos basicosJoo200
 
Gerenciamento de Memoria
Gerenciamento de MemoriaGerenciamento de Memoria
Gerenciamento de Memoriaaudineisilva1
 
Discos
DiscosDiscos
DiscosTiago
 
(ACH2055) Arquitetura de Computadores - Aula 11
(ACH2055) Arquitetura de Computadores - Aula 11(ACH2055) Arquitetura de Computadores - Aula 11
(ACH2055) Arquitetura de Computadores - Aula 11Norton Trevisan Roman
 
Gerenciamento de memoria
Gerenciamento de memoriaGerenciamento de memoria
Gerenciamento de memoriaJailson Silva
 
Gerência de Memória
Gerência de MemóriaGerência de Memória
Gerência de Memóriaelliando dias
 
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas OperacionaisAula 5a - Sistemas Operacionais
Aula 5a - Sistemas OperacionaisJocelma Rios
 
Memória virtual 2
Memória virtual 2Memória virtual 2
Memória virtual 2jackeline456
 
Gerenciamento de Memória
Gerenciamento de MemóriaGerenciamento de Memória
Gerenciamento de Memóriaelliando dias
 
Valdir Adorni - Infra and S.A.N Assessment Integration Sample
Valdir Adorni - Infra and S.A.N Assessment Integration SampleValdir Adorni - Infra and S.A.N Assessment Integration Sample
Valdir Adorni - Infra and S.A.N Assessment Integration SampleValdir Adorni
 
Dispositivos de Armazenamento em massa
Dispositivos de Armazenamento em massaDispositivos de Armazenamento em massa
Dispositivos de Armazenamento em massaelliando dias
 

Semelhante a (ACH2044) Sistemas Operacionais - Aula 17 (20)

Amostra Resolucao da Prova Sefaz 2007 Prof Jaime
Amostra   Resolucao da Prova Sefaz 2007   Prof JaimeAmostra   Resolucao da Prova Sefaz 2007   Prof Jaime
Amostra Resolucao da Prova Sefaz 2007 Prof Jaime
 
Gerência de Memória: Memória Principal
Gerência de Memória: Memória PrincipalGerência de Memória: Memória Principal
Gerência de Memória: Memória Principal
 
Tutorial de discos
Tutorial de discosTutorial de discos
Tutorial de discos
 
AULA SOBRE PARTICOES 20.01.2023.pptx
AULA SOBRE PARTICOES 20.01.2023.pptxAULA SOBRE PARTICOES 20.01.2023.pptx
AULA SOBRE PARTICOES 20.01.2023.pptx
 
Resumos sobre tecnologias de informação e conceitos basicos
Resumos sobre tecnologias de informação e conceitos basicosResumos sobre tecnologias de informação e conceitos basicos
Resumos sobre tecnologias de informação e conceitos basicos
 
Gerenciamento de Memoria
Gerenciamento de MemoriaGerenciamento de Memoria
Gerenciamento de Memoria
 
Discos
DiscosDiscos
Discos
 
(ACH2055) Arquitetura de Computadores - Aula 11
(ACH2055) Arquitetura de Computadores - Aula 11(ACH2055) Arquitetura de Computadores - Aula 11
(ACH2055) Arquitetura de Computadores - Aula 11
 
Hardware
HardwareHardware
Hardware
 
Gerenciamento de memoria
Gerenciamento de memoriaGerenciamento de memoria
Gerenciamento de memoria
 
355862 slide12-mem virt
355862 slide12-mem virt355862 slide12-mem virt
355862 slide12-mem virt
 
teAula 11
teAula 11teAula 11
teAula 11
 
Gerência de Memória
Gerência de MemóriaGerência de Memória
Gerência de Memória
 
Gestao de Memoria_SLIDE.pptx
Gestao de Memoria_SLIDE.pptxGestao de Memoria_SLIDE.pptx
Gestao de Memoria_SLIDE.pptx
 
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas OperacionaisAula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
 
Memória virtual
Memória virtualMemória virtual
Memória virtual
 
Memória virtual 2
Memória virtual 2Memória virtual 2
Memória virtual 2
 
Gerenciamento de Memória
Gerenciamento de MemóriaGerenciamento de Memória
Gerenciamento de Memória
 
Valdir Adorni - Infra and S.A.N Assessment Integration Sample
Valdir Adorni - Infra and S.A.N Assessment Integration SampleValdir Adorni - Infra and S.A.N Assessment Integration Sample
Valdir Adorni - Infra and S.A.N Assessment Integration Sample
 
Dispositivos de Armazenamento em massa
Dispositivos de Armazenamento em massaDispositivos de Armazenamento em massa
Dispositivos de Armazenamento em massa
 

Mais de Norton Trevisan Roman

(ACH2044) Inteligência Artificial - Aula 24
(ACH2044) Inteligência Artificial - Aula 24(ACH2044) Inteligência Artificial - Aula 24
(ACH2044) Inteligência Artificial - Aula 24Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 23
(ACH2044) Inteligência Artificial - Aula 23(ACH2044) Inteligência Artificial - Aula 23
(ACH2044) Inteligência Artificial - Aula 23Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 22
(ACH2044) Inteligência Artificial - Aula 22(ACH2044) Inteligência Artificial - Aula 22
(ACH2044) Inteligência Artificial - Aula 22Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 21
(ACH2044) Inteligência Artificial - Aula 21(ACH2044) Inteligência Artificial - Aula 21
(ACH2044) Inteligência Artificial - Aula 21Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 20
(ACH2044) Inteligência Artificial - Aula 20(ACH2044) Inteligência Artificial - Aula 20
(ACH2044) Inteligência Artificial - Aula 20Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 19
(ACH2044) Inteligência Artificial - Aula 19(ACH2044) Inteligência Artificial - Aula 19
(ACH2044) Inteligência Artificial - Aula 19Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 18
(ACH2044) Inteligência Artificial - Aula 18(ACH2044) Inteligência Artificial - Aula 18
(ACH2044) Inteligência Artificial - Aula 18Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 17
(ACH2044) Inteligência Artificial - Aula 17(ACH2044) Inteligência Artificial - Aula 17
(ACH2044) Inteligência Artificial - Aula 17Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 16
(ACH2044) Inteligência Artificial - Aula 16(ACH2044) Inteligência Artificial - Aula 16
(ACH2044) Inteligência Artificial - Aula 16Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 15
(ACH2044) Inteligência Artificial - Aula 15(ACH2044) Inteligência Artificial - Aula 15
(ACH2044) Inteligência Artificial - Aula 15Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 14
(ACH2044) Inteligência Artificial - Aula 14(ACH2044) Inteligência Artificial - Aula 14
(ACH2044) Inteligência Artificial - Aula 14Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 13
(ACH2044) Inteligência Artificial - Aula 13(ACH2044) Inteligência Artificial - Aula 13
(ACH2044) Inteligência Artificial - Aula 13Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 12
(ACH2044) Inteligência Artificial - Aula 12(ACH2044) Inteligência Artificial - Aula 12
(ACH2044) Inteligência Artificial - Aula 12Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 11
(ACH2044) Inteligência Artificial - Aula 11(ACH2044) Inteligência Artificial - Aula 11
(ACH2044) Inteligência Artificial - Aula 11Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 10
(ACH2044) Inteligência Artificial - Aula 10(ACH2044) Inteligência Artificial - Aula 10
(ACH2044) Inteligência Artificial - Aula 10Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 09
(ACH2044) Inteligência Artificial - Aula 09(ACH2044) Inteligência Artificial - Aula 09
(ACH2044) Inteligência Artificial - Aula 09Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 08
(ACH2044) Inteligência Artificial - Aula 08(ACH2044) Inteligência Artificial - Aula 08
(ACH2044) Inteligência Artificial - Aula 08Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 07
(ACH2044) Inteligência Artificial - Aula 07(ACH2044) Inteligência Artificial - Aula 07
(ACH2044) Inteligência Artificial - Aula 07Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 06
(ACH2044) Inteligência Artificial - Aula 06(ACH2044) Inteligência Artificial - Aula 06
(ACH2044) Inteligência Artificial - Aula 06Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 05
(ACH2044) Inteligência Artificial - Aula 05(ACH2044) Inteligência Artificial - Aula 05
(ACH2044) Inteligência Artificial - Aula 05Norton Trevisan Roman
 

Mais de Norton Trevisan Roman (20)

(ACH2044) Inteligência Artificial - Aula 24
(ACH2044) Inteligência Artificial - Aula 24(ACH2044) Inteligência Artificial - Aula 24
(ACH2044) Inteligência Artificial - Aula 24
 
(ACH2044) Inteligência Artificial - Aula 23
(ACH2044) Inteligência Artificial - Aula 23(ACH2044) Inteligência Artificial - Aula 23
(ACH2044) Inteligência Artificial - Aula 23
 
(ACH2044) Inteligência Artificial - Aula 22
(ACH2044) Inteligência Artificial - Aula 22(ACH2044) Inteligência Artificial - Aula 22
(ACH2044) Inteligência Artificial - Aula 22
 
(ACH2044) Inteligência Artificial - Aula 21
(ACH2044) Inteligência Artificial - Aula 21(ACH2044) Inteligência Artificial - Aula 21
(ACH2044) Inteligência Artificial - Aula 21
 
(ACH2044) Inteligência Artificial - Aula 20
(ACH2044) Inteligência Artificial - Aula 20(ACH2044) Inteligência Artificial - Aula 20
(ACH2044) Inteligência Artificial - Aula 20
 
(ACH2044) Inteligência Artificial - Aula 19
(ACH2044) Inteligência Artificial - Aula 19(ACH2044) Inteligência Artificial - Aula 19
(ACH2044) Inteligência Artificial - Aula 19
 
(ACH2044) Inteligência Artificial - Aula 18
(ACH2044) Inteligência Artificial - Aula 18(ACH2044) Inteligência Artificial - Aula 18
(ACH2044) Inteligência Artificial - Aula 18
 
(ACH2044) Inteligência Artificial - Aula 17
(ACH2044) Inteligência Artificial - Aula 17(ACH2044) Inteligência Artificial - Aula 17
(ACH2044) Inteligência Artificial - Aula 17
 
(ACH2044) Inteligência Artificial - Aula 16
(ACH2044) Inteligência Artificial - Aula 16(ACH2044) Inteligência Artificial - Aula 16
(ACH2044) Inteligência Artificial - Aula 16
 
(ACH2044) Inteligência Artificial - Aula 15
(ACH2044) Inteligência Artificial - Aula 15(ACH2044) Inteligência Artificial - Aula 15
(ACH2044) Inteligência Artificial - Aula 15
 
(ACH2044) Inteligência Artificial - Aula 14
(ACH2044) Inteligência Artificial - Aula 14(ACH2044) Inteligência Artificial - Aula 14
(ACH2044) Inteligência Artificial - Aula 14
 
(ACH2044) Inteligência Artificial - Aula 13
(ACH2044) Inteligência Artificial - Aula 13(ACH2044) Inteligência Artificial - Aula 13
(ACH2044) Inteligência Artificial - Aula 13
 
(ACH2044) Inteligência Artificial - Aula 12
(ACH2044) Inteligência Artificial - Aula 12(ACH2044) Inteligência Artificial - Aula 12
(ACH2044) Inteligência Artificial - Aula 12
 
(ACH2044) Inteligência Artificial - Aula 11
(ACH2044) Inteligência Artificial - Aula 11(ACH2044) Inteligência Artificial - Aula 11
(ACH2044) Inteligência Artificial - Aula 11
 
(ACH2044) Inteligência Artificial - Aula 10
(ACH2044) Inteligência Artificial - Aula 10(ACH2044) Inteligência Artificial - Aula 10
(ACH2044) Inteligência Artificial - Aula 10
 
(ACH2044) Inteligência Artificial - Aula 09
(ACH2044) Inteligência Artificial - Aula 09(ACH2044) Inteligência Artificial - Aula 09
(ACH2044) Inteligência Artificial - Aula 09
 
(ACH2044) Inteligência Artificial - Aula 08
(ACH2044) Inteligência Artificial - Aula 08(ACH2044) Inteligência Artificial - Aula 08
(ACH2044) Inteligência Artificial - Aula 08
 
(ACH2044) Inteligência Artificial - Aula 07
(ACH2044) Inteligência Artificial - Aula 07(ACH2044) Inteligência Artificial - Aula 07
(ACH2044) Inteligência Artificial - Aula 07
 
(ACH2044) Inteligência Artificial - Aula 06
(ACH2044) Inteligência Artificial - Aula 06(ACH2044) Inteligência Artificial - Aula 06
(ACH2044) Inteligência Artificial - Aula 06
 
(ACH2044) Inteligência Artificial - Aula 05
(ACH2044) Inteligência Artificial - Aula 05(ACH2044) Inteligência Artificial - Aula 05
(ACH2044) Inteligência Artificial - Aula 05
 

Último

PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfCamillaBrito19
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxTainTorres4
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFtimaMoreira35
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdfPortfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdfjanainadfsilva
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividadeMary Alvarenga
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?AnabelaGuerreiro7
 
análise de redação completa - Dissertação
análise de redação completa - Dissertaçãoanálise de redação completa - Dissertação
análise de redação completa - DissertaçãoMaiteFerreira4
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaronaldojacademico
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxLuizHenriquedeAlmeid6
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -Aline Santana
 
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptxPLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptxSamiraMiresVieiradeM
 
Revista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfRevista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfMárcio Azevedo
 

Último (20)

PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdf
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
Bullying, sai pra lá
Bullying,  sai pra láBullying,  sai pra lá
Bullying, sai pra lá
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdf
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdfPortfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividade
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?
 
análise de redação completa - Dissertação
análise de redação completa - Dissertaçãoanálise de redação completa - Dissertação
análise de redação completa - Dissertação
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riqueza
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
 
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptxPLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
 
Revista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfRevista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdf
 

(ACH2044) Sistemas Operacionais - Aula 17

  • 1. Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda Norton Trevisan Roman 23 de outubro de 2017 Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 1 / 45
  • 2. Pagina¸c˜ao Endere¸cos de disco usados para armazenar p´aginas que n˜ao est˜ao na mem´oria n˜ao fazem parte da tabela de p´aginas A tabela cont´em apenas a informa¸c˜ao que o hardware precisa para traduzir endere¸co virtual em f´ısico Onde ent˜ao colocar as p´aginas no disco, quando retiradas da mem´oria? E como saber onde est˜ao? Como gerenciar isso? Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 2 / 45
  • 3. Pagina¸c˜ao – Parti¸c˜ao de Swap A solu¸c˜ao mais simples ´e ter uma parti¸c˜ao especial de swap Solu¸c˜ao do Unix e Linux N˜ao possui um sistema de arquivos normal S˜ao usados n´umeros de blocos relativos ao in´ıcio da parti¸c˜ao Quando o SO inicia, a parti¸c˜ao est´a vazia Representada na mem´oria como uma ´unica entrada contendo sua localiza¸c˜ao e tamanho `A medida em que processos s˜ao iniciados, o SO reserva um peda¸co da ´area de swap do tamanho do processo Quando terminam, o espa¸co ´e liberado Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 3 / 45
  • 4. Pagina¸c˜ao – Parti¸c˜ao de Swap A ´area de troca ´e gerenciada como uma lista de espa¸cos dispon´ıveis H´a algoritmos melhores, mas que n˜ao ser˜ao discutidos Associado a cada processo est´a o endere¸co no disco de sua ´area de swap Mantido na tabela de processos C´alculo do endere¸co para escrever uma p´agina: Adicione o endere¸co-base da p´agina em seu espa¸co de endere¸camento virtual ao endere¸co inicial da ´area de swap associada ao processo Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 4 / 45
  • 5. Pagina¸c˜ao – Parti¸c˜ao de Swap Problema: antes de um processo iniciar, a ´area de swap deve ser inicializada Possibilidade A – Assim que o processo ´e criado, ele ´e copiado todo para sua ´area de troca no disco, sendo carregado para mem´oria quando necess´ario Alternativamente, podemos copi´a-lo todo para a mem´oria, deixando que suas p´aginas sejam derrubadas se necess´ario Problema: processos podem aumentar de tamanho enquanto executam (pilha e dados) Solu¸c˜ao: reservar ´areas de troca diferentes para c´odigo, dados e pilha, permitindo que elas consistam de mais de um bloco no disco Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 5 / 45
  • 6. Pagina¸c˜ao – Parti¸c˜ao de Swap Possibilidade A: Basta saber o endere¸co do in´ıcio da ´area de swap do processo → As p´aginas s˜ao espelhadas no disco A ´area de swap ´e t˜ao grande quanto o espa¸co de endere¸camento virtual do processo ´Area de troca (swap) est´atica Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 6 / 45
  • 7. Pagina¸c˜ao – Parti¸c˜ao de Swap Possibilidade B – Nada ´e alocado antecipadamente. Espa¸co ´e alocado em disco quando a p´agina for enviada para l´a e desalocado quando o processo termina Aloca¸c˜ao feita a cada p´agina P´aginas “somente leitura” e as nunca modificadas s˜ao re-lidas dos arquivos originais, n˜ao ficando no swap Assim, o processo na RAM n˜ao fica “amarrado” a uma ´area de swap espec´ıfica Desvantagem: precisamos manter na mem´oria o endere¸co de cada p´agina armazenada em disco Deve haver uma tabela para cada processo dizendo onde cada p´agina est´a no disco (se estiver l´a) Antes, bastava saber onde o processo iniciava no disco Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 7 / 45
  • 8. Pagina¸c˜ao – Parti¸c˜ao de Swap Possibilidade B: As p´aginas n˜ao tˆem endere¸co fixo Quando uma p´agina ´e derrubada, uma vazia em disco ´e escolhida e o mapa atualizado P´aginas na mem´oria n˜ao tˆem c´opia em disco (a n˜ao ser que tenha sido modificada em algum momento da execu¸c˜ao) ´Area de troca dinˆamica Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 8 / 45
  • 9. Pagina¸c˜ao – Swap em Arquivo E quando n˜ao podemos ter parti¸c˜ao de swap? Podemos usar um ou mais arquivos grandes, pr´e-alocados, dentro do sistema de arquivos normal Usado no Windows e em celulares (Linux tamb´em suporta) Windows 10: C:pagefile.sys Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 9 / 45
  • 10. Pagina¸c˜ao – Swap em Arquivo Permite otimiza¸c˜oes: Uma vez que o texto do programa veio de algum execut´avel, podemos usar o execut´avel como ´area de swap para o texto O mesmo esquema pode ser usado com bibliotecas compartilhadas (shared libraries) Lembre que o c´odigo ´e em geral read-only (n˜ao precisa ser devolvido da mem´oria para o disco) Problem´aticas em caso de falta de energia → o sistema de arquivos pode ficar inconsistente Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 10 / 45
  • 11. Segmenta¸c˜ao Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 11 / 45
  • 12. Segmenta¸c˜ao A mem´oria virtual ´e unidimensional Endere¸cos virtuais v˜ao de 0 a um m´aximo Considere agora o problema de compartilhamento de partes do c´odigo Como fazer? Compartilhar cada p´agina necess´aria? E quando o c´odigo est´a dentro da p´agina, mas n˜ao a ocupa inteira? E se algum trecho precisar crescer? Como fazer? Deslocar as demais p´aginas? Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 12 / 45
  • 13. Segmenta¸c˜ao Solu¸c˜ao: Segmentos Espa¸cos de endere¸camento independentes e separados Sequˆencia linear de endere¸cos, de 0 a um m´aximo Seu tamanho est´a entre 0 e esse m´aximo Podem ter tamanhos diferentes, e o tamanho pode variar durante a execu¸c˜ao Ainda assim, at´e um m´aximo → pode “encher” Especifica¸c˜ao de endere¸co feita em 2 partes: N´umero do segmento e o endere¸co dentro do segmento Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 13 / 45
  • 14. Segmenta¸c˜ao Segmentos s˜ao entidades l´ogicas, e assim s˜ao vistos pelo programador Podem conter uma rotina, um arranjo, uma cole¸c˜ao de vari´aveis, pilha etc Ex: alguns object files (.o) s˜ao segmentados conforme o tipo de dado Normalmente n˜ao contˆem misturas de tipos O usu´ario tem a ilus˜ao de que todos os segmentos est˜ao na mem´oria principal, o tempo todo Diferem-se da pagina¸c˜ao em que os segmentos n˜ao possuem tamanho fixo, enquanto que p´aginas possuem Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 14 / 45
  • 15. Segmenta¸c˜ao Implementa¸c˜ao Tabelas de segmentos com n linhas, cada qual apontando para um segmento de mem´oria V´arios espa¸cos de endere¸camento Aloca¸c˜ao de segmentos segue os algoritmos j´a vistos FIRST-FIT, BEST-FIT, NEXT-FIT, WORST-FIT, QUICK- FIT MMU tamb´em ´e utilizada para mapeamento entre os endere¸cos l´ogicos e f´ısicos Tabela de segmentos informa qual o endere¸co da mem´oria f´ısica do segmento e seu tamanho Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 15 / 45
  • 16. Segmenta¸c˜ao – Implementa¸c˜ao Suporte do hardware: M´ultiplos pares base/limite, um por segmento Armazenados na tabela de segmentos O n´umero do segmento ´e usado como ´ındice na tabela H´a um n´umero fixo desses pares Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 16 / 45
  • 17. Segmenta¸c˜ao – Implementa¸c˜ao Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 17 / 45
  • 18. Segmenta¸c˜ao: Problemas Encontrados Embora haja espa¸co na mem´oria, n˜ao h´a espa¸co cont´ıguo: Pol´ıtica de realoca¸c˜ao: um ou mais segmentos s˜ao realocados para abrir espa¸co cont´ınuo Pol´ıtica de compacta¸c˜ao: todos os espa¸cos s˜ao compactados Pol´ıtica de bloqueio: fila de espera Pol´ıtica de troca: substitui¸c˜ao de segmentos N˜ao possui fragmenta¸c˜ao interna, embora sofra de fragmenta¸c˜ao externa Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 18 / 45
  • 19. Segmenta¸c˜ao: Vantagens Facilita prote¸c˜ao dos dados Diferentes segmentos podem possuir diferentes tipos de prote¸c˜ao Facilita compartilhamento de procedimentos e dados entre processos (Ex: bibliotecas compartilhadas) Ex: Suponha que cada rotina ocupe um segmento A rotina inicia no endere¸co (n,0) → (segmento, deslocamento) Se mudamos a rotina em (5,0) e a recompilamos, nada mais tem que ser mudado (n˜ao mudamos nenhum outro segmento) Em um esquema unidimensional, ao aumentarmos uma rotina, podemos mudar o endere¸co inicial da outra (podemos ter que rever todo o c´odigo) Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 19 / 45
  • 20. Segmenta¸c˜ao Paginada Segmentos grandes podem n˜ao caber na mem´oria Devemos pagin´a-los (Ex: pentium) Espa¸co l´ogico ´e formado por segmentos Cada segmento ´e dividido em p´aginas l´ogicas Cada segmento possui uma tabela de p´aginas Usada para mapear o endere¸co de p´agina l´ogica do segmento em endere¸co de p´agina f´ısica No endere¸camento, a tabela de segmentos indica, para cada segmento, onde sua respectiva tabela de p´aginas est´a Semelhante `a pagina¸c˜ao multin´ıvel Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 20 / 45
  • 21. Segmenta¸c˜ao Paginada Ao referenciar um endere¸co de mem´oria: Endere¸co virtual: N´umero do segmento + N´umero da p´agina + Deslocamento Verifica se a p´agina do segmento est´a na mem´oria Bit de residˆencia Sen˜ao estiver → page fault Obt´em, na tabela de segmentos, o endere¸co da tabela de p´aginas para aquele segmento Usa o endere¸co da p´agina virtual como offset nessa tabela Da tabela de p´aginas, obt´em o endere¸co f´ısico da moldura Age como em pagina¸c˜ao Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 21 / 45
  • 22. Segmenta¸c˜ao Paginada Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 22 / 45
  • 23. Segmenta¸c˜ao Paginada Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 23 / 45
  • 24. Entrada e Sa´ıda Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 24 / 45
  • 25. Entrada e Sa´ıda Fun¸c˜oes espec´ıficas do S.O.: Enviar sinais para os dispositivos Atender interrup¸c˜oes Gerenciar comandos aceitos e funcionalidades (servi¸cos prestados) Tratar poss´ıveis erros Prover interface entre os dispositivos e o sistema Geralmente, o c´odigo para tratamento da entrada e sa´ıda representa uma fra¸c˜ao significativa do sistema operacional total Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 25 / 45
  • 26. Entrada e Sa´ıda Classifica¸c˜ao quanto ao Tipo de Transferˆencia Dispositivos de bloco (Block devices): Armazenam informa¸c˜ao em blocos de tamanho fixo, cada um com seu pr´oprio endere¸co Os tamanhos dos blocos variam de 512 B a 32 KB Transferˆencias s˜ao feitas com um ou mais blocos consecutivos Cada bloco ´e lido ou escrito independentemente dos demais Ex: HD, CD-ROM, Bast˜ao USB O sistema de arquivos, por exemplo, trata com dispositivos de bloco abstratos Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 26 / 45
  • 27. Entrada e Sa´ıda Classifica¸c˜ao quanto ao Tipo de Transferˆencia Dispositivos de caractere (Character devices) Enviam ou recebem um fluxo de caracteres, sem considerar qualquer estrutura de bloco N˜ao s˜ao endere¸c´aveis e n˜ao possuem qualquer opera¸c˜ao de posicionamento (“seek operation”) Ex: impressoras, interfaces de rede, mouses Este esquema de classifica¸c˜ao n˜ao ´e perfeito O timer (clock) n˜ao se encaixa em nenhuma categoria dessas Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 27 / 45
  • 28. E/S: Princ´ıpios de Hardware O S.O. sempre trata com a controladora, n˜ao com os dispositivos A Comunica¸c˜ao entre CPU e controladoras ´e feita atrav´es de barramentos comuns (interface de alto n´ıvel) Interface entre controladora e dispositivo: baixo n´ıvel Mainframes: m´ultiplos barramentos e processadores especializados em E/S (canais de E/S). Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 28 / 45
  • 29. Princ´ıpios de Hardware: Controladores Cada controladora possui registradores, usados para comunica¸c˜ao com a CPU Ao escrever nesses registradores, o SO pode comandar o dispositivo Executa E/S escrevendo comandos (e seus parˆametros, se existirem) nesses registradores Quando um comando ´e aceito, a CPU pode deixar que a controladora trabalhe sozinho, indo executar outra tarefa. Quando o dispositivo termina, avisa a CPU atrav´es de uma interrup¸c˜ao. Ao ler desses registradores, o SO pode saber o estado do dispositivo etc Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 29 / 45
  • 30. Princ´ıpios de Hardware: Controladores Muitos dispositivos possuem tamb´em um buffer, que o SO pode ler (ou escrever) Ex: mem´oria de v´ıdeo Como a CPU se comunica com esses registradores e buffers de dados? Necessidade de associa¸c˜ao de endere¸cos a estes dispositivos Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 30 / 45
  • 31. Comunica¸c˜ao CPU – Controladores Existem 2 formas de interpreta¸c˜ao desses endere¸cos pelo m´odulo de E/S quando o barramento ´e compartilhado: Mapeado em mem´oria ou em E/S Ambos implementados pelo hardware Mapeado em Mem´oria: O m´odulo de E/S opera dentro do espa¸co de endere¸camento de mem´oria, usando um conjunto de endere¸cos reservados (registradores s˜ao tratados como posi¸c˜oes de mem´orias) Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 31 / 45
  • 32. Comunica¸c˜ao CPU – Controladores Mapeado em Mem´oria: Mapeia todos os registradores de controle no espa¸co de mem´oria Usa o mesmo barramento para endere¸car mem´oria e dispositivos Cada registrador de controle recebe um endere¸co de mem´oria ´unico Geralmente o topo do espa¸co de endere¸cos Nenhuma mem´oria ´e associada a esses endere¸cos Quando um endere¸co de mem´oria correspondente a um registrador ´e usado, a CPU faz o desvio Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 32 / 45
  • 33. Comunica¸c˜ao CPU – Controladores Mapeado em Mem´oria – Vantagens: N˜ao h´a a necessidade de instru¸c˜oes especiais de E/S A intera¸c˜ao se d´a como se fosse uma posi¸c˜ao de mem´oria comum Para impedir que determinados usu´arios acessem o dispositivo, basta n˜ao mapear as p´aginas em seu espa¸co de endere¸camento virtual Desvantagens: Consome parte do espa¸co de endere¸camento Permitir o uso da cache para os registradores de controle pode ser desastroso O hardware deve poder desabilitar a cache seletivamente (em cada p´agina, por exemplo) Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 33 / 45
  • 34. Comunica¸c˜ao CPU – Controladores Mapeado em E/S ou E/S isolada (I/O Ports): Cada registrador de controle recebe um n´umero de porta de E/S (inteiro de 8 ou 16 bits) Acessada via instru¸c˜oes especiais (Intel), usadas apenas pelo SO IN REG, PORT → leia do registrador de controle PORT e armazene no registrador REG da CPU OUT PORT,REG → caminho inverso de IN Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 34 / 45
  • 35. Comunica¸c˜ao CPU – Controladores Mapeado em E/S: Espa¸cos de endere¸cos diferentes para mem´oria e E/S Existe um espa¸co de endere¸camento independente para os dispositivos de E/S IN RO,4 → lˆe da porta de E/S 4 para RO MOV RO,4 → lˆe do endere¸co 4 da RAM para RO Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 35 / 45
  • 36. Comunica¸c˜ao CPU – Controladores Mapeado em E/S – Vantagens: N˜ao gasta espa¸co de endere¸camento N˜ao sofre com o uso da Cache Desvantagens: Requer instru¸c˜oes especiais para acesso Drivers necessariamente tem que usar algum assembly para acessar as instru¸c˜oes Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 36 / 45
  • 37. Comunica¸c˜ao CPU – Controladores Sistemas h´ıbridos Buffers de dados de E/S mapeados na mem´oria Portas de E/S para os registradores de controle Ex: Pentium Portas de E/S de 0 a 64K-1 Endere¸cos de 640K a 1M-1 reservados aos buffers (experimente ver o gerenciador de recursos (mem´oria) do Windows ou o resultado de free do Linux) Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 37 / 45
  • 38. Comunica¸c˜ao CPU – Funcionamento Quando a CPU quer ler uma palavra (E/S ou RAM): Coloca o endere¸co nas linhas de endere¸co do barramento Emite um sinal READ sobre uma linha de controle do barramento Em uma segunda linha de sinal informa se o espa¸co ´e de E/S ou de mem´oria Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 38 / 45
  • 39. E/S – Princ´ıpios de Software: Objetivos Independˆencia de dispositivo O programador n˜ao deve se preocupar com o tipo de dispositivo (CD, HD etc) Cabe ao SO cuidar das idiossincrasias Nomenclatura uniforme O nome de um dispositivo deve ser um string ou inteiro, independente do dispositivo Tratamento de erro Erros deveriam ser tratados o mais pr´oximo do hardware poss´ıvel, sem que o usu´ario tome conhecimento Ex: repetindo a opera¸c˜ao Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 39 / 45
  • 40. E/S – Princ´ıpios de Software Modos de execu¸c˜ao de E/S: Os dispositivos de E/S podem operar de 3 modos b´asicos: E/S programada E/S via Interrup¸c˜oes E/S via Acesso Direto `a Mem´oria O que distingue as trˆes formas ´e a participa¸c˜ao da CPU e a utiliza¸c˜ao das interrup¸c˜oes Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 40 / 45
  • 41. E/S – Princ´ıpios de Software E/S programada Forma mais simples de E/S → tudo ´e feito pela CPU Os dados s˜ao trocados entre a CPU e o dispositivo A CPU executa um programa que: Verifica o estado do dispositivo de E/S, preparando-o para a opera¸c˜ao Se necess´ario, envia o comando que deve ser executado; aguardando o resultado deste, para ent˜ao efetuar a transferˆencia entre o dispositivo de E/S e algum registrador da CPU Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 41 / 45
  • 42. E/S – Princ´ıpios de Software E/S programada Ex: imprimir “ABCDEFGH” na impressora Monta-se o string em um buffer, no espa¸co do usu´ario O processo ent˜ao det´em a impressora (via chamada de sistema – open) Uma vez obtida a impressora, o processo diz ao SO para imprimir (write – chamada ao sistema) O SO copia o string a um arranjo no espa¸co do kernel Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 42 / 45
  • 43. E/S – Princ´ıpios de Software E/S programada Assim que a impressora ´e liberada, o SO copia o primeiro caractere ao registrador de dados da impressora O primeiro caractere ´e impresso Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 43 / 45
  • 44. E/S – Princ´ıpios de Software E/S programada Assim que a impressora ´e liberada, o SO copia o primeiro caractere ao registrador de dados da impressora O primeiro caractere ´e impresso O SO marca o pr´oximo caractere, verifica novamente se a impressora est´a pronta (via registrador de status) para receber outro Se pronta, o novo caractere ´e enviado Continua at´e imprimir todo o string S´o ent˜ao o controle volta ao processo Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 43 / 45
  • 45. E/S – Princ´ıpios de Software E/S programada Desvantagem: CPU ´e ocupada o tempo todo at´e que a E/S seja feita CPU continuamente verifica se o dispositivo est´a pronto para aceitar outro caractere → espera ocupada (tamb´em chamado de polling) Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 44 / 45
  • 46. E/S – Princ´ıpios de Software E/S programada Desvantagem: CPU ´e ocupada o tempo todo at´e que a E/S seja feita CPU continuamente verifica se o dispositivo est´a pronto para aceitar outro caractere → espera ocupada (tamb´em chamado de polling) Outro exemplo: Leitura de E/S Escrita ´e semelhante Norton Trevisan Roman Aula 17 – Pagina¸c˜ao, Segmenta¸c˜ao e Dispositivos de Entrada e Sa´ıda23 de outubro de 2017 44 / 45